摘要: 1.什么是JMM Java Memory Model(Java内存模型) 2.作用 缓存一致性协议,用于定义(遵守)数据读写规则。JMM定义了线程工作内存和主内存之间的抽象关系:线程之间的共享变量存储在主内存(Main Memory)中,每个线程都有一个私有的本地内存(Local Memory)。 阅读全文
posted @ 2020-04-09 20:51 Q1Zhen 阅读(134) 评论(0) 推荐(0) 编辑
摘要: WebSecurityConfigurerAdapter:自定义Security策略 AuthenticationManagerBuilder:自定义认证策略 @EnableWebSecurity:开启WebSecurity模式 阅读全文
posted @ 2020-04-09 20:24 Q1Zhen 阅读(124) 评论(0) 推荐(0) 编辑
摘要: GC两种类: 轻GC、重GC(全局GC) GC的算法: 标记清除法 益:不需要额外的空间。 弊:两次扫描,严重浪费时间(时间成本),产生内存碎片。 标记压缩 是对标记清楚的再次优化。 益:防止内存碎片产生。 弊:在标记清楚的基础上再次扫描,移动存活的对象,多了一个移动成本。 复制算法 在GC过程中, 阅读全文
posted @ 2020-04-09 20:22 Q1Zhen 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 在JVM中只有一个堆内存,堆的内存大小可以调节。 类加载器读取类文件后,一般会把类、方法、常亮、变量、保存引用的实例对象放到堆中。 堆内存分为三个区域: 新生区(伊甸园区、幸存0区、幸存1区) 养老区 永久区(1.8后为元空间) 在新生区中,对象经过轻GC在伊甸园区、幸存者0、1区过渡,后经过重GC 阅读全文
posted @ 2020-04-09 19:31 Q1Zhen 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 调用带有native关键字的方法会被压进本地方法栈,调用本地方法接口,即JNI,使用本地方法,如C、C++编写的方法。 JNI:扩展java使用,融合不同的编程语言为Java所用。Java诞生之初,C、C++十分流行,要想立足,必须调用C、C++的程序。于是在内存区域中专门开辟了一块标记区域:Nat 阅读全文
posted @ 2020-04-09 00:03 Q1Zhen 阅读(125) 评论(0) 推荐(0) 编辑