posted @ 2021-09-16 22:23 清烟无瘾 阅读(543) 评论(0) 推荐(0)
摘要:
TCP粘包、拆包属于网络底层问题,在数据链路层、网络层、传输层都有可能出现。日常的网络应用开发大多数在传输层出现,而UDP是由消息保护边界的,不会发生粘包、拆包问题,只发生在TCP协议中。假设客户端向服务端发送了两个连续的数据包Packet1、Packet2; 在这个过程中可能会出现3种情况: 1 阅读全文
摘要:
类的生命周期 一个类的完整生命周期如下: 类加载过程 Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚拟机是如何加载这些 Class 文件呢? 系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。 详见:jvm规范5.4 。 加载 阅读全文
posted @ 2021-09-16 16:46 清烟无瘾 阅读(75) 评论(0) 推荐(0)
摘要:
jvm原理 深入解析强引用、软引用、弱引用、幻象引用(虚引用) 关于强引用、软引用、弱引用、幻象引用的区别,在很多公司的面试题中经常出现,可能有些小伙伴觉得这个知识点比较冷门,其实大家在开发中经常用到,如new一个对象的时候就是强引用的应用。 在java语言中,除了原始数据类型(boolean、by 阅读全文
posted @ 2021-09-16 16:44 清烟无瘾 阅读(244) 评论(0) 推荐(0)
摘要:
方法的重写发生在子类中 遵循两同两小一大原则: 方法名相同 参数列表相同 父类方法的返回类型是引用类型的话,父类方法返回类型的子类型;如果父类方法的返回类型是void 和 基本类型,则方法返回值重写时是不可以修改的。 重写方法的异常要比父类小 访问权限不能小于父类的访问权限 阅读全文
posted @ 2021-09-16 09:52 清烟无瘾 阅读(50) 评论(0) 推荐(0)
摘要:
前言:Byte、Short、Integer、Long这几个类的valueOf方法实现类似的。所以在[-128,127]区间内,==比较的时候,值总是相等的(指向的是同一对象),在这个区间外是不等的。 原因:上述四个包装类回先创建[-128,127]区间内的对象放入堆中。如果发生基本类型自动装箱的范围 阅读全文
posted @ 2021-09-16 09:18 清烟无瘾 阅读(41) 评论(0) 推荐(0)
摘要:
抽象类: 1、抽象类和普通类的主要有三点区别: 1. 抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。 2. 抽象类不能用来创建对象; 3. 如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。 阅读全文
posted @ 2021-09-16 09:09 清烟无瘾 阅读(317) 评论(0) 推荐(0)
摘要:
JDK动态代理 JDK动态代理是使用 java.lang.reflect 包下的代理类来实现. JDK动态代理动态代理必须要有接口 CGLIB动态代理 JDK动态代理必须要有接口, 但如果要代理一个没有接口的类该怎么办呢? 这时我们可以使用CGLIB动态代理. CGLIB动态代理的原理是生成目标类的 阅读全文
posted @ 2021-09-15 23:21 清烟无瘾 阅读(36) 评论(0) 推荐(0)
摘要:
1、Mybatis中会将<select>、<update>、<delete>、<insert>转换为MapperStatement对象 2、同一个 namespace 下的 mapper接口 与 XML文件中会维护一个Map,以接口 + 方法名 作为 key、以方法名与id值相同的MapperSta 阅读全文
posted @ 2021-09-15 23:16 清烟无瘾 阅读(286) 评论(0) 推荐(0)
摘要:
JDK 监控和故障处理工具总结 JDK 命令行工具 jps:查看所有 Java 进程 jstat: 监视虚拟机各种运行状态信息 jinfo: 实时地查看和调整虚拟机各项参数 jmap:生成堆转储快照 jhat: 分析 heapdump 文件 jstack :生成虚拟机当前时刻的线程快照 JDK 可视 阅读全文
posted @ 2021-09-14 23:26 清烟无瘾 阅读(75) 评论(0) 推荐(0)
浙公网安备 33010602011771号