java基础
linghaoDo
不逼自己一把,永远不知道自己的潜力有多大!
展开
-
java线程安全hashMap和concurrenthashMap源码对比分析
怎样停止一个线程?官方给出了两个api:stopinterrupt但是stop是已经被废弃了。废弃原因是什么呢?线程共享的东西有三种:cpu,共享内存,文件Thread1访问共享内存,并持有锁,线程2等待,此时阻塞Thread1释放锁,被销毁,此时Thread2立即持有共享内存的锁,如果Thread1有脏数据没有及时清理,这时候,Thread2运行时发现内存状态异常,可能会cra...原创 2020-03-14 15:43:45 · 381 阅读 · 0 评论 -
知识点整理—java虚拟机
1. java虚拟机是继续栈的还是基于寄存器的?有没有基于寄存器的虚拟机?有什么差别java虚拟机是基于堆栈的,在java虚拟机栈中,每个方法执行的同时,会创建一个栈帧栈帧,用于储存局部变量表,动态链接,操作数栈,方法返回地址。jvm是基于堆栈的,而dalvik虚拟机是基于寄存器的,基于堆栈的指令占用空间小,一个指令常常占用一个字节,所以叫做字节码,而dalvik由于需要指定源地址和目标地...原创 2020-02-13 14:23:19 · 199 阅读 · 0 评论 -
java 常用线程池讲解
1.线程池的好处重用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销。能有效控制线程池的最大并发数,避免大量的线程之间因为互相抢夺系统资源而导致的阻塞现象。能对线程进行简单管理,并提供定时执行以及指定间隔循环执行等功能。相关链接锁2. 原理分析2.1 Executor只有一个excute方法 /** * Executes the given comma...原创 2020-01-14 23:53:43 · 155 阅读 · 0 评论 -
java 线程中常常遇到的锁的讲解
怎样产生死锁互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求该资源,则请求者只能等待,直至占有该资源的进程用毕释放。请求和保持条件:指进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又被其它进程占有,此时请求进程阻塞,但又对自己获得的其它资源保持不放。不剥夺条件:指进程已获得资源,在使用完之前,不能被剥夺,只能在使用...原创 2020-01-14 23:52:11 · 171 阅读 · 0 评论 -
io流相关总结
1.目录java.io.file类的使用io原理及流的分类节点流缓冲流转换流标准输入输出打印流数据流对象流随机存取文件NIO中的path,paths,file类的使用。1. java.io.file类的使用public class Fileextends Objectimplements Serializable, Comparable<File>...原创 2018-12-30 22:28:51 · 139 阅读 · 0 评论