自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ReentrantLock源码解读

ReentrantLock源码分析 这次来阅读一下ReentrantLock的源码,简单阅读,只看几个重要的方法。 首先ReentrantLock实现了Lock接口,Lock接口没啥好说的,提供了几个必须实现的方法。 public interface Lock { void lock(); void lockInterruptibly() throws InterruptedEx...

2020-02-01 21:57:23 374

原创 手写一个ReentrantLock锁

手写ReentrantLock 最近学习了Java语言中锁相关知识,看了一下ReentrantLock源码,自己手写了一个ReentrantLock。 ReentrantLock是一个可重入锁,并且在源码中通过构造函数可以使其在公平锁和非公平锁之间转换。 可重入锁即当前线程可以在不释放锁的情况下多次获取锁,但是释放锁的次数应与获取锁的次数相同,否则会抛出IllegalMonitorStateExc...

2020-02-01 18:18:07 3154

原创 线程终止的方法

学习心得 线程终止的3种方法:stop(),interrupt(),使用标志位。 总结 1.stop()方法会直接杀死线程不论执行到哪里,破坏了线程的安全性,已停止使用。 public class StopThread extends Thread{ public int i=0; public int j=0; @Override public void run(...

2020-02-01 17:38:27 505

原创 线程状态

线程状态 线程状态分为6种,分别为新建(New),可运行状态(Runnable),不带超时的等待状态(Waiting),带超时的等待状态(TimedWaiting),阻塞状态(Blocked),结束状态(Terminate)。 进入各个状态的方法 ...

2020-02-01 17:36:54 343

原创 Java运行时数据区

JAVA运行时数据区 线程共享区 1.方法区 存储类信息,常量,静态变量,编译后的代码。 2.堆内存 存放对象实例,堆内存满了则抛出OutOfMemoryError异常。 线程独占区 1.虚拟机栈 由多个栈帧组成,每个方法对应一个栈帧,栈帧包含:局部变量表,操作数栈,动态链接,方法返回地址等信息。栈内存最大为1M,超出则抛出StackOverflowError异常。 2.本地方法栈 存储虚拟机运行...

2020-02-01 17:32:22 334

原创 Java实现8种排序算法

8种排序算法 冒泡排序,选择排序,插入排序,快速排序,希尔排序,归并排序,堆排序,基数排序 源码地址: https://github.com/wonder-code/myWonder/tree/master/basis/src/main/java/com/zl/algorithm/sort 冒泡排序 时间复杂度 平均:o(n^2),最差:o(n^2) 空间复杂度 o(1)   冒泡排序核心是将...

2020-02-01 17:21:44 2315 3

空空如也

空空如也

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

TA关注的人

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