Skip to content

Commit 3d4edde

Browse files
authored
Update Java基础知识.md
1 parent 3d1cfcf commit 3d4edde

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

Java相关/Java基础知识.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
- [继承](#继承)
2222
- [多态](#多态)
2323
- [12. String StringBuffer 和 StringBuilder 的区别是什么 String 为什么是不可变的](#12-string-stringbuffer-和-stringbuilder-的区别是什么-string-为什么是不可变的)
24-
- [13. 自动装箱与拆箱](#13-自动装箱与拆箱)
24+
- [13. 自动装箱与拆箱](#13-自动装箱与拆箱)
2525
- [14. 在一个静态方法内调用一个非静态成员为什么是非法的](#14-在一个静态方法内调用一个非静态成员为什么是非法的)
2626
- [15. 在 Java 中定义一个不做事且没有参数的构造方法的作用](#15-在-java-中定义一个不做事且没有参数的构造方法的作用)
2727
- [16. import java和javax有什么区别](#16-import-java和javax有什么区别)
@@ -32,15 +32,15 @@
3232
- [21. 一个类的构造方法的作用是什么 若一个类没有声明构造方法,该程序能正确执行吗 ?为什么?](#21-一个类的构造方法的作用是什么-若一个类没有声明构造方法该程序能正确执行吗-为什么)
3333
- [22. 构造方法有哪些特性](#22-构造方法有哪些特性)
3434
- [23. 静态方法和实例方法有何不同](#23-静态方法和实例方法有何不同)
35-
- [24. 对象的相等与指向他们的引用相等,两者有什么不同?](#24-对象的相等与指向他们的引用相等,两者有什么不同?)
36-
- [25. 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?](#25-在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是)
35+
- [24. 对象的相等与指向他们的引用相等,两者有什么不同?](#24-对象的相等与指向他们的引用相等两者有什么不同)
36+
- [25. 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?](#25-在调用子类构造方法之前会先调用父类没有参数的构造方法其目的是)
3737
- [26. == 与 equals\(重要\)](#26--与-equals重要)
38-
- [27. hashCode 与 equals(重要)](#27-hashcode-与-equals(重要))
38+
- [27. hashCode 与 equals \(重要\)](#27-hashcode-与-equals-重要)
3939
- [hashCode()介绍](#hashcode()介绍)
4040
- [为什么要有 hashCode](#为什么要有-hashcode)
4141
- [hashCode()与equals()的相关规定](#hashcode()与equals()的相关规定)
4242
- [28. 为什么Java中只有值传递](#28-为什么java中只有值传递)
43-
- [29. 简述线程,程序、进程的基本概念。以及他们之间关系是什么](#29-简述线程,程序、进程的基本概念。以及他们之间关系是什么)
43+
- [29. 简述线程,程序、进程的基本概念。以及他们之间关系是什么](#29-简述线程程序进程的基本概念以及他们之间关系是什么)
4444
- [30. 线程有哪些基本状态?](#30-线程有哪些基本状态)
4545
- [31 关于 final 关键字的一些总结](#31-关于-final-关键字的一些总结)
4646
- [32 Java 中的异常处理](#32-java-中的异常处理)
@@ -223,7 +223,7 @@ String 中的对象是不可变的,也就可以理解为常量,线程安全
223223
2. 单线程操作字符串缓冲区下操作大量数据 = StringBuilder
224224
3. 多线程操作字符串缓冲区下操作大量数据 = StringBuffer
225225

226-
## 13. 自动装箱与拆箱
226+
## 13. 自动装箱与拆箱
227227
**装箱**:将基本类型用它们对应的引用类型包装起来;
228228

229229
**拆箱**:将包装类型转换为基本数据类型;
@@ -241,7 +241,7 @@ String 中的对象是不可变的,也就可以理解为常量,线程安全
241241

242242
所以,实际上java和javax没有区别。这都是一个名字。
243243

244-
## 17. 接口和抽象类的区别是什么
244+
## 17. 接口和抽象类的区别是什么
245245

246246
1. 接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),抽象类可以有非抽象的方法
247247
2. 接口中的实例变量默认是 final 类型的,而抽象类中则不一定
@@ -251,7 +251,7 @@ String 中的对象是不可变的,也就可以理解为常量,线程安全
251251

252252
备注:在JDK8中,接口也可以定义静态方法,可以直接用接口名调用。实现类和实现是不可以调用的。如果同时实现两个接口,接口中定义了一样的默认方法,必须重写,不然会报错。(详见issue:[https://github.com/Snailclimb/JavaGuide/issues/146](https://github.com/Snailclimb/JavaGuide/issues/146))
253253

254-
## 18. 成员变量与局部变量的区别有那些
254+
## 18. 成员变量与局部变量的区别有那些
255255

256256
1. 从语法形式上,看成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是,成员变量和局部变量都能被 final 所修饰;
257257
2. 从变量在内存中的存储方式来看,成员变量是对象的一部分,而对象存在于堆内存,局部变量存在于栈内存
@@ -282,15 +282,15 @@ new运算符,new创建对象实例(对象实例在堆内存中),对象
282282

283283
2. 静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制.
284284

285-
## 24. 对象的相等与指向他们的引用相等两者有什么不同
285+
## 24. 对象的相等与指向他们的引用相等,两者有什么不同?
286286

287287
对象的相等,比的是内存中存放的内容是否相等。而引用相等,比较的是他们指向的内存地址是否相等。
288288

289-
## 25. 在调用子类构造方法之前会先调用父类没有参数的构造方法其目的是?
289+
## 25. 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
290290

291291
帮助子类做初始化工作。
292292

293-
## 26. ==equals(重要)
293+
## 26. ==equals(重要)
294294

295295
**==** : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。(基本数据类型==比较的是值,引用数据类型==比较的是内存地址)
296296

@@ -327,7 +327,7 @@ public class test1 {
327327

328328

329329

330-
## 27. hashCode 与 equals(重要)
330+
## 27. hashCode 与 equals (重要)
331331

332332
面试官可能会问你:“你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?”
333333

@@ -359,7 +359,7 @@ hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返
359359
[为什么Java中只有值传递?](https://github.com/Snailclimb/Java-Guide/blob/master/%E9%9D%A2%E8%AF%95%E5%BF%85%E5%A4%87/%E6%9C%80%E6%9C%80%E6%9C%80%E5%B8%B8%E8%A7%81%E7%9A%84Java%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93/%E7%AC%AC%E4%B8%80%E5%91%A8%EF%BC%882018-8-7%EF%BC%89.md)
360360

361361

362-
## 29. 简述线程,程序、进程的基本概念以及他们之间关系是什么
362+
## 29. 简述线程,程序,进程的基本概念.以及他们之间关系是什么?
363363

364364
**线程**与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。
365365

0 commit comments

Comments
 (0)