From 9f89840ab336b448e077f2b7cef671012a4fccd3 Mon Sep 17 00:00:00 2001 From: ZhiQiang Jiang <34731641+JerryQiang@users.noreply.github.com> Date: Mon, 11 May 2020 21:23:53 +0800 Subject: [PATCH 1/5] =?UTF-8?q?Update=20Java=E5=9F=BA=E7=A1=80=E7=9F=A5?= =?UTF-8?q?=E8=AF=86.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关键词,机器码而不是机械码 --- docs/java/Java基础知识.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/java/Java基础知识.md b/docs/java/Java基础知识.md index af0d2c9c..d67e4edd 100644 --- a/docs/java/Java基础知识.md +++ b/docs/java/Java基础知识.md @@ -68,9 +68,9 @@ 参见 issue : [面向过程 :面向过程性能比面向对象高??](https://github.com/Snailclimb/JavaGuide/issues/431) -> 这个并不是根本原因,面向过程也需要分配内存,计算内存偏移量,Java 性能差的主要原因并不是因为它是面向对象语言,而是 Java 是半编译语言,最终的执行代码并不是可以直接被 CPU 执行的二进制机械码。 +> 这个并不是根本原因,面向过程也需要分配内存,计算内存偏移量,Java 性能差的主要原因并不是因为它是面向对象语言,而是 Java 是半编译语言,最终的执行代码并不是可以直接被 CPU 执行的二进制机器码。 > -> 而面向过程语言大多都是直接编译成机械码在电脑上执行,并且其它一些面向过程的脚本语言性能也并不一定比 Java 好。 +> 而面向过程语言大多都是直接编译成机器码在电脑上执行,并且其它一些面向过程的脚本语言性能也并不一定比 Java 好。 ## 2. Java 语言有哪些特点? From a9393ee03051fa9386dbf55edbfbf3079d1bdb5f Mon Sep 17 00:00:00 2001 From: ZhiQiang Jiang <34731641+JerryQiang@users.noreply.github.com> Date: Wed, 13 May 2020 17:27:08 +0800 Subject: [PATCH 2/5] Update java-learning-path-and-methods.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原链接失效了,根据内容描述,推测出新链接 替换原链接 --- docs/questions/java-learning-path-and-methods.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/questions/java-learning-path-and-methods.md b/docs/questions/java-learning-path-and-methods.md index b41c1f98..87f7f19b 100644 --- a/docs/questions/java-learning-path-and-methods.md +++ b/docs/questions/java-learning-path-and-methods.md @@ -2,7 +2,7 @@ **下面的学习路线以及方法是笔主根据个人学习经历总结改进后得出,我相信照着这条学习路线来你的学习效率会非常高。** -学习某个知识点的过程中如果不知道看什么书的话,可以查看这篇文章 :[Java 学习必备书籍推荐终极版!](https://github.com/Snailclimb/JavaGuide/blob/master/docs/data/java-recommended-books.md)。 +学习某个知识点的过程中如果不知道看什么书的话,可以查看这篇文章 :[Java 学习必备书籍推荐终极版!](https://github.com/Snailclimb/JavaGuide/blob/master/docs/books/java.md)。 另外,很重要的一点:**建议使用 Intellij IDEA 进行编码,可以单独抽点时间学习 Intellij IDEA 的使用。** From 767e712351cc9d184c4fe648742a1f43194cd4f3 Mon Sep 17 00:00:00 2001 From: "shuang.kou" Date: Sat, 16 May 2020 15:31:26 +0800 Subject: [PATCH 3/5] Update JavaConcurrencyAdvancedCommonInterviewQuestions.md --- .../JavaConcurrencyAdvancedCommonInterviewQuestions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/java/Multithread/JavaConcurrencyAdvancedCommonInterviewQuestions.md b/docs/java/Multithread/JavaConcurrencyAdvancedCommonInterviewQuestions.md index 7a692cf1..82b87c14 100644 --- a/docs/java/Multithread/JavaConcurrencyAdvancedCommonInterviewQuestions.md +++ b/docs/java/Multithread/JavaConcurrencyAdvancedCommonInterviewQuestions.md @@ -73,7 +73,7 @@ public class Singleton { private Singleton() { } - public static Singleton getUniqueInstance() { + public synchronized static Singleton getUniqueInstance() { //先判断对象是否已经实例过,没有实例化过才进入加锁代码 if (uniqueInstance == null) { //类对象加锁 From e44f9a4f70db33574a541604504820a299914c92 Mon Sep 17 00:00:00 2001 From: "shuang.kou" Date: Sat, 16 May 2020 15:35:22 +0800 Subject: [PATCH 4/5] =?UTF-8?q?Update=20Java=E5=9F=BA=E7=A1=80=E7=9F=A5?= =?UTF-8?q?=E8=AF=86.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/Java基础知识.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/java/Java基础知识.md b/docs/java/Java基础知识.md index d67e4edd..aa67ef9c 100644 --- a/docs/java/Java基础知识.md +++ b/docs/java/Java基础知识.md @@ -312,7 +312,7 @@ Java 程序在执行子类的构造方法之前,如果没有用 `super()`来 ## 18. 成员变量与局部变量的区别有哪些? 1. 从语法形式上看:成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是,成员变量和局部变量都能被 final 所修饰。 -2. 从变量在内存中的存储方式来看:如果成员变量是使用`static`修饰的,那么这个成员变量是属于类的,如果没有使用`static`修饰,这个成员变量是属于实例的。而对象存在于堆内存,局部变量则存在于栈内存。 +2. 从变量在内存中的存储方式来看:如果成员变量是使用`static`修饰的,那么这个成员变量是属于类的,如果没有使用`static`修饰,这个成员变量是属于实例的。对象存于堆内存,如果局部变量类型为基本数据类型,那么存储在栈内存,如果为引用数据类型,那存放的是指向堆内存对象的引用或者是指向常量池中的地址。 3. 从变量在内存中的生存时间上看:成员变量是对象的一部分,它随着对象的创建而存在,而局部变量随着方法的调用而自动消失。 4. 成员变量如果没有被赋初值:则会自动以类型的默认值而赋值(一种情况例外:被 final 修饰的成员变量也必须显式地赋值),而局部变量则不会自动赋值。 From f23b71ec1053b4e99327c61b9ee9042a0c9bc2ae Mon Sep 17 00:00:00 2001 From: dongfu <995253883@qq.com> Date: Sun, 17 May 2020 09:29:53 +0800 Subject: [PATCH 5/5] fix a bug: compareTo implement. --- docs/java/collection/Java集合框架常见面试题.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/java/collection/Java集合框架常见面试题.md b/docs/java/collection/Java集合框架常见面试题.md index c664ca8f..42bcf056 100644 --- a/docs/java/collection/Java集合框架常见面试题.md +++ b/docs/java/collection/Java集合框架常见面试题.md @@ -384,10 +384,11 @@ public class Person implements Comparable { // TODO Auto-generated method stub if (this.age > o.getAge()) { return 1; - } else if (this.age < o.getAge()) { + } + if (this.age < o.getAge()) { return -1; } - return age; + return 0; } }