JVM运行时内存构成
新生代1/3
- 新创建的对象首先放在新生代
- 对象状态朝生夕死
- 垃圾回收最频繁的地方
- 采用MinorGC进行内存清理
老年代2/3
- 大对象
- 多次垃圾回收后仍然保留的对象
- 采用MajorGC进行内存清理
永久代(很少内存空间)
- class文件、元数据信息
- 不执行内存清理
内存设置常用的参数
-Xms -Xmx
–XX:NewSize
–XX:MaxPermSize
–XX:NewRatio=n
–XX:SurivorRatio=n
–XX:+UserParNewGC和–X:+UserConcMarkSweepGC
HeapDumpOnOutMemoryError和HeapDumpPath
内存设置实战步骤
1、为操作系统预留运行资源、其余的内存分配给JVM
2、判断对象特性,确定新生代和老年代的内存大小
3、设置垃圾回收算法和开启OOM异常诊断日志
学到一个不错的学习方法,叫三个一学习法,首先学习思维从输入转变为输出的方式,尝试将学到的知识沉淀为一些内容,最基础的实践就是记笔记,笔记本质就是学到的知识的一些原始素材再加工一下可以整理一篇文章之类,而输出的形式就可以参考费曼学习法,尝试用大白话解释所学内容,不断迭代不能解释清楚的知识,直到完整解释清楚,而用大白话解释的话可以尝试使用生活联想法用生活中遇到的事情来解释专业知识便于毫无相关专业背景/或者比较薄弱的人理解
化被动吸收为主动产出,如写博客,最开始用记笔记的方式,然后加工,这时可以用费曼学习法,把知识化繁为简,化难为易的方式讲出来,期间遇到不够通畅的点就是没弄懂的点,就需要再回去斧正学习,记知识点可以用生活化联想将知识点串联。
化被动为主动,化复杂为简单,化抽象为具象,化陌生为熟悉
费曼学习法:
1.确定学习目标
2.以教促学
3.发展在学习
4.提炼与简化学习内容
在这里插入图片描述