中都

风习袅袅,盈水展千华,飞檐亭角清铃响。犹记当初,你回眸莞尔,一笑倾城百日香。

博客园 首页 新随笔 联系 订阅 管理

2021年3月31日 #

摘要: 线程相关的基本方法有 wait,notify,notifyAll,sleep,join,yield 等。 阅读全文
posted @ 2021-03-31 22:04 中都 阅读(77) 评论(0) 推荐(0)

摘要: 一、线程的生命周期 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5 种状态。尤其是当线程启动以后,它不可能一直"霸占"着 CPU 独自运行,所以 CPU 需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换; 阅读全文
posted @ 2021-03-31 21:59 中都 阅读(317) 评论(0) 推荐(0)

摘要: 一、继承 Thread 类 Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法。 阅读全文
posted @ 2021-03-31 21:53 中都 阅读(93) 评论(0) 推荐(0)

2021年3月30日 #

摘要: 主要步骤: 发现问题 定位问题 解决问题 性能问题不外乎三个因素:CPU、内存、IO 阅读全文
posted @ 2021-03-30 20:19 中都 阅读(144) 评论(0) 推荐(0)

摘要: 什么是I/O模型: 通常情况下I/O操作是比较耗时的,所以为了高效的使用硬件,应用程序可以专门设置一个线程进行I/O操作,而另外一个线程则利用CPU的空闲去做其他计算,这种为提高应用执行效率而采用的I/O操作方法称为I/O模型; 阅读全文
posted @ 2021-03-30 20:17 中都 阅读(129) 评论(0) 推荐(0)

摘要: 一、创建对象的过程 ⅰ 先加载类: 加载:将class文件加载进内存,在堆中生成对应的Class对象,作为访问方法区中类信息的入; 链接:(验证:class文件是否符合要求、准备:静态变量赋初值、解析:符号引用变为直接引用); 初始化:静态变量赋值; 阅读全文
posted @ 2021-03-30 20:12 中都 阅读(19) 评论(0) 推荐(0)

摘要: Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题: 给对象分配内存 ; 回收分配给对象的内存; 阅读全文
posted @ 2021-03-30 20:09 中都 阅读(109) 评论(0) 推荐(0)

摘要: Java 堆内存被划分为新生代和年老代两部分,新生代主要使用复制垃圾回收算法 ;年老代主要使用标记-整理、标记-清除垃圾回收算法,因此 java 虚拟中针对新生代和年老代分别提供了多种不同的垃圾收集器,JDK1.6 中 Sun HotSpot 虚拟机的垃圾收集器如下: 阅读全文
posted @ 2021-03-30 20:06 中都 阅读(196) 评论(0) 推荐(0)

摘要: 一、如何确定垃圾 1、引用计数法 在 Java 中,引用和对象是有关联的。如果要操作对象则必须用引用进行。因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说,即一个对象如果没有任何与之关联的引用,即他们的引用计数都不为 0,则说明对象不太可能再被用到,那么这个对象就是可回收对象。 阅读全文
posted @ 2021-03-30 19:59 中都 阅读(62) 评论(0) 推荐(0)

摘要: Java 堆从 GC 的角度还可以细分为: 新生代( Eden 区 、 From Survivor 区 和 To Survivor 区 )和老年代。 阅读全文
posted @ 2021-03-30 19:52 中都 阅读(129) 评论(0) 推荐(0)

Live2D