java进阶
zz0129
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Arthas定位接口耗时原因
最近做了原创 2020-09-08 00:42:05 · 1394 阅读 · 0 评论 -
zk服务器连接不上
本来想配一个zk集群想要简单的测试下,刚开始的思路是配置好所有的文件后,想先看看每一个服务器都自己可以不,然后再把所有的服务器都起了,结果第一个就连接不上了......测了好一会,有点苦恼Welcome to ZooKeeper!2018-10-25 09:36:25,905 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCn...原创 2018-10-25 10:40:18 · 2194 阅读 · 0 评论 -
线程的几种状态
1、新建:线程已创建但尚未启动2、运行:处于此状态的线程,有可能正在执行,也有可能在等待CPU为其分配时间片3、无限期等待:处于此状态的线程不会被分配时间片,其需要等待其它线程显示的唤醒4、限期等待:处于此状态的线程不会被分配时间片,它不需要等待其它线程显示的唤醒,一定时间后他们会有系统自动唤醒5、阻塞:“阻塞状态”在等待着一个排它锁,其有别于等待状态,等待状态是等待一段时间6...原创 2018-08-12 18:17:56 · 239 阅读 · 0 评论 -
偏向锁、轻量级锁、重量级锁
偏向锁:只有一个线程进入临界区轻量级锁:两个线程交替进入临界区重量级锁:两个线程同时进入临界区三种锁之间的相互转换偏向锁、轻量级锁是乐观锁,重量级锁是悲观锁 当一个对象刚开始初始化时,没有任何线程访问他,他是可偏向的。所以当第一个线程来访问他的时候,他会偏向第一个线程,对象开始持有偏向锁,当线程修改对象头成为偏向锁的时候使用CAS操作(CAS操作包含一个内存位置V,旧的预期值A,要修改的新值...原创 2018-07-03 10:37:59 · 279 阅读 · 0 评论 -
线程创建的几种方式及比较
1.继承Thread类package com.thread;public class Demo1 extends Thread{ public Demo1(String name) { super(name); } @Override public void run() { System.out.println(getName() + "线程执行了。。。"); } pu...原创 2018-07-03 10:05:30 · 1461 阅读 · 0 评论 -
实现一个可重入锁
可重入锁为当一个线程获得该锁后若未释放前想要再次获取该锁,则可以直接获取不用等待,我们只需要把锁的次数加一即可,释放一次锁次数就减一,直到次数为零,其它线程就可以继续竞争该锁了。package com.lock;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import ja...原创 2018-07-03 08:35:46 · 427 阅读 · 0 评论 -
Volatile
1.volatile保证可见性保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。第一:使用volatile关键字会强制将修改的值立即写入主存;第二:使用volatile关键字的话,当线程2进行修改时,会导致线程1的工作内存中缓存变量stop的缓存行无效(反映到硬件层的话,就是CPU的L1或者L2缓存中对应的缓存行无效);第三:由于线程1的工...原创 2018-07-02 09:49:36 · 206 阅读 · 1 评论 -
深入理解java虚拟机读书笔记(三)
3.2对象已死吗? 判断对象是否可以进行回收3.2.1 引用计数算法 给对象添加一个引用计数器,每当一个地方引用他时,计数器就加1,当引用失效时,计数器就减1,任何时刻引用计数器为0的对象就是不可能再被使用的。但是其没有办法解决对象之间循环引用的问题。3.2.2 可达性分析算法 通过一系列称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,所走过的路径称为引用链,当...原创 2018-07-01 17:03:48 · 209 阅读 · 0 评论 -
深入理解java虚拟机读书笔记(二)
java和C++在内存动态分配和垃圾收集技术方面明显的区别一、概述 对于C、C++从事人员来说,在内存管理领域,他们既是拥有最高权利的皇帝,又是从事最基础工作的劳动人民,即拥有每一个对象的所有权,有负责着每一个对象生命开始到终结的维护责任 对于java程序员来说,在虚拟机自动内存管理机制的帮助下,,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和溢出...原创 2018-05-23 21:43:44 · 207 阅读 · 0 评论 -
深入理解java虚拟机读书笔记(一)
一、概述 1. java不仅是一门编程语言,还是一个由一系列计算机软件和规范形成的计算机体系结构 2. 这个技术体系提供了完整的软件开发和跨平台部署的支持环境 3.广泛应用于多种场合 优点: 1. 他摆脱了硬件平台的束缚,实现了“一次编写,到处运行”的理想 2.它提供了一个相对安全的内存管理和访问机制,避免了绝大部分的内存泄漏和指针越界问题 3.它实现了热点...原创 2018-05-23 16:59:23 · 177 阅读 · 0 评论
分享