Java
文章平均质量分 77
lojze_ly
这个作者很懒,什么都没留下…
展开
-
线程基础属性
线程中断线程阻塞线程异常处理器1. 线程中断线程处于阻塞状态,即调用当前线程的interrupt中断方法,线程是会抛出中断异常的 那么可以用这种方式来介入到运行中的线程,比如发起中断请求,要求当前线程终止运行 因为Java在语言层面,已经彻底抛弃stop语句,即终止当前正在运行的线程的方法,所以你另辟蹊径 package com.yli.thread.demo;/** * 线程中断测试原创 2015-12-28 22:42:38 · 454 阅读 · 0 评论 -
JVM常用工具
JPS: 用来查看当前虚拟机进程 (1)jps -m 列出当前虚拟机进程以及传给虚拟机启动主进程main方法的参数 (2)jps -l 输出主类的名称 (3)jps -v 输出虚拟机启动参数 (4)jps -q 只输出虚拟机进程号Jstat 监控JVM状态,排查JVM问题首选工具 先通过jsp或者ps aux|grep java 命令获得jvm进程号,比如是 19508 (1)原创 2015-10-29 23:32:46 · 911 阅读 · 0 评论 -
线程死锁
何为死锁两个线程相互等待对方已锁定的资源,产生死锁如何避免死锁其实这个问题很难回答,因为至少目前在Java领域,在语言层面是无法避免死锁的。更多的是依赖编程经验。模拟死锁比如有两个线程,共享一个对象。该对象持有 A、B 两份资源。线程1负责读取,线程2负责写入。 读取线程先占用A的锁,然后准备获取B的锁;写入线程先占用B的锁,再获取A的锁。 这个过程非常简单,但是一旦进原创 2016-01-03 21:01:51 · 417 阅读 · 0 评论 -
新生代Eden与两个Survivor区的解释
文章出处:http://ifeve.com/jvm-yong-generation/聊聊JVM的年轻代1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕转载 2015-10-27 23:33:56 · 59631 阅读 · 39 评论