JUC
...
JustSleep
这个作者很懒,什么都没留下…
展开
-
java的编译运行
1、前端编译把Java源码文件(.java)编译成Class文件(.class)的过程;也即把满足Java语言规范的程序转化为满足JVM规范所要求格式的功能;优点:这阶段的优化是指程序编码方面的;许多Java语法新特性("语法糖":泛型、内部类等等),是靠前端编译器实现的,而不是依赖虚拟机;编译成的Class文件可以直接给JVM解释器解释执行,省去编译时间,加快启动速度;缺点:对代码运行效率几乎没有任何优化措施;解释执行效率较低,所以需...原创 2020-07-23 21:10:13 · 315 阅读 · 0 评论 -
垃圾回收器
1、评估GC的性能指标吞吐量和暂停时间注意:上述两个指标是矛盾的,现在的标准是在最大吞吐量优先地情况下,降低停顿时间。2、7种经典垃圾回收器7种经典垃圾回收器和分代之间的关系...原创 2020-05-28 20:44:59 · 110 阅读 · 0 评论 -
java多线程、高并发
1、CASJDK早期,synchronized 叫做重量级锁, 因为申请锁资源必须通过kernel, 系统调用而CAS即是轻量级锁(自旋锁),最终实现:cmpxchg = cas修改变量值注意:偏向锁和自旋锁都是由用户空间进行完成的,而重量级锁是需要向内核申请的。2、锁升级因为synchronized内部有了相应优化,所以才会有锁升级的概念。步骤:为何会有偏向锁?答:多数synchronized方法在很多情况下,只有一个线程在运行。申请重量级锁没必要(不如直接贴上原创 2020-05-20 19:51:41 · 259 阅读 · 0 评论 -
Jvm垃圾回收算法
四大算法1、引用计数法缺点:1)每次对象赋值时均要维护引用计数器,且计数器本身也有一定的消耗。2)较难处理循环引用所以一般不采用这种形式。注意:其实当我们直接调用System.gc()只会把这次gc请求记录下来,并不会马上进行垃圾回收,甚至不一定会执行垃圾回收。2、复制算法年轻代中的GC,主要是复制算法(Copying)复制算法的基本思想就是将内存分为两块(e...原创 2020-04-29 21:45:37 · 165 阅读 · 0 评论 -
JVM基本概述
1、JVM体系结构预览注意:在运行时数据区中,亮色的表示一个进程的资源,存在垃圾回收。灰色的表示是每个线程私有的,另外内存占的非常少,几乎基本不存在垃圾回收机制。2、类装载器ClassLoader注意:Class可以当成类的模版对象,相同的类在jvm中只有一个。sun.misc.Launcher 它是一个java虚拟机的入口应用。1)双亲委派机制当一个类收到了类加载...原创 2020-04-28 22:32:22 · 206 阅读 · 0 评论 -
java多线程
1、一个Java应用程序java.exe,其实至少有三个线程:main()主线程,gc() 垃圾回收线程,异常处理线程。2、并发与并行并行:多个CPU同时执行多个任务。并发:一个CPU(采用时间片)同时执行多个任务。3、线程的创建和使用通过java.lang.Thread 类来体现。 每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常 把run...原创 2020-04-24 22:52:41 · 193 阅读 · 0 评论 -
mac-idea快捷键总结
Command Command+F 在当前文件进行文本查找 Command+R 在当前文件进行文本替换 Command+Z 撤销 Command+Delete 删除光标所在行 或 删除选中的行 Command+D ...原创 2020-03-26 20:06:13 · 152 阅读 · 0 评论