Skip to content

Commit 99165f1

Browse files
committed
docs(java basic): Update position of java basic tutorial
1 parent fc3f1c3 commit 99165f1

2 files changed

Lines changed: 93 additions & 92 deletions

File tree

java/basic/java-basic.md

Lines changed: 4 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -1402,7 +1402,7 @@ Java 注解是附加在代码中的一些元信息,用于一些工具在编译
14021402

14031403
[注解 Annotation 实现原理与自定义注解例子](https://www.cnblogs.com/acm-bingzi/p/javaAnnotation.html)
14041404

1405-
# 十一特性
1405+
# 十一、特性
14061406

14071407
## Java 各版本的新特性
14081408

@@ -1432,6 +1432,9 @@ Java 注解是附加在代码中的一些元信息,用于一些工具在编译
14321432
- [Difference between Java 1.8 and Java 1.7?](http://www.selfgrowth.com/articles/difference-between-java-18-and-java-17)
14331433
- [Java 8 特性](http://www.importnew.com/19345.html)
14341434

1435+
# 十二、JDBC操作数据库
1436+
1437+
# 其他
14351438
## Java 与 C++ 的区别
14361439

14371440
- Java 是纯粹的面向对象语言,所有的对象都继承自 java.lang.Object,C++ 为了兼容 C 即支持面向对象也支持面向过程。
@@ -1457,97 +1460,6 @@ Java 注解是附加在代码中的一些元信息,用于一些工具在编译
14571460
- 参考 https://github.com/CyC2018/CS-Notes 并加以扩展
14581461

14591462

1460-
1461-
1462-
### JVM
1463-
* JVM初始分配的堆内存由-Xms指定,默认是物理内存的1/64;JVM的最大分配的堆内存由-Xmx指定,默认是物理内存的1/4.默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx最大限制;空余堆内存大于70%时,JVM就会减少堆直到-Xms的最小限制。因此,服务器端一般设置-Xms、-Xmx相等以避免在每次GC后调整堆的大小。
1464-
1465-
### JConsole
1466-
* Java 5开始引入JConsole
1467-
1468-
### 深入拆解Java虚拟机
1469-
* 可以使用-XX:+HeapDumpOnOutOfMemoryError参数来让虚拟机出现OOM的时候自动生成dump文件
1470-
* ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是,jvm启动的时候,并不会一次性加载所有的class文件,而是根据需要去动态加载。
1471-
* Java 虚拟机是如何判定两个 Java 类是相同的。Java 虚拟机不仅要看类的全名是否相同,还要看加载此类的类加载器是否一样。只有两者都相同的情况,才认为两个类是相同的。即便是同样的字节代码,被不同的类加载器加载之后所得到的类,也是不同的。
1472-
* ClassLoader
1473-
* BootStrap ClassLoader:称为启动类加载器,是Java类加载层次中最顶层的类加载器,负责加载JDK中的核心类库,如:rt.jar、resources.jar、charsets.jar等
1474-
* Extension ClassLoader:称为扩展类加载器,负责加载Java的扩展类库,默认加载JAVA_HOME/jre/lib/ext/目下的所有jar。
1475-
* App ClassLoader:称为系统类加载器,负责加载应用程序classpath目录下的所有jar和class文件。
1476-
* 除了Java默认提供的三个ClassLoader之外,用户还可以根据需要定义自已的ClassLoader,而这些自定义的ClassLoader都必须继承自java.lang.ClassLoader类,也包括Java提供的另外二个ClassLoader(Extension ClassLoader和App ClassLoader)在内,但是Bootstrap ClassLoader不继承自ClassLoader,因为它不是一个普通的Java类,底层由C++编写,已嵌入到了JVM内核当中,当JVM启动后,Bootstrap ClassLoader也随着启动,负责加载完核心类库后,并构造Extension ClassLoader和App ClassLoader类加载器。
1477-
1478-
# *JDK*
1479-
### JDK中自带的工具
1480-
#### `version 1.8`
1481-
1482-
#### Create and Build Applications
1483-
* appletviewer
1484-
* extcheck
1485-
* jar
1486-
* java
1487-
* javac
1488-
* javadoc
1489-
* javah
1490-
* javap
1491-
* jdb
1492-
* jdeps
1493-
1494-
#### Security
1495-
* keytool
1496-
* jarsigner
1497-
* policytool
1498-
1499-
#### Internationalization
1500-
* native2ascli
1501-
1502-
#### Remote Method Invocation(RMI)
1503-
* rmic
1504-
* rmiregistry
1505-
* rmid
1506-
* serialver
1507-
1508-
#### Java IDL and RMI-IIOP
1509-
* tnameserv
1510-
* idlj
1511-
* orbd
1512-
* servertool
1513-
1514-
#### Deploy Applications and Applets
1515-
* pack200
1516-
* unpack200
1517-
* javapackager
1518-
* javafxpackager
1519-
1520-
#### Java Web Start
1521-
* javaws
1522-
1523-
#### Monitor Java Applications
1524-
* jconsole
1525-
* jvisualvm
1526-
1527-
#### Monitor the JVM
1528-
* jps
1529-
* jstat
1530-
* jstatd
1531-
* jmc
1532-
1533-
#### Web Services
1534-
* schemagen
1535-
* wsgen
1536-
* wsimport
1537-
* xjc
1538-
1539-
#### Troubleshooting
1540-
* jcmd
1541-
* jinfo
1542-
* jhat
1543-
* jmap
1544-
* jsadebugd
1545-
* jstack
1546-
1547-
#### Scripting
1548-
* jrunscript
1549-
* jjs
1550-
15511463
# *JavaEE*
15521464
## `基础语法`
15531465
### 类

java/jvm/深入理解Java虚拟机.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,94 @@
2222
## Java内存模型与线程
2323
## 线程安全与锁优化
2424

25+
### JVM
26+
* JVM初始分配的堆内存由-Xms指定,默认是物理内存的1/64;JVM的最大分配的堆内存由-Xmx指定,默认是物理内存的1/4.默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx最大限制;空余堆内存大于70%时,JVM就会减少堆直到-Xms的最小限制。因此,服务器端一般设置-Xms、-Xmx相等以避免在每次GC后调整堆的大小。
27+
28+
### JConsole
29+
* Java 5开始引入JConsole
30+
31+
### 深入拆解Java虚拟机
32+
* 可以使用-XX:+HeapDumpOnOutOfMemoryError参数来让虚拟机出现OOM的时候自动生成dump文件
33+
* ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是,jvm启动的时候,并不会一次性加载所有的class文件,而是根据需要去动态加载。
34+
* Java 虚拟机是如何判定两个 Java 类是相同的。Java 虚拟机不仅要看类的全名是否相同,还要看加载此类的类加载器是否一样。只有两者都相同的情况,才认为两个类是相同的。即便是同样的字节代码,被不同的类加载器加载之后所得到的类,也是不同的。
35+
* ClassLoader
36+
* BootStrap ClassLoader:称为启动类加载器,是Java类加载层次中最顶层的类加载器,负责加载JDK中的核心类库,如:rt.jar、resources.jar、charsets.jar等
37+
* Extension ClassLoader:称为扩展类加载器,负责加载Java的扩展类库,默认加载JAVA_HOME/jre/lib/ext/目下的所有jar。
38+
* App ClassLoader:称为系统类加载器,负责加载应用程序classpath目录下的所有jar和class文件。
39+
* 除了Java默认提供的三个ClassLoader之外,用户还可以根据需要定义自已的ClassLoader,而这些自定义的ClassLoader都必须继承自java.lang.ClassLoader类,也包括Java提供的另外二个ClassLoader(Extension ClassLoader和App ClassLoader)在内,但是Bootstrap ClassLoader不继承自ClassLoader,因为它不是一个普通的Java类,底层由C++编写,已嵌入到了JVM内核当中,当JVM启动后,Bootstrap ClassLoader也随着启动,负责加载完核心类库后,并构造Extension ClassLoader和App ClassLoader类加载器。
40+
41+
# *JDK*
42+
### JDK中自带的工具
43+
#### `version 1.8`
44+
45+
#### Create and Build Applications
46+
* appletviewer
47+
* extcheck
48+
* jar
49+
* java
50+
* javac
51+
* javadoc
52+
* javah
53+
* javap
54+
* jdb
55+
* jdeps
56+
57+
#### Security
58+
* keytool
59+
* jarsigner
60+
* policytool
61+
62+
#### Internationalization
63+
* native2ascli
64+
65+
#### Remote Method Invocation(RMI)
66+
* rmic
67+
* rmiregistry
68+
* rmid
69+
* serialver
70+
71+
#### Java IDL and RMI-IIOP
72+
* tnameserv
73+
* idlj
74+
* orbd
75+
* servertool
76+
77+
#### Deploy Applications and Applets
78+
* pack200
79+
* unpack200
80+
* javapackager
81+
* javafxpackager
82+
83+
#### Java Web Start
84+
* javaws
85+
86+
#### Monitor Java Applications
87+
* jconsole
88+
* jvisualvm
89+
90+
#### Monitor the JVM
91+
* jps
92+
* jstat
93+
* jstatd
94+
* jmc
95+
96+
#### Web Services
97+
* schemagen
98+
* wsgen
99+
* wsimport
100+
* xjc
101+
102+
#### Troubleshooting
103+
* jcmd
104+
* jinfo
105+
* jhat
106+
* jmap
107+
* jsadebugd
108+
* jstack
109+
110+
#### Scripting
111+
* jrunscript
112+
* jjs
113+
25114
# FAO
26115
1. 函数式编程的一个重要优点就是这样的程序天然地适合并行运行,why?

0 commit comments

Comments
 (0)