![](https://img-blog.csdnimg.cn/20201129095158439.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础
Java基础
路 飞
2021年CSDN博客之星TOP8,CSDN博客专家,Java领域优质创作者
展开
-
NIO Selecotr/Channel实现原理解析
目前很多高性能的Java RPC框架都是基于Netty实现的,而Netty的设计原理又离不开Java NIO。本篇笔记是对NIO核心三件套:缓冲区(Buffer)、选择器 (Selector)和通道(Channel),其中后两者实现原理的学习总结。原创 2024-09-03 10:57:11 · 9894 阅读 · 39 评论 -
NIO Buffer 实现原理
目前很多高性能的Java RPC框架都是基于Netty实现的,而Netty的设计原理又离不开Java NIO。本篇笔记是对NIO核心三件套:缓冲区(Buffer)、选择器 (Selector)和通道(Channel),其中之一的实现原理的学习总结。原创 2024-09-03 10:34:23 · 9467 阅读 · 14 评论 -
Java中的128陷阱和new String(“xxx“)创建了几个对象问题
String s = new String("abc") 创建了几个字符串对象?// 答案:1个或者2个Ⅰ 如果字符串常量池中已经有"abc"存在,这种情况只需要新建1个对象,否则就需要新建2个对象。Ⅱ 当字符串常量池没有 "abc",此时会创建如下两个对象: * 一个是字符串字变量 "abc" 所对应的、驻留(intern)在一个全局共享的字符串常量池中的实例,此时该实例也是在堆中,字符串常量池只存放引用。 * 另一个是通过 new String() 创建并初始化的,内容与"abc"相同的实.原创 2024-09-03 11:06:00 · 5171 阅读 · 0 评论 -
Java子父类继承情况下构造函数/代码块/静态代码块执行顺序
Java子父类继承情况下构造函数/代码块/静态代码块执行顺序原创 2024-09-03 11:04:59 · 4361 阅读 · 0 评论 -
Java中的深拷贝与浅拷贝
深拷贝和浅拷贝区别是什么?数据分为基本数据类型和引用数据类型。基本数据类型:数据直接存储在栈中;引用数据类型:存储在栈中的是对象的引用地址,真实的对象数据存放在堆内存里。浅拷贝:对于基础数据类型:直接复制数据值;对于引用数据类型:只是复制了对象的引用地址,新旧对象指向同一个内存地址,修改其中一个对象的值,另一个对象的值随之改变。深拷贝:对于基础数据类型:直接复制数据值;对于引用数据类型:开辟新的内存空间,在新的内存空间里复制一个一模一样的对象,新老对象不共享内存,修改其中一个对象的值,不会影响另.原创 2024-09-03 11:05:34 · 4929 阅读 · 9 评论