自定义博客皮肤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垃圾回收

看到垃圾回收,首先你会想到什么? 1、什么是垃圾? 2、哪些地方的垃圾需要被回收? 3、如何定位垃圾? 4、如何回收垃圾? 5、什么时候回收垃圾? 下面,我们将带着这5个问题来进行分析。 1、什么是垃圾? JVM中的垃圾指的是无用的内存,这些内存中的数据若在后续处理过程中不再被使用,那么我们将是为垃圾进行回收,以保证有足够的内存可用。 程序在运行过程中会存在两个问题: 内存溢出:是指内存空间分配...

2019-09-18 22:30:52 123

原创 ReentrantLock详解

ReentrantLock实现方式与Synchronized实现方式对比 1.ReentrantLock实现 public static void main(String[] args) { ReentrantLock lock = new ReentrantLock(); Thread t1 = new Thread(new Runnable() { @Ove...

2019-09-17 22:33:19 194

原创 JVM运行时数据区域

今天我们一起来学习一下JVM内存模型中非常重要的一部分:运行时数据区 接下来我们将带着一下几个问题来共同学习这一部分。 一、什么是运行时数据区? 二、运行时数据区都包括哪些区域? 三、各个区域的作用是什么? 好了,接下来我们先来解答一下第一个问题:什么是运行数据区? Java虚拟机在执行Java程序的过程中,会将涉及的数据划分到不同的内存区域去管理,而这部分区域就是我们接下来要主要讲解的运行时数据...

2019-09-16 22:26:30 120

原创 线程的生命周期及涉及的方法

一、线程的生命周期 线程是一个动态执行的过程,它也有从一个产生到死亡的过程。 1、生命周期的五种状态 新建(new Thread) 当创建Thread类的一个实例(对象)时,此进程进入新建状态(未被启动) 例如:t1=new Thread() 就绪(runnable) 线程已经被启动,正在等待被分配给CPU时间片,也就是说此时线程正在就绪队列中排队等候得到CPU资源 例如:t1.star...

2019-09-16 21:41:47 259

原创 redis+Lua实现分布式锁

1.方法lock(String lock, int expire) :获取锁 expire,锁的过期时间 setnx(),只有当lock不存在时才会赋值,赋值成功返回1,赋值失败返回0 public boolean lock(String lock, int expire) throws Exception { Assert.notNull(lock, "lock must not be nul...

2018-12-22 01:59:39 461

空空如也

空空如也

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

TA关注的人

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