jvm
董先生的远方
进一寸有一寸的欢喜
展开
-
深度解析ThreadLocal
ThreadLocal使用方式为在一个线程中创建一个ThreadLocal对象,使用threadLocal.set()赋值,在相同线程的另一个地方使用threadLocal.get()获取值,接下来,从源码角度分析一下ThreadLocal的实现方式以及存在的问题。1:创建是直接new 一个对象创建出来,既然ThreadLocal与线程已经绑定(一个ThreadLocal在不同的线程之中可以存...原创 2019-12-29 11:37:03 · 345 阅读 · 0 评论 -
JVM的方法区和永久带的关系
原文这这里:https://www.imooc.com/article/47149 群里面有小伙伴问到这个问题,说在网上看了很多文章,但是还是没弄明白这俩是啥关系,下面我们就来详细的解释一下:什么是方法区?方法区(Method Area)是jvm规范里面的运行时数据区的一个组成部分,jvm规范中的运行时数据区还包含了:pc寄存器、虚拟机栈、堆、方法区、运行时常量池、本地方法栈。...转载 2018-09-25 18:58:38 · 368 阅读 · 0 评论 -
jvm垃圾回收算法以及回收器详解
原文链接:https://www.ziwenxie.site/2017/07/24/java-jvm-gc/本文主要讲述JVM中几种常见的垃圾回收算法和相关的垃圾回收器,以及常见的和GC相关的性能调优参数。GC Roots我们先来了解一下在Java中是如何判断一个对象的生死的,有些语言比如Python是采用引用计数来统计的,但是这种做法可能会遇见循环引用的问题,在Java以及C#等语言...转载 2018-09-25 19:12:22 · 200 阅读 · 0 评论 -
jvm内存区域的划分
JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java...转载 2018-09-22 16:13:12 · 340 阅读 · 0 评论