JVM
JVM相关知识。
nZk丶
这个作者很懒,什么都没留下…
展开
-
内核态与用户态
最近学多线程,接触操作系统的东西比较多,这个内核态和用户态还是需要明确一下的。 内核态:CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序 用户态:只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取 为什么要有用户态和内核态 由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据, 或者获取外围设备的数据, 并发送到网络, CPU划分出两个权限等级 --用户态和...原创 2020-07-26 15:07:32 · 113 阅读 · 0 评论 -
JVM_JAVA中的强软弱虚引用
java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象 java对象的引用包括强引用,软引用,弱引用,虚引用 Java中提供这四种引用类型主要有两个目的:1. 是可以让程序员通过代码的方式决定某些对象的生命周期;2. 是有利于JVM进行垃圾回收。 一、 强引用(StrongReference) 强引用是使用最普遍的引用。只要某个对象有强引用与之关联,JVM必定不会回收这个对象,即使在内存不足的情况下,JVM宁愿抛出OutOfMemory错误也不会原创 2020-05-27 09:02:26 · 238 阅读 · 0 评论 -
破坏双亲委派模型(利用线程上下文类加载器)
这里就用JDBC为例来探索一下为何,如何利用 线程上下文类加载器 破坏双亲委派模型。 java给数据库操作提供了一个Driver接口: public interface Driver { Connection connect(String url, java.util.Properties info) throws SQLException; boolean acceptsURL(String url) throws SQLException; Dri原创 2020-05-21 20:06:18 · 734 阅读 · 1 评论 -
JVM垃圾回收机制
目录 一.GC原理(垃圾回收) 二.对象被标记为垃圾的方法 (一)引用计数 (二)可达性分析 三.垃圾回收算法 (一)标记-清除算法 (二)标记-整理算法 (三)复制算法 (四)分代回收算法 新生代回收: 老年代回收: 四.垃圾回收器 相关概念: (一)Serial 收集器 (二)ParNew收集器 (三)Parallel Scavenge 收集器 (四)Ser...原创 2020-03-30 20:59:53 · 135 阅读 · 0 评论 -
JVM基本结构和工作过程
一.JVM的基本结构 首先要说明的,jvm是运行在操作系统之上的,与硬件系统没有直接的交互。 1.1 程序计数器 在CPU的寄存器中只有一个pc寄存器,存放下一条指令地址。每一条线程都有一个独立的程序计数器,Java虚拟机中的程序计数器指向正在执行的字节码地址,而不是下一条。 1.2 虚拟机栈 虚拟机栈是线程私有的,每个方法执行的时候都会创建一个栈帧,用于存放局部变量表,操作数栈...原创 2020-03-24 10:54:37 · 182 阅读 · 0 评论