java虚拟机体系结构 方法区 堆 java虚拟机栈 本地方法栈
方法区 java虚拟机编译的class文件中二进制数据类型解析数据存在方法区中 是所有线程共享
和存在数据的线程安全问题 当二个线程使用同一类并且类还被加载 则让一个线程加载 另一个
线程等待
java虚拟机栈 是线程私有的 既决定了线程的个数 存放的变量 对象引用
堆 是所有线程所共享 存放的是所有的对象 涉及到多线程的并发 对象的引用 直接引用 使用句柄引用
直接内存不是java虚拟机的一部分 加快GC的垃圾回收 但直接内存出现内存溢出还难排除
java虚拟机的加载机制 双亲委派模式 根类加载器 扩展类加载器 应用类加载器 分支 用户自定义加载器 扩展类加载器 应用类加载器会先加载jdk的源码包 然后是用户自定义的包 比如java.lang.String自定义的类永远不会被加载
gc的垃圾收集算法
1.引用计数算法 确定不能处理循环引用的对象
2.标记清除算法 先将需要清除的标记出来然后进行清除 会产生很多的内存碎片
3.复制算法 先将内存分为2半 将需要清除的放入另一半中 浪费空间
4.标记整理算法 是结合了标记清除和复制算法的各自的优点 先将需要清除的标记并且整理在一旁
既不会浪费内存也不会产生内存碎片
5.分代收集算法 根据对象的不同生命周期采用不同的算法

最新文章

  1. .htaccess添加Header set Cache-Control报错500
  2. Google开源SLAM软件cartographer中使用的UKF滤波器解析
  3. [POI2008]KLO && POC
  4. 【leetcode】Repeated DNA Sequences(middle)★
  5. Java IO操作
  6. ionic cordova file download and load
  7. CodeForces 489B (贪心 或 最大匹配) BerSU Ball
  8. debian防火墙firestarter
  9. sql server split函数
  10. JVM性能调优博客
  11. cocos2d-x-3.1 事件分发机制 (coco2d-x 学习笔记七)
  12. [笔记]A*寻路算法初探
  13. A. Karen and Morning
  14. speedment 入门教程
  15. iOS App3D Touch快捷键的静态以及动态设置详细使用
  16. jquery图片延迟加载 及 serializeArray、serialize用法记录
  17. MySql:SELECT 语句(四)通配符的使用
  18. 【hadoop】1、MapReduce进行日志分析,并排序统计结果
  19. 2-3 用组件改写Todolist案例
  20. Liinux 学习心得

热门文章

  1. HDU3844Mining Your Own Business
  2. ARTS打卡计划第三周
  3. MQTT 连接服务端失败,报错客户机未连接(32104)
  4. LeetCode 260. 只出现一次的数字 III(Single Number III)
  5. vscode-icons插件使用
  6. Omnigraffle
  7. Python中函数的使用
  8. 利用js代码自动删除稿件的普通弹幕
  9. 【AMAD】python-magic -- libmagic的python封装
  10. __getattriute__