JVM
文章平均质量分 77
JVM
魔道不误砍柴功
我亦无它,唯手熟尔!
展开
-
JVM 学习(1)—JVM 与 JMM 内存模型简单理解
JMM(Java 内存模型 Java Memory Model,简称 JMM)是一种抽象的概念并不是真实存在,它是描述的一组约定或者说是规范,通过这组规范定义程序中各个变量读写访问方式并且决定一个线程对共享变量的读写何时让另一个线程可见,关键技术点就是围绕多线程的原子性可见性和有序性三个特性展开,下面会说到什么是原子性可见性和有序性。由于 JVM 运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(有些地方称为栈空间),用于存储线程私有的数据,而。原创 2023-02-23 21:01:21 · 1295 阅读 · 0 评论 -
什么是三色标记算法
为什么会出现三色标记算法?对于绝大部分垃圾收集器都是基于可达性分析算法来判断对象的存活状态;然后可达性分析算法理论上是一种基于一致性的快照中才能够进行分析,这就意味着需要进行STW(停顿用户线程进行垃圾收集标记)。若堆中存储的对象很多,那么对于GC roots图结构越复杂,要标记更多的节点需要停顿更长时间,对于用户来说肯定是不友好,那么可通过削弱STW消耗的时间的话,那么收益也是系统级别的。三色标记算法是一种并发的可达性分析算法,可以削弱STW所耗费的时间。什么是三色标记算法?三色标记算法可以说是标原创 2021-09-02 22:41:03 · 3816 阅读 · 8 评论 -
JDBC如何打破双亲委派机制?
1、直接编写测试代码,重点关注这个代码是怎么执行的DriverManager.getConnection()//这行代码注释也是可以的//Driver driver = Class.forName("com.mysql.jdbc.Driver");connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/gwmdb?useSSL=false&useUnicode=true&characte原创 2021-07-06 17:42:04 · 692 阅读 · 0 评论 -
java 虚拟机常用命令
提示: 使用-XX:+PrintFlagsFinal 打印所有以-XX格式的参数,总共差不多700多个,:=表示是被修改过的意思1.java -X 查看 -X的参数有哪些-X 格式的参数-Xint 设置只用执行解释器执行-Xmixed 设置混合执行器(解释器+JIT编译器(热代码缓存))-Xms10m 设置最小堆内存的size-Xmx10m 设置最大堆内存的size-Xss10m 设置栈内存的size .原创 2021-03-24 02:39:37 · 497 阅读 · 0 评论 -
i++,++i 的底层实现原理
Demo 如下所示 public static void main(String[] args) { System.out.println(Demo.method1(10)); System.out.println(Demo.method2(10)); } public static int method1(int a) { return a++; } public static int method2(int b)原创 2021-03-22 22:59:14 · 431 阅读 · 0 评论 -
Java 性能调优命令
以下命令都有 -options 来帮助查看有哪些参数设置jps 命令查看HotSpot当前运行有哪些虚拟进程号jstat (JVM Statistis Montiroring Tool) 命令监视虚拟机各种运行状态信息的命令工具, 可以显示本地和远程的类装载,内存,垃圾收集,JIT编译等运行时数据类相关信息监控通过jps查询到进程端口之后, 使用jstat命令执行-class 表示输出类相关的信息(类装载卸载时间)-t 表示程序启动耗费了多少时间ms-h3 表示每隔3s次打印一次.原创 2021-03-22 13:39:32 · 389 阅读 · 1 评论 -
使用 String 和 StringBuffer 拼接效率谁更高?
代码演示这里我们设定循环10w次来拼接一个字符串, 比较代码如下 public static void main(String[] argss) { long l = System.currentTimeMillis(); show2(); System.out.println(System.currentTimeMillis()-l); } public static void show1() { String原创 2021-03-16 18:06:21 · 670 阅读 · 0 评论 -
JVM内存模型、GC垃圾回收等
问题:今天让我们一起进入JVM比价深层一点的领域——JVM内存模型(包括GC回收)一、jvm基本介绍1、JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接 的交互,下面是它的基本结构图2、运行过程:① Java 源文件—->编译器—->字...原创 2019-09-21 22:39:49 · 347 阅读 · 0 评论