Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
527 commits
Select commit Hold shift + click to select a range
fd92ff5
fix-789
LiWenGu May 21, 2020
2ae26f4
fix-789
LiWenGu May 21, 2020
037b9fd
Merge branch 'master' into JavaGuide-fs
Snailclimb May 23, 2020
ead40ef
Merge pull request #787 from yazhouasu/JavaGuide-fs
Snailclimb May 23, 2020
7c12675
Update Java基础知识.md
Snailclimb May 23, 2020
980d3c0
Merge pull request #790 from LiWenGu/fix/789
Snailclimb May 23, 2020
95d5c0f
Update Java基础知识.md
Snailclimb May 23, 2020
c775fe3
Merge branch 'master' of https://github.com/Snailclimb/JavaGuide
Snailclimb May 23, 2020
781e6e2
update Java集合框架常见面试题,优化目录
yazhouasu May 23, 2020
b9c1a91
[feat]Java基础知识重构
Snailclimb May 24, 2020
4510c86
Update Java基础知识.md
Snailclimb May 24, 2020
795a012
Update Java基础知识.md
Snailclimb May 25, 2020
8a4b4df
Update 应届生面试最爱问的几道Java基础问题.md
Snailclimb May 25, 2020
93bbd8b
Merge pull request #792 from yazhouasu/master
Snailclimb May 25, 2020
ef204d7
update Java集合框架常见面试题.md
yazhouasu May 26, 2020
571f0a2
fix typo: falgs->flags
codeyu May 28, 2020
9219d90
修改错别字
WAYLON May 29, 2020
fafe691
Merge pull request #800 from WAYLON/master
Snailclimb May 30, 2020
5f58071
Merge pull request #797 from codeyu/patch-1
Snailclimb May 30, 2020
edf036f
Merge pull request #795 from yazhouasu/master
Snailclimb May 30, 2020
5a4b23c
Update kafka-inverview.md
Snailclimb May 30, 2020
7826c64
Update 数据结构.md
Snailclimb May 30, 2020
89306ad
Merge branch 'master' of https://github.com/Snailclimb/JavaGuide
Snailclimb May 30, 2020
a7865b2
Update Java内存区域.md
Snailclimb May 30, 2020
27bc345
Update README.md
Snailclimb May 30, 2020
44714b7
update Java集合框架常见面试题.md
yazhouasu Jun 1, 2020
e019e41
Update java.md
Snailclimb Jun 2, 2020
f83fa90
Create java基础篇.md
Snailclimb Jun 2, 2020
eed5131
Update README.md
Snailclimb Jun 2, 2020
5bb4ef3
fix-802
LiWenGu Jun 3, 2020
d3edd36
update Java集合框架常见面试题.md
yazhouasu Jun 4, 2020
ce9dca9
fix-805
LiWenGu Jun 5, 2020
cc425cd
update ArrayList.md
yazhouasu Jun 6, 2020
c36d6e0
Merge remote-tracking branch 'upstream/master'
yazhouasu Jun 6, 2020
4f29939
Merge pull request #806 from LiWenGu/hotfix/805
Snailclimb Jun 6, 2020
4e86196
Merge pull request #804 from LiWenGu/hotfix/802
Snailclimb Jun 6, 2020
5f90c66
Update JVM垃圾回收.md
Snailclimb Jun 6, 2020
d5f5a15
Update GC调优参数.md
Snailclimb Jun 6, 2020
56c9011
Merge branch 'master' of https://github.com/Snailclimb/JavaGuide
Snailclimb Jun 6, 2020
0b7af90
Fix typo
Jun 7, 2020
fbf3b1d
Update README.md
Snailclimb Jun 7, 2020
8c0b3dd
Job Hunt Sponsor
yaonphy Jun 7, 2020
39f9f08
Merge pull request #808 from ima-chenai/master
Snailclimb Jun 8, 2020
1289cb7
Merge pull request #810 from yaonphy/patch-1
Snailclimb Jun 8, 2020
ac90faf
Update README.md
Snailclimb Jun 8, 2020
713414a
Create naming.md
Snailclimb Jun 9, 2020
777868a
Update README.md
Snailclimb Jun 9, 2020
df69035
Create dubbo-naming.png
Snailclimb Jun 9, 2020
a76bc5e
Update README.md
Snailclimb Jun 9, 2020
13140ef
Update naming.md
Snailclimb Jun 11, 2020
13e117a
add 拿来即用的线程池最佳实践
Snailclimb Jun 11, 2020
bb30fb9
add 拿来即用的线程池最佳实践 to readme
Snailclimb Jun 11, 2020
fa804fa
add ConcurrentHashMap
Snailclimb Jun 11, 2020
5b89c0f
add ConcurrentHashMap源码
Snailclimb Jun 11, 2020
02442de
Update README.md
Snailclimb Jun 11, 2020
5971fef
Update ConcurrentHashMap.md
Snailclimb Jun 11, 2020
4bf7bd0
fix814
LiWenGu Jun 11, 2020
00892b0
Merge pull request #816 from LiWenGu/hotfix/814
Snailclimb Jun 12, 2020
1d30b7e
Merge pull request #815 from yazhouasu/master
Snailclimb Jun 15, 2020
90f1744
集合部分面试题重构完善
Snailclimb Jun 15, 2020
e88e289
Update JavaConcurrencyAdvancedCommonInterviewQuestions.md
huangshangi Jun 16, 2020
4ce02b6
Merge pull request #1 from huangshangi/huangshangi-patch-1
huangshangi Jun 16, 2020
d223864
Merge pull request #822 from huangshangi/master
Snailclimb Jun 17, 2020
8fc445c
add Linux性能分析工具合集
Snailclimb Jun 17, 2020
26b618c
add sponsor
Snailclimb Jun 17, 2020
d2d83c1
add 万字图文深度解析ThreadLocal
Snailclimb Jun 17, 2020
cb35126
update 线程池最佳实践-图片地址
Snailclimb Jun 18, 2020
40ffae9
Update README.md
Snailclimb Jun 18, 2020
c78a00d
update jvm部分文章图片地址更换
Snailclimb Jun 19, 2020
136d727
Update README.md
Snailclimb Jun 19, 2020
1c45891
Update Redis.md
Snailclimb Jun 22, 2020
e249487
Update Redis.md
Snailclimb Jun 22, 2020
0ebf7ca
feat:redis 常见问题部分重构
Snailclimb Jun 23, 2020
5a9f2d4
Update Java集合框架常见面试题.md
Snailclimb Jun 28, 2020
0498b16
Update spring-annotations.md
Jun 29, 2020
398405c
Update ArrayList-Grow.md
Jun 29, 2020
db9a0b9
Update 设计模式.md
asdf123123123 Jun 30, 2020
739d9e6
Merge pull request #837 from AethLi/patch-1
Snailclimb Jun 30, 2020
4209e67
Merge pull request #838 from wenchunl/develop
Snailclimb Jun 30, 2020
1215c20
Update 计算机网络.md
Snailclimb Jun 30, 2020
0b6fceb
Update JVM垃圾回收.md
Snailclimb Jun 30, 2020
a9ed8ec
Update jvm 知识点汇总.md
Snailclimb Jun 30, 2020
c3df908
新增 "可作为GC Roots 的对象"
jianxin-yuan Jun 30, 2020
6f96135
Update Redis.md
Snailclimb Jun 30, 2020
959df12
Create 缓存穿透情况.png
Snailclimb Jun 30, 2020
8b204d0
update file name
Snailclimb Jun 30, 2020
fa935f8
update redis
Snailclimb Jul 3, 2020
e0c0abb
fix843
LiWenGu Jul 4, 2020
ff0174c
Update 设计模式.md
asdf123123123 Jul 5, 2020
0ec8f4c
Update README.md
Snailclimb Jul 7, 2020
bb523cd
Merge pull request #841 from jianxin-yuan/master
Snailclimb Jul 7, 2020
637cd48
Merge pull request #844 from LiWenGu/hotfix/843
Snailclimb Jul 7, 2020
5e9fc4f
Merge pull request #846 from asdf123123123/master
Snailclimb Jul 7, 2020
c8b1897
Merge branch 'master' of https://github.com/Snailclimb/JavaGuide
Snailclimb Jul 8, 2020
ced8ec2
Update README.md
Snailclimb Jul 8, 2020
81f84b2
Update README.md
Snailclimb Jul 11, 2020
c320b9c
Update javaguide面试突击版.md
Snailclimb Jul 11, 2020
48848ab
Update README.md
Snailclimb Jul 13, 2020
f94fa11
fix some typo and wrong pictures
kcl69 Jul 16, 2020
6a6bb66
Merge pull request #852 from kcl69/master
Snailclimb Jul 17, 2020
8d29bcd
Update redis-all.md
Snailclimb Jul 17, 2020
01daf6a
Merge branch 'master' of https://github.com/Snailclimb/JavaGuide
Snailclimb Jul 17, 2020
ba2509a
Update synchronized.md
Snailclimb Jul 17, 2020
296a91b
修改错别字"那"->"哪"
jiayaoO3O Jul 20, 2020
7d82316
update 修改错别字"那"->"哪"
jiayaoO3O Jul 20, 2020
daed755
update 更改错误 : [信任] -> [新任务]
jiayaoO3O Jul 21, 2020
ce78662
update 更正错误 : [放满了任时] -> [放满了任务时]
jiayaoO3O Jul 21, 2020
9afc948
Update Java基础知识.md
das-friday-night Jul 22, 2020
25e66b2
Update Java基础知识.md
Snailclimb Jul 23, 2020
69f5a25
update docs/java/jvm/类文件结构.md.
316748000 Jul 24, 2020
f3182f9
Update ArrayList-Grow.md
Snailclimb Jul 25, 2020
2612ad5
Merge pull request #860 from das-friday-night/patch-1
Snailclimb Jul 25, 2020
59a14bf
Merge pull request #857 from jiayaoO3O/master
Snailclimb Jul 25, 2020
a39a404
fix :标记清除算法是首先标记出所有不需要回收的对象,在标记完成后统一回收掉所有没有标记的对象
Snailclimb Jul 25, 2020
71c42fd
add MySQL 字符集不一致导致索引失效的一个真实案例
Snailclimb Jul 25, 2020
08fc297
Update README.md
Snailclimb Jul 26, 2020
89175a5
[refractor] redis数据结构部分内容重构完善
Snailclimb Jul 27, 2020
3d14dd8
[refractor] redis 线程模型相关内容重构
Snailclimb Jul 27, 2020
5052833
[refractor]redis部分格式
Snailclimb Jul 27, 2020
449dda4
[refractor]完善redis事务+内存淘汰机制+缓存清除策略+持久化方式
Snailclimb Jul 28, 2020
5d23993
Create 测试
Creazybird Jul 31, 2020
3c2d4ab
[refractor] update threadlocal
Snailclimb Jul 31, 2020
7a72cbc
[feat] Improve content description of try-with-resources
Snailclimb Jul 31, 2020
3d5f646
Merge pull request #879 from Creazybird/master
Snailclimb Jul 31, 2020
4f4abd1
Delete 测试
Snailclimb Jul 31, 2020
d5db1c4
[update] add sponsor of lagou
Snailclimb Jul 31, 2020
31c8966
[fix]描述错误
Snailclimb Jul 31, 2020
55055dd
Update 类加载器.md
Snailclimb Jul 31, 2020
4a6b8a9
Merge branch 'master' of https://github.com/Snailclimb/JavaGuide
Snailclimb Jul 31, 2020
d9442a3
[refractor]图片资源迁移
Snailclimb Aug 2, 2020
bedc594
[refractor]图片资源迁移
Snailclimb Aug 2, 2020
ccfba54
[reafractor]图片路径更改
Snailclimb Aug 2, 2020
b4552a6
[refractor]图片迁移
Snailclimb Aug 2, 2020
ce53c55
[refractor]缓存常见问题更新完善
Snailclimb Aug 3, 2020
98ad661
Update README.md
Snailclimb Aug 4, 2020
7fd6ced
[refractor]zookeeper部分文章重构完善
Snailclimb Aug 5, 2020
07ade04
[reafractor]zookeeper
Snailclimb Aug 5, 2020
70ddb89
typo
Snailclimb Aug 6, 2020
5796987
typo
Snailclimb Aug 6, 2020
6a868df
[refractor]重构Linux部分内容
Snailclimb Aug 6, 2020
00a20ca
[fix]Linux
Snailclimb Aug 7, 2020
2d8a7e6
[refractor]Linux
Snailclimb Aug 7, 2020
db0cf33
[refractor]Linux
Snailclimb Aug 7, 2020
aca3a33
update sponsor
Snailclimb Aug 8, 2020
f82d82b
Update redis-all.md
das-friday-night Aug 8, 2020
f9b75ee
fix884
LiWenGu Aug 10, 2020
de6647c
[feat]代理模式详解:静态代理+JDK/CGLIB 动态代理实战(动态代理和静态代理的区别?JDK动态代理 和 CGLIB 动态代理的…
Snailclimb Aug 10, 2020
d0787eb
Update bloom-filter.md
das-friday-night Aug 10, 2020
2c83a5d
Update reflection.md
BigOldWei Aug 11, 2020
4c3a464
update reamde
Snailclimb Aug 12, 2020
762bfb1
Update Docker-Image.md
ipofss Aug 13, 2020
e5a9c85
Merge pull request #893 from ipofss/patch-1
Snailclimb Aug 14, 2020
cf0527f
Merge pull request #887 from das-friday-night/patch-1
Snailclimb Aug 14, 2020
9aa090d
Merge pull request #888 from LiWenGu/hotfix/884
Snailclimb Aug 14, 2020
09fb0f5
Merge pull request #889 from das-friday-night/patch-2
Snailclimb Aug 14, 2020
c254fce
Merge pull request #890 from suang921/master
Snailclimb Aug 14, 2020
218d095
jdk动态代理实际使用中,new DebugProxy()代码有误
erisonlan Aug 15, 2020
857a481
Merge pull request #1 from erisonlan/patch-1
erisonlan Aug 15, 2020
1bc03eb
update sponsor
Snailclimb Aug 16, 2020
6fa6fa9
update sponsor
Snailclimb Aug 16, 2020
8d37f68
update sponsor
Snailclimb Aug 16, 2020
9bccc9b
Update SpringInterviewQuestions.md
ipofss Aug 17, 2020
63664e6
update sponsor
Snailclimb Aug 17, 2020
2a85d5d
Update spring-annotations.md
ipofss Aug 18, 2020
5894d85
Update spring-transaction.md
ipofss Aug 18, 2020
43ea452
Update SpringBean.md
ipofss Aug 19, 2020
1a22450
Update SpringMVC-Principle.md
ipofss Aug 19, 2020
afb18e2
修改jvmParallel Scavenge垃圾收集器
nitric0x1de Aug 19, 2020
ca56fae
Update Spring-Design-Patterns.md
ipofss Aug 19, 2020
3949fc2
去掉多余的s
Aug 20, 2020
e584e3b
Merge pull request #894 from erisonlan/master
Snailclimb Aug 23, 2020
fad21fb
Merge pull request #896 from ipofss/patch-1
Snailclimb Aug 23, 2020
0793a97
Merge pull request #898 from ipofss/patch-2
Snailclimb Aug 23, 2020
b172a80
Merge pull request #899 from ipofss/patch-3
Snailclimb Aug 23, 2020
4b5598f
Merge pull request #902 from ipofss/patch-4
Snailclimb Aug 23, 2020
5054193
Merge pull request #903 from ipofss/patch-5
Snailclimb Aug 23, 2020
bec5d44
Merge pull request #904 from GGMyfriends/yyhd-branch
Snailclimb Aug 23, 2020
fbbf4f5
Merge pull request #905 from ipofss/patch-6
Snailclimb Aug 23, 2020
c816a76
Merge pull request #906 from QinKai176/master
Snailclimb Aug 23, 2020
47e92f9
[fix]typo
Snailclimb Aug 23, 2020
df3cbb6
[refractor]redis内存淘汰机制
Snailclimb Aug 23, 2020
7331933
[fix]枚举那篇文章的EnumMap的groupPizzaByStatus方法有问题
Snailclimb Aug 23, 2020
b82a0a8
[fix]主要进行gc的区域
Snailclimb Aug 23, 2020
86f429d
[fix]pic url
Snailclimb Aug 23, 2020
9d78021
update remade
Snailclimb Aug 23, 2020
2693d45
update docs/essential-content-for-interview/面试必备之乐观锁与悲观锁.md.
kuainaiyang Aug 25, 2020
e1a91b7
fix typo "Head first java" to "Head First Java"
wenpeng Aug 26, 2020
9bb87f8
fix typo "equals()" to "equals()"
wenpeng Aug 26, 2020
5f37392
add netty 常见面试题
Snailclimb Aug 26, 2020
7a8f9b1
update zookeeper
Snailclimb Aug 26, 2020
cdd59d0
fix zookeeper intro url erro
Snailclimb Aug 26, 2020
20ad522
LRU全称勘误
veast Aug 26, 2020
f88c36a
提交文章:开源项目源码阅读指南
Aug 28, 2020
0f0492e
增加:Linux IO模型并添加Netty部分内容
guang19 Aug 28, 2020
263b338
修改:部分文件名
guang19 Aug 28, 2020
3462ff1
修改:README文件格式
guang19 Aug 28, 2020
7bbf2c1
修改:部分文件排版
guang19 Aug 28, 2020
b54fb43
修改:部分文件排版
guang19 Aug 28, 2020
e5fc732
Merge pull request #910 from wenpeng/master
Snailclimb Sep 1, 2020
9daac81
Merge pull request #912 from veast/patch-1
Snailclimb Sep 1, 2020
14fe89c
Merge pull request #913 from weiwei91/master
Snailclimb Sep 1, 2020
34f83aa
Merge pull request #915 from guang19/dev
Snailclimb Sep 1, 2020
ce5869d
remove netty
Snailclimb Sep 1, 2020
5e1e11c
update linux io
Snailclimb Sep 1, 2020
20ad29a
typo
Snailclimb Sep 1, 2020
6f6748f
typo
Snailclimb Sep 1, 2020
4282aa7
update zookeeper pic address
Snailclimb Sep 1, 2020
229e342
Update zookeeper-plus.md
long9418 Sep 2, 2020
3d71d84
!5 update docs/essential-content-for-interview/面试必备之乐观锁与悲观锁.md.
Snailclimb Sep 3, 2020
36f1f50
!4 update docs/java/jvm/类文件结构.md.
Snailclimb Sep 3, 2020
ff084f1
remove redis collection
Snailclimb Sep 3, 2020
a8c82c8
Merge https://gitee.com/SnailClimb/JavaGuide
Snailclimb Sep 3, 2020
a0f1b7a
Update MySQL.md
saowu Sep 7, 2020
2fa3a03
add sponsor
Snailclimb Sep 7, 2020
8f89e16
Merge pull request #918 from long9418/patch-1
Snailclimb Sep 8, 2020
bef933a
Merge pull request #921 from saowu/master
Snailclimb Sep 8, 2020
75edce9
add 面试专版
Snailclimb Sep 8, 2020
bee3887
refractor
Snailclimb Sep 9, 2020
f54664f
Merge https://gitee.com/SnailClimb/JavaGuide
Snailclimb Sep 9, 2020
aa66af5
Fixed typo
realDuYuanChao Sep 9, 2020
ce2cfb2
update 多线程部分内容
Snailclimb Sep 9, 2020
814bda6
Merge pull request #924 from shellhub/dev
Snailclimb Sep 9, 2020
4b93fb1
* Fixed typo
realDuYuanChao Sep 9, 2020
a3baf53
format code
realDuYuanChao Sep 9, 2020
597240d
Fixed link
realDuYuanChao Sep 10, 2020
03e82e0
Fixed typo and error ref links
realDuYuanChao Sep 10, 2020
2271611
fix: 删除多余文字
juzi214032 Sep 10, 2020
b4d376f
fix: 修正错别字
juzi214032 Sep 11, 2020
38d2303
style: 数字添加空格
juzi214032 Sep 11, 2020
89769aa
fix: 添加缺少的文字
juzi214032 Sep 11, 2020
3d0a185
update readme
Snailclimb Sep 11, 2020
65e5a42
fix: 修正错误词语
juzi214032 Sep 12, 2020
e37ef49
fix: 修正事务一致性的描述
juzi214032 Sep 12, 2020
610ecfe
update readme
Snailclimb Sep 12, 2020
cb371cf
Merge pull request #926 from juzi214032/patch-1
Snailclimb Sep 13, 2020
f46a8e0
Merge pull request #927 from juzi214032/patch-2
Snailclimb Sep 13, 2020
9012d3c
Merge pull request #929 from juzi214032/patch-4
Snailclimb Sep 13, 2020
52a63a3
Merge branch 'master' into patch-3
Snailclimb Sep 13, 2020
5e65978
Merge pull request #928 from juzi214032/patch-3
Snailclimb Sep 13, 2020
ae3c3f4
Merge pull request #930 from juzi214032/patch-5
Snailclimb Sep 13, 2020
82d037d
Merge pull request #931 from juzi214032/patch-6
Snailclimb Sep 13, 2020
2b24867
Merge pull request #925 from shellhub/dev
Snailclimb Sep 13, 2020
06c16f6
fix: 修正错别字
juzi214032 Sep 13, 2020
73b57e2
fix: 修正错别字
juzi214032 Sep 13, 2020
2e35894
Merge pull request #933 from juzi214032/patch-7
Snailclimb Sep 17, 2020
909ef8f
Merge pull request #934 from juzi214032/patch-8
Snailclimb Sep 17, 2020
505752c
update messsage queue
Snailclimb Sep 18, 2020
3f8bdc0
update sponsor pic addr
Snailclimb Sep 21, 2020
7893c11
update sponsor pic url
Snailclimb Sep 21, 2020
4ba226c
update readme
Snailclimb Sep 23, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
201 changes: 201 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Loading