基本上是每天学一点点 在复习的同时,发现好多之前没学过的,底层基础是真的重要(主要是算法不行(x))。开始狂补了要。
- 书:图解http,Java编程思想,疯狂Java讲义,计算机网络,深入理解Java虚拟机(不知道一个半月能不能看完)
- 编程:面试知识点,牛客网,leetcode
- 注意:要随时记忆
基础方面
- Java是半编译语言,最终的执行代码并不是可以直接被CPU执行的二进制机械码。
- 面向对象易维护,易复用,易扩展。低耦合
- (懒得敲x)什么是字节码?采用字节码的好处
在Java中,JVM可以理解的代码就叫做字节码(即扩展名为.class的文件)
-
热点代码(HotSpot):有些方法和代码块是经常需要被调用的。
-
JDK和JRE对比
-
Oracle JDK和OpenJDK对比:如果想开发企业/商业软件,建议Oracle JDK
-
Java和C++的区别 Java和PHP的区别?
-
Constructor不能被override(重写),但是可以被overload(重载)
重载:发生在同一个类中,方法名必须相同,参数类型不同,个数不同,顺序不同,方法返回值和访问修饰符可以不同
重写:子类对父类方法的重新改造,外部样子不能改变,内部逻辑可以改变 -
StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。StringBuilder并没有对方法进行加同步锁,所以是非线性安全的(这不废话吗【画外音】)
-
静态方法可以不通过对象进行调用,因此在静态方法里,不能调用其他非静态变量,也不可以访问非静态变量成员。
-
JVM在四种条件下会关闭
1.程序正常执行结束
2.使用System.exit(0)方法
3.出现异常时,没有捕获异常
4.平台强制结束JVM进程(任务管理器直接结束进程) -
JavaIO都有哪些设计模式?
装饰模式,设配器模式
我觉得之后可以把自己刷(背)的题总结一下,大部分是做(抄)的。