Skip to content

Commit 50a6817

Browse files
committed
Update Java Notes
1 parent 048a5a1 commit 50a6817

File tree

4 files changed

+575
-556
lines changed

4 files changed

+575
-556
lines changed

DB.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8507,10 +8507,10 @@ Redis 基于 Reactor 模式开发了网络事件处理器,这个处理器被
85078507

85088508
* 当被监听的套接字准备好执行连接应答 (accept)、读取 (read)、写入 (write)、关闭 (close) 等操作时,与操作相对应的文件事件就会产生,这时文件事件处理器会调用套接字之前关联好的事件处理器来处理事件
85098509

8510-
Redis 单线程也能高效的原因:
8510+
**Redis 单线程也能高效的原因**
85118511

85128512
* 纯内存操作
8513-
* 核心是基于非阻塞的 IO 多路复用机制
8513+
* 核心是基于非阻塞的 IO 多路复用机制,单线程可以高效处理多个请求
85148514
* 底层使用 C 语言实现,C 语言实现的程序距离操作系统更近,执行速度相对会更快
85158515
* 单线程同时也**避免了多线程的上下文频繁切换问题**,预防了多线程可能产生的竞争问题
85168516

Java.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9415,23 +9415,23 @@ public class Dom4JDemo {
94159415

94169416
Dom4J 可以用于解析整个 XML 的数据,但是如果要检索 XML 中的某些信息,建议使用 XPath
94179417

9418-
XPath常用API
9418+
XPath 常用API
94199419

94209420
* List<Node> selectNodes(String var1) : 检索出一批节点集合
94219421
* Node selectSingleNode(String var1) : 检索出一个节点返回
94229422

9423-
XPath提供的四种检索数据的写法
9423+
XPath 提供的四种检索数据的写法
94249424

9425-
1. 绝对路径:/根元素/子元素/子元素
9426-
2. 相对路径:./子元素/子元素 (.代表了当前元素)
9425+
1. 绝对路径:/根元素/子元素/子元素
9426+
2. 相对路径:./子元素/子元素 (.代表了当前元素)
94279427
3. 全文搜索:
9428-
* //元素 在全文找这个元素
9429-
* //元素1/元素2 在全文找元素1下面的一级元素2
9430-
* //元素1//元素2 在全文找元素1下面的全部元素2
9431-
4. 属性查找
9432-
* //@属性名称 在全文检索属性对象
9433-
* //元素[@属性名称] 在全文检索包含该属性的元素对象
9434-
* //元素[@属性名称=值] 在全文检索包含该属性的元素且属性值为该值的元素对象
9428+
* //元素在全文找这个元素
9429+
* //元素1/元素2:在全文找元素1下面的一级元素 2
9430+
* //元素1//元素2:在全文找元素1下面的全部元素 2
9431+
4. 属性查找
9432+
* //@属性名称在全文检索属性对象
9433+
* //元素[@属性名称]在全文检索包含该属性的元素对象
9434+
* //元素[@属性名称=值]在全文检索包含该属性的元素且属性值为该值的元素对象
94359435

94369436
```java
94379437
public class XPathDemo {
@@ -11360,7 +11360,7 @@ public Object pop() {
1136011360
unused(25+1) + hash(31) + age(4) + lock(3) = 64bit #64位系统
1136111361
```
1136211362

11363-
* **Klass Word**:类型指针,指向该对象的类对象的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例;在 64 位系统中,开启指针压缩(-XX:+UseCompressedOops)或者 JVM 堆的最大值小于 32G,这个指针也是 4byte,否则是 8byte(就是 **Java 中的一个引用的大小**)
11363+
* **Klass Word**:类型指针,**指向该对象的 Class 类对象的指针**,虚拟机通过这个指针来确定这个对象是哪个类的实例;在 64 位系统中,开启指针压缩(-XX:+UseCompressedOops)或者 JVM 堆的最大值小于 32G,这个指针也是 4byte,否则是 8byte(就是 **Java 中的一个引用的大小**)
1136411364

1136511365
```ruby
1136611366
|-----------------------------------------------------|
@@ -18829,7 +18829,7 @@ CGLIB 是一个功能强大,高性能的代码生成包,为没有实现接
1882918829

1883018830
public TrainStation getProxyObject() {
1883118831
//创建Enhancer对象,类似于JDK动态代理的Proxy类,下一步就是设置几个参数
18832-
Enhancer enhancer =new Enhancer();
18832+
Enhancer enhancer = new Enhancer();
1883318833
//设置父类的字节码对象
1883418834
enhancer.setSuperclass(target.getClass());
1883518835
//设置回调函数

0 commit comments

Comments
 (0)