JAVA
M0104
这个作者很懒,什么都没留下…
展开
-
JAVA——JVM总结
内存区域划分 :程序计数器、虚拟机栈、本地方法栈、堆、方法区、运行时常量池判断对象是否存活—>对象是否原地去世?(finalize()) ->去世 —>如何回收已不再存活的对象1.引用计数法 2.可达性分析法finalize()自我拯救分代回收算法:新生代-复制算法 老年代-标记整理算法java内存模型 -工作内存 主内存 三大特性:原子性 可见性 有序性...原创 2019-08-06 18:35:46 · 94 阅读 · 0 评论 -
多线程—线程的创建
线程的创建方式总结一下多线程的创建方式,多线程的实现一共四种方法,接下来将详谈一下创建的方式继承Thread类,而后覆写run()方法 实现Runnable接口,而后覆写run()方法 实现callable接口,而后覆写call<v>方法 线程池(后面专门说,因为较复杂)注意:无论使用哪种方式创建线程,启动线程一律使用Thread类提供的start()方法1.继承...原创 2019-08-19 18:28:28 · 449 阅读 · 0 评论 -
线程常用方法、线程停止、线程优先级、守护线程
线程常用方法: (1)线程休眠sleep (2)线程让步yield (3)join方法线程停止:(1)设置标志位 (2)调用stop() 已经被废弃因为会产生不完整数据 (3)interrupt()线程的优先级:设置 、取得优先级、最高/中等/最低优先级守护线程:设置、判断1.线程常用方法 首先看看下面的图,看完我们详细说(1)sleep()线程休眠 不会...原创 2019-08-19 22:11:58 · 157 阅读 · 0 评论 -
JAVA中的锁——Synchronized
线程会出现的问题:同步 与 互斥什么是同步? 什么是互斥?Synchronized 可以作用于哪里?实现的原理?性能优化有什么?1.首先来说说什么是同步与互斥?同步:线程间的通信(线程合作)互斥:多线程并发时,某一时刻只能有一个线程访问共享资源2.Synchronized同步处理可以作用于哪里:(1)同步方法 (2)同步代码块 (1)同步代码块: 锁的对象是 ...原创 2019-08-20 15:08:52 · 140 阅读 · 0 评论 -
JAVA中Wait()与Notity()、同步队列与等待队列
1.Wait()与Notity()方法wait(): 持有锁的线程调用wait()方法后,会一直阻塞,直到有别的线程调用notify()将其唤醒notify(): 只能通知一个等待线程,唤醒任意一个处于wait线程notifyall():将等待队列中的所有线程唤醒,并加入同步队列同步(线程间的通信) object:wait()与notify()必须搭配synchronize...原创 2019-08-20 15:42:14 · 1158 阅读 · 0 评论 -
JAVA中LOCK体系
LOCK 产生背景:死锁 首先来说下死锁,什么是死锁?总结以下四点内容,必须同时满足这四个条件,才会产生死锁1.互斥 共享资源只能同时被一个线程占用2.占有且等待 eg:拿到work锁,不释放的同时去申请money锁3.不可抢占 线程Thread拿到对象锁X后,其他线程无法抢占X锁4.循环且等待 线程T1拿到了资源X的锁,去申请Y的锁 ...原创 2019-08-20 21:10:24 · 224 阅读 · 0 评论