diff --git a/docs/java/basis/images/image-20211213102222601.png b/docs/java/basis/images/image-20211213102222601.png index 4c13586c..2c70eab8 100644 Binary files a/docs/java/basis/images/image-20211213102222601.png and b/docs/java/basis/images/image-20211213102222601.png differ diff --git a/docs/java/basis/images/java-se-specifications.png b/docs/java/basis/images/java-se-specifications.png new file mode 100644 index 00000000..63a5755c Binary files /dev/null and b/docs/java/basis/images/java-se-specifications.png differ diff --git a/docs/java/basis/images/java-value-passing-01.png b/docs/java/basis/images/java-value-passing-01.png index 0934597c..f871d26e 100644 Binary files a/docs/java/basis/images/java-value-passing-01.png and b/docs/java/basis/images/java-value-passing-01.png differ diff --git a/docs/java/basis/images/java-value-passing-02.png b/docs/java/basis/images/java-value-passing-02.png index 45df5bd0..556bcc1c 100644 Binary files a/docs/java/basis/images/java-value-passing-02.png and b/docs/java/basis/images/java-value-passing-02.png differ diff --git a/docs/java/basis/images/java-value-passing-03.png b/docs/java/basis/images/java-value-passing-03.png index b3117512..b002a57d 100644 Binary files a/docs/java/basis/images/java-value-passing-03.png and b/docs/java/basis/images/java-value-passing-03.png differ diff --git a/docs/java/basis/images/java程序转变为机器代码的过程.png b/docs/java/basis/images/java程序转变为机器代码的过程.png index e3c7e8b2..fc750c3f 100644 Binary files a/docs/java/basis/images/java程序转变为机器代码的过程.png and b/docs/java/basis/images/java程序转变为机器代码的过程.png differ diff --git a/docs/java/basis/images/shallow&deep-copy.png b/docs/java/basis/images/shallow&deep-copy.png index 7b3440c5..48391144 100644 Binary files a/docs/java/basis/images/shallow&deep-copy.png and b/docs/java/basis/images/shallow&deep-copy.png differ diff --git a/docs/java/basis/images/types-of-exceptions-in-java.png b/docs/java/basis/images/types-of-exceptions-in-java.png index a2cf80da..4a07d44c 100644 Binary files a/docs/java/basis/images/types-of-exceptions-in-java.png and b/docs/java/basis/images/types-of-exceptions-in-java.png differ diff --git a/docs/java/basis/images/unchecked-exception.png b/docs/java/basis/images/unchecked-exception.png index 6fb87f7b..7c95b04a 100644 Binary files a/docs/java/basis/images/unchecked-exception.png and b/docs/java/basis/images/unchecked-exception.png differ diff --git a/docs/java/basis/images/编译型语言和解释型语言.png b/docs/java/basis/images/编译型语言和解释型语言.png index 077bf030..950a56c2 100644 Binary files a/docs/java/basis/images/编译型语言和解释型语言.png and b/docs/java/basis/images/编译型语言和解释型语言.png differ diff --git a/docs/java/basis/java-basic-questions-01.md b/docs/java/basis/java-basic-questions-01.md index 8b43739b..a5f46006 100644 --- a/docs/java/basis/java-basic-questions-01.md +++ b/docs/java/basis/java-basic-questions-01.md @@ -34,7 +34,7 @@ Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不 除了我们平时最常用的 HotSpot VM 外,还有 J9 VM、Zing VM、JRockit VM 等 JVM 。维基百科上就有常见 JVM 的对比:[Comparison of Java virtual machines](https://en.wikipedia.org/wiki/Comparison_of_Java_virtual_machines) ,感兴趣的可以去看看。并且,你可以在 [Java SE Specifications](https://docs.oracle.com/javase/specs/index.html) 上找到各个版本的 JDK 对应的 JVM 规范。 -![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/javaguide/Java-SE-Specifications.png) +![Java SE Specifications](/Users/guide/Documents/GitHub/JavaGuide/docs/java/basis/images/java-se-specifications.png) #### JDK 和 JRE @@ -376,9 +376,11 @@ public class Person { 发生在同一个类中(或者父类和子类之间),方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同。 -下面是《Java 核心技术》对重载这个概念的介绍: +《Java 核心技术》这本书是这样介绍重载的: -![](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/bg/desktopjava核心技术-重载.jpg) +> 如果多个方法(比如 `StringBuilder` 构造器方法)有相同的名字、不同的参数, 便产生了重载。 编译器必须挑选出具体执行哪个方法,它通过用各个方法给出的参数类型与特定方法调用所使用的值类型进行匹配来挑选出相应的方法。 如果编译器找不到匹配的参数, 就会产生编译时错误, 因为根本不存在匹配, 或者没有一个比其他的更好(这个过程被称为重载解析(overloading resolution))。 +> +> Java 允许重载任何方法, 而不只是构造器方法。 综上:重载就是同一个类中多个同名方法根据不同的传参来执行不同的逻辑处理。