08 2022 档案

摘要:什么是桥接方法 在 JDK1.5 中引入了泛型,泛型类型是基于原始类型、类型擦除原理进行实现的。那么JDK1.5有了泛型怎么兼容JDK1.5之前的类? 原始类型:Java总是会自动的为泛型类型提供一个相应的原始类型。所谓原始类型就是是指泛型的第一个限定类型(从左向右),无限定类型泛型的原始类型默认为 阅读全文
posted @ 2022-08-29 22:36 -Lucas 阅读(333) 评论(0) 推荐(0) 编辑
摘要:什么是堆污染? 堆污染是由于泛型的使用造成的一种潜在危险。因为使用泛型参数化类内部成员变量,同一类的不同实例对象内部里面成员变量的类型可能不同, 编译阶段无法发现,运行期间才能被发现的类型转换错误问题。 上代码 public class Demo { public static void main( 阅读全文
posted @ 2022-08-29 21:21 -Lucas 阅读(52) 评论(0) 推荐(0) 编辑
摘要:调优的目的 减小响应时间 提高吞吐量 阅读全文
posted @ 2022-08-28 13:18 -Lucas 阅读(17) 评论(0) 推荐(0) 编辑
摘要:1. 对象年龄达到阈值后进入老年代 默认情况下,对象在新生代经历了15次(CMS默认6,其他回收器默认15,以为4字节最大长度限制,最大值也是15)GC后,便会达到进入老年代的条件,将对象转移进入老年代。当然,年龄的阈值可以通过JVM参数进行设置: -XX:MaxTenuringThreshold= 阅读全文
posted @ 2022-08-25 22:23 -Lucas 阅读(1131) 评论(0) 推荐(0) 编辑
摘要:怎么判定对象是否为垃圾对象 1.引用计数法 在每个对象中添加一个引用计数器,当有地方引用这个对象的时候,引用计数器就+1,当引用失效的时候,计数器的值就-1。任何时刻计数器为0的对象就是不可能再被使用的。 优点:容易实现 缺点:很难解决对象之间相互循环引用的问题 2.可达性分析 目前的JAVA虚拟机 阅读全文
posted @ 2022-08-25 22:14 -Lucas 阅读(160) 评论(0) 推荐(0) 编辑
摘要:创建对象的几种方式 1. new关键字 Object obj = new Object(); 2. 反射 3.克隆 4.反序列化 创建对象的过程 1.创建过程 (1)检查是否加载过 虚拟机解析new指令,首先检查常量池是否有类的符号引用,并且检查是否已经加载解析和初始化,没有就执行类加载过程 (2) 阅读全文
posted @ 2022-08-25 12:17 -Lucas 阅读(130) 评论(0) 推荐(0) 编辑
摘要:溢出区域 内存溢出分为堆内存溢出和栈内存溢出 如果虚拟机在扩展堆时无法申请到足够大的内存空间时,就会抛出outOfMemoryError 如果线程请求的栈深度大于虚拟机所允许的最大深度,则抛出StackOverflflowError 栈溢出 public class TestOverFlow { p 阅读全文
posted @ 2022-08-24 23:36 -Lucas 阅读(110) 评论(0) 推荐(0) 编辑
摘要:什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一个虚构出来的计算机,有着自己完善的硬件架构,如处理器、堆栈等。 为什么需要JVM Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代 阅读全文
posted @ 2022-08-24 16:51 -Lucas 阅读(68) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示