![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
ModestyMa
这个作者很懒,什么都没留下…
展开
-
JVM综合篇
JVM运行数据区 1.程序计数器 当前线程所执行的字节码的行号指示器. 字节码解释器通过改变计数器的值来选取下一条需要执行的字节码指令. <1>执行java方法,则记录正在执行的虚拟机字节码指令地址 <2>执行native方法,计数器值为空 2.java虚拟机栈 (虚拟机栈为虚拟机执行java方法/字节码服务) 生命周期与线程相同,描述的是java方法...原创 2019-01-05 03:01:48 · 76 阅读 · 0 评论 -
JVM类加载理解
1.类加载机制流程 2.双亲委派机制 Java Class->装载GVM配置文件->找到JVM的DLL文件->初始化JVM->找到Main方法. Class文件->加载内存->进入方法区->在堆中创建java.lang.class对象. JVM加载内存->[验证->准备->解析]->初始化JVM->使用J...原创 2019-01-05 03:00:33 · 113 阅读 · 0 评论 -
JVM内存分配算法
1.GC算法 2.G1算法 GC算法(keywords ,可达性分析,GCRoot向下搜索) 使用有向图将引用类型标记出来,使用GCRoot当做根节点,当GCRoot有指向的时候说明有引用(可达性分析) 销毁调用 finalize->放入F-Queue (只有一次) <1>标记清除算法 在每一个大块空间当没有引用的时候进行删除,容易造成内存小碎片. <2&...原创 2019-01-05 03:00:26 · 323 阅读 · 0 评论 -
JavaSE基础知识
JavaSE零碎知识点 1.java为解释性语言,程序讲代码编译成字节码,然后由JVM解释进行 2.java是纯面向对象语言 3.不支持多重继承,可继承多个接口. 4.java不支持运算符重载,没有预处理,不支持默认函数参数. Java程序初始化顺序 1.静态对象>非静态对象 2.父类对象>子类对象 3.其他(包含构造函数)按照编写顺序进行初始化 J...原创 2019-01-05 03:00:19 · 185 阅读 · 0 评论 -
Java多线程开发基础
1.实现多线程 2.同步机制 3.使用 1.实现多线程 <1>继承Thread类,重写run方法. <2>实现Runnable接口,实现run()方法. <3>实现Callable接口,重写call()方法. <3.1>提供返回值 <3.2>可抛异常call() <3.3>future对象可检...原创 2019-01-05 03:00:12 · 95 阅读 · 0 评论