自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 JVM调优-基础知识

JVM调优-基础知识 1.如何定位垃圾 引用计数:引用计数是如果一个对象有引用存在,计数器加一,如果计数为0,则认为是垃圾。这种方法有个问题,无法标记循环引用的一团垃圾。 可达性分析:从跟对象开始搜索,能够触达的对象不是垃圾。 那么什么是 根对象 (GCroot) 线程栈变量:main方法中的能访问的对象 静态变量:class静态变量初始化,能访问的对象 常量池 JNI指针:native对象 2.清除垃圾的三个常用算法 Mark-Sweep 标记清除 Copying 拷贝 Mark-Compact

2020-09-10 19:39:17 138

原创 线程学习记录-锁原理与对象头

锁原理与对象头 对象头 对象头是堆中对象的头结构,它由两个部分组成,mark word和klass word mark word的简要介绍 mark word结构图示如图所示: mark word的大小为64bit,在对象的5种状态中(无锁,偏向锁,轻量级锁,重量级锁,GC标记),mark word的结构有所不同 在无锁状态时,mark word的前56bit存储对象的has...

2019-12-18 19:49:56 418

原创 线程学习记录-synchronized初探

线程学习记录-synchronized初探 synchronized是有锁升级的概念,它代表三种类型的锁 偏向锁 轻量级锁 重量级锁 jdk1.6之前,synchronized其实都是os锁 重量级锁(os): 重量级锁是操作系统级别的锁,它的执行过程类型下面的linux函数调用过程 pthread_mutex_tmt mt理解为int类型 pthread_mutex_...

2019-12-11 20:22:11 111 1

原创 线程学习记录-模拟start方法调用run方法的过程

今天成功模拟了java线程中,start方法调用run方法的过程,特此记录。 环境:centos7,jdk1.8 ,gcc 首先构建好一个java类,用来模拟线程。 public class MyThread { //JVM加载自定义的C库,此时还未创建该库 static { System.loadLibrary("MyThreadNativeLibrary"...

2019-12-07 17:39:48 202

原创 线程学习记录—使用C在linux创建一个线程

闲话少叙,先抛出两个问题 java当中的线程和操作系统的线程是什么关系? 调用Thread的start方法,为什么会调用对应的run方法? 要回答这两个问题,都绕不开一个关键点——无论通过什么框架,调用多少个线程的api,归根结底,都是在操作系统开启了一个线程。 下面介绍一下linux系统,有关线程的控制原语(可以理解为函数) int pthread_create(pthread_t ...

2019-12-04 23:26:58 303

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除