JVM
「已注销」
业精于勤荒于嬉,行成于思毁于随
展开
-
Java 底层知识 --- JVM
谈谈你对java的理解1、平台无关系2、GC3、语言特性4、面向对象5、类库6、异常处理问题一:Compile Once ,Run Anywhere 如何实现?编译时运行时javac 编译java文件java 运行class文件 跨平台的基础javap -c 反编译class文件问题二:JVM 如何加载.class 文件?java...原创 2019-05-04 23:21:51 · 165 阅读 · 0 评论 -
Java 底层知识 --- 反射
什么是反射?getDeclaredMethod () 获取大部分公有私有的方法,不能获取私有的方法,包括实现的接口的方法Method method = getDeclaredMethod ("方法名",String.class);method.setAccessible(true);其中rc.getMethod 是获取public的方法,也可以获取继承类的公用方...原创 2019-05-04 23:39:55 · 2014 阅读 · 0 评论 -
Java 底层知识 --- ClassLoader
什么是ClassLoader?原创 2019-05-05 00:10:00 · 111 阅读 · 0 评论 -
Java 底层知识 --- ClassLoader的双亲委派机制
什么是 ClassLoader 的双亲委派机制?不同的ClassLoader 加载类的和路径有所不同,为了实现分工,各自负责各自的区块,使得逻辑更加的明确,所以才有这么多相互共存的ClassLoader 。加载类的时候根据管理的区域各司其职,所以存在了这个机制,让他们相互协作,形成一个整体为什么要通过双亲委派来加载类?1、避免多份同样字节码的加载...原创 2019-05-05 11:02:00 · 209 阅读 · 0 评论 -
Java 底层知识 --- loaderClass 和 forName 的区别
首先,类的加载方式有哪些呢?一、隐式加载:new二、显示加载:loadClass 、 forName 等类的装载过程一、加载:通过ClassLoader 文件字节码,生成Class对象二、链接:1、校验:检查加载的class的准确性和安全性 2、准备:为类变量分配存储空间并设置类变量初始值 3、解析:JVM将常亮池的符号引用转换为直接引用三、初始化:执行类变量赋值和静态代码...原创 2019-05-05 11:43:08 · 176 阅读 · 0 评论 -
Java 底层知识 --- 内存模型之线程独占部分
java的内存模型地址空间的划分1、内核空间2、用户空间复现:以下切记不要执行!!!会导致系统卡死,可能会丢失文件等等严重情况,这里不负责!!!...原创 2019-05-05 12:43:29 · 173 阅读 · 0 评论 -
Java 底层知识 --- 内存模型之常见考题
内存模型之常见考题问题一:不同JDK 版本直接intern () 方法的区别 - JDK6 JDK VS JDK6+ ?选择Edit Configurations... ,并且选择需要运行的当前类执行此异常出现是在JDK 6JDK 6+ 就不会出现 ,字符串常量池,不受永久带限制JDK 7 可以正常执行JDK 8 可以正...原创 2019-05-05 19:02:19 · 133 阅读 · 0 评论