上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: Class文件 javac Class文件是一组以8进制为基础的二进制流,各个数据项目严格按照顺序紧凑的排列在Class文件中,中间没有添加任何分隔符,整个class文件存储的内容几乎全是程序运行的必要数据,没有空隙存在。 当遇到8位字节以上的空间的数据项,则会按照高位在前的方式分割成若干个8位字节 阅读全文
posted @ 2019-06-26 23:32 曲阳阳 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 虚拟机工具 jps java process status 本地虚拟机唯一id lvmid local virtual machine id 连续执行3次,jps显示 jps -l 显示进程所执行的主类或者jar文件 jps -m 显示所运行的主类所接受的参数 program arguments a 阅读全文
posted @ 2019-06-13 11:40 曲阳阳 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 内存分配 原则: 优先分配到eden 大对象直接分配到老年代 长期存活的对象分配到老年代 空间分配担保 动态对象年龄判断 验证优先分配到eden 验证空间分配担保 VM arguments: -verbose:gc -XX:+PrintGCDetails -XX:+UseSerialGC -Xms2 阅读全文
posted @ 2019-06-12 23:44 曲阳阳 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 垃圾回收 如何判定对象为垃圾对象? 引用计数法 可达性分析法 如何回收? 回收的策略 标记-清除算法 复制算法 标记-整理算法 分代收集算法 垃圾回收器 serial Parnew Cms G1 何时回收? 引用计数法 在对象中添加引用计数器,当有地方引用这个对象的时候,引用计数器的值就+1,当引用 阅读全文
posted @ 2019-06-12 19:07 曲阳阳 阅读(113) 评论(0) 推荐(0) 编辑
摘要: java虚拟机内存管理 每个线程就是一个顺序的执行单元,线程共享区即多个线程共享同一块区域,线程独占区即每个线程都有自己的虚拟机栈,本地方法栈,程序计数器。 程序计数器是一个比较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器,位于线程独占区,如果线程执行的是java方法,这个计数器记录的 阅读全文
posted @ 2019-06-11 18:48 曲阳阳 阅读(155) 评论(0) 推荐(0) 编辑
摘要: jdk ,jre 和 jvm的关系 内存溢出问题的分析 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 通过Memory Analyzer分析 Shallow Heap 对象本身所占用的内存大小,不包含引用 阅读全文
posted @ 2019-06-10 10:32 曲阳阳 阅读(92) 评论(0) 推荐(0) 编辑
摘要: MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced MessageQueue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛 应用场景1、任务异步处理。将不需要同步 阅读全文
posted @ 2019-06-10 09:27 曲阳阳 阅读(179) 评论(0) 推荐(0) 编辑
摘要: Lock接口中有lockInterruptibly方法(线程中断),tryLock方法(获取锁成功返回成功,获取锁失败返回失败),还有就是锁的公平性问题,还有就是提供读写性能的ReadWriteLock等等。 Lock需要显示地获取和释放锁,繁琐,能让代码更加灵活 Synchronized不需要显示 阅读全文
posted @ 2019-02-14 09:42 曲阳阳 阅读(460) 评论(0) 推荐(0) 编辑
摘要: volatileche称为轻量级锁,被volatile修饰的变量,在线程之间是可见的。可见:一个线程修改了这个变量的值,在另一个线程中能够读到这个修改后的值synchronized除了线程之间互斥,还有一个非常大的作用,就是保证可见性 10最终结果为:10 volatile的底层是怎样实现的? 我们 阅读全文
posted @ 2019-02-13 07:03 曲阳阳 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 重入锁 重入锁 能够让线程进行重入的锁叫作重入锁锁重入 让线程进行重入的过程叫作锁的重入 锁是当前类的实例,当进入a方法的时候,线程必须先拿到当前类的实例(锁),这个时候,a的方法内同时调用了b方法,b方法也是用synchronized来修饰的,所以b方法也需要线程获取锁才能让线程进来 进入a方法的 阅读全文
posted @ 2019-02-12 21:26 曲阳阳 阅读(345) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页