jvm(上)

303 阅读1分钟

java知识考点

看看你对java的理解

平台无关性 (一处编译到处运行)

GC (jvm垃圾回收 不用像c++那样 控制指针)

语言特征(封装集成多态)

面向对象(万物皆对象)

类库(最多类库)

异常处理

java 反编译 javap -c xxx.class

demo

classloader

自定义myClassLoader

classloader 就是加载二进制流 然后交给后面的 检验 使用的,

其中用到了 try 语法糖喔

class for name 会执行 静态代码 包括类的初始化操作 (类加载+类初始化+类装载)

loadClass 不会执行类装载 不会初始化 不会执行静态代码块 (只有类加载)

举例区别 : classforname 加载 jdbc 的driver 中,那这个driver有静态代码块就需要使用 forname这样子加载; loadClass 比如应用启动的时候为了加快启动速度 实现懒加载就会使用loadClass这样子