2018-02-20 10:40:05 +08:00
<!-- GFM - TOC -->
2018-02-22 22:54:49 +08:00
* [???? ](#???? )
2018-02-20 10:40:05 +08:00
* [ final ](#-final )
2018-02-22 22:54:49 +08:00
* [???????? ](#???????? )
* [??????? ](#??????? )
* [???? ](#???? )
2018-02-20 10:40:05 +08:00
* [Set ](#set )
* [Queue ](#queue )
* [Map ](#map )
2018-02-22 22:54:49 +08:00
* [???? ](#???? )
* [?? ](#?? )
2018-02-23 18:10:07 +08:00
* [???????? ](#???????? )
2018-02-20 10:40:05 +08:00
<!-- GFM - TOC -->
2018-02-22 22:54:49 +08:00
# ????
2018-02-20 10:40:05 +08:00
## final
2018-02-22 22:54:49 +08:00
**final ????**
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
??????????????????????????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
????????????final ???????????????????final ???????????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
**final ????**
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
????????????????????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
private ?????????????? final????????????????????????????????? private ????????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
**final ??**
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
???????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
## ????????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
static ??????????????????????????????????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
```java
2018-02-22 22:54:49 +08:00
public static String staticField = "???????";
2018-02-20 10:40:05 +08:00
```
2018-02-23 18:10:07 +08:00
static ????? static ????????????????????????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
```java
static {
2018-02-22 22:54:49 +08:00
System.out.println("??????????");
2018-02-20 10:40:05 +08:00
}
```
2018-02-22 22:54:49 +08:00
??????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
```java
2018-02-22 22:54:49 +08:00
public String field = "????";
2018-02-20 10:40:05 +08:00
```
```java
{
2018-02-22 22:54:49 +08:00
System.out.println("???????");
2018-02-20 10:40:05 +08:00
}
```
2018-02-23 18:10:07 +08:00
???????????????????????????
2018-02-20 10:40:05 +08:00
```java
public InitialOrderTest()
{
2018-02-22 22:54:49 +08:00
System.out.println("??????");
2018-02-20 10:40:05 +08:00
}
```
2018-02-23 18:10:07 +08:00
?????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
1. ???????????????????
2. ???????????????????
3. ?????????????
2018-02-22 22:54:49 +08:00
4. ????????????
2018-02-23 18:10:07 +08:00
5. ?????????????
2018-02-22 22:54:49 +08:00
6. ????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
## ???????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
Java ???????????????????????private??protected ??? public????????????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
protected ???????????????????????????????????????????????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
# ????
2018-02-20 10:40:05 +08:00
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/114c49a6-72e3-4264-ae07-c564127094ac.png)
2018-02-22 22:54:49 +08:00
??????????? Collection ?? Map ?????Collection ??????? List??Set ??? Queue??
2018-02-20 10:40:05 +08:00
## Set
2018-02-22 22:54:49 +08:00
- HashSet????? Hash ???????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
- TreeSet???????????????????????????????? HashSet??
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
- LinkedListHashSet?????? HashSet ????????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
## Queue
2018-02-23 18:10:07 +08:00
???????????LinkedList ?? PriorityQueue?????? LinkedList ???????????
2018-02-20 10:40:05 +08:00
## Map
2018-02-22 22:54:49 +08:00
- HashMap????? Hash ???
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
- LinkedHashMap???????????????????????????????????LRU?????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
- TreeMap?????????????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
- ConcurrentHashMap??????? Map??????p???????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
# ????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
?????????? **Class** ???????????????????????????????????????????????????? .class ??????????????????? Class ????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
????????? Class ?????????????????????????????? JVM ??????????? Class.forName('com.mysql.jdbc.Driver.class') ???????????????????????????????? Class ????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
???????????????????????????????????????????????????????????????????? .class ???????????????????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
Class ?? java.lang.reflect ???????????????java.lang.reflect ???????? **Field** ??**Method** ??? **Constructor** ????????? get() ?? set() ???????????? Field ????????????????????? invoke() ?????????? Method ???????????????????? Constructor ??????????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
IDE ????????????????????????????????????????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
# ??
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
Throwable ??????????????????????????????????????**Error** ?? **Exception** ?????? Error ??????????????????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
Exception ????????**?????** ?? ** ???????**???????????? try...catch... ??????????????????????????????????????????????????????? 0 ?????? Arithmetic Exception???????????????????????
2018-02-20 10:40:05 +08:00
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/48f8f98e-8dfd-450d-8b5b-df4688f0d377.jpg)
2018-02-23 18:10:07 +08:00
# ????????
2018-02-20 10:40:05 +08:00
2018-02-23 18:10:07 +08:00
- Eckel B, ????? , ??? , ?? . Java ?????? [M]. ????????????? , 2002.
2018-02-22 22:54:49 +08:00
- [Java ????????? ](https://segmentfault.com/a/1190000004527951 )