![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 81
来一粒感康
这个作者很懒,什么都没留下…
展开
-
Lock与synchronized 的区别
1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定,如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断如果 使用ReentrantLock,如果A不释放,可以使B在等待了足够长的时间以后,中断等待,而干别的事情ReentrantLock获取锁定与三种方式:a) lock(), 如果获取了锁立即返回,如果别转载 2022-01-11 10:31:26 · 320 阅读 · 0 评论 -
String、StringBuffer与StringBuilder之间区别
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下1.三者在执行速度方面的比较:StringBuilder> StringBuffer > String2.String <(StringBuffer,StringBuilder)的原因String:字...转载 2022-01-11 10:23:02 · 341 阅读 · 0 评论 -
仅用六种字符来完成Hello World,你能做到吗?
Hello World 对于每一个开发者来说都不陌生,因为在我们学习任何一个语言或框架的时候,都会有一个Hello World的案例来帮助我们快速入门。如果我们使用JavaScript来输出Hello World的话,可以这样写:alert("Hello World");放入HTML:<html> <script type="text/javascript"> alert("Hello World"); </script></h转载 2022-01-06 12:17:48 · 394 阅读 · 0 评论 -
愤怒, 竟燃还有学校还在教 Java 的 Swing
昨天,有个读者私信我说,“老师正在教 Swing,这个知识点还需要学习吗?”说句实在话,刚看到这个问题的时候,我是想骂娘的!不是骂读者啊,你懂得,骂学校,骂老师。但我硬是掐着自己的大腿忍住了,很客气地回复了一句“对,甚至可以不学”。有点点到为止的味道。我之所以这么委婉,是希望读者不要对学校的老师心存偏见,影响了后面的学习进度。但我内心其实是非常愤怒的,都什么时候了,Java 中的 Swing 早被淘汰了,哪个项目还会用这玩意编写客户端界面呢!学 Swing、AWT 这些图形化组件纯属浪费转载 2022-01-06 12:05:55 · 252 阅读 · 0 评论 -
目前 Java 后端有哪些不是很有必要去学的?
今天要谈一下那些Java知识“已经过时”,没必要继续学习了。判断的依据主要有以下几点: 实际开发能否用到? 是否有助于加深对技术的理解? 对面试是否有用?JSPJSP在实际开发中,主要是作为MVC模型中的V(View)层出现的。当然,View层的渲染技术除了JSP,还有FreeMaker、Velocity等。JSP作为页面模板,在后端通过MVC框架渲染成HMTL,然后再发送到客户端(例如浏览器)来呈现。这也就是我们常说的“前后端不分离”,“混合式”开发。而当前,包括很多的.转载 2022-01-06 11:11:29 · 176 阅读 · 0 评论 -
228道Java中高级面试题(8),你会的有多少?
Java面试题(一)第一篇更新1~20题的答案解析《c++与java区别_2022年Java面试题基础系列228道(1)第二篇更新21~50题答案解析《Java面试题基础系列228道(2),查漏补缺》第三篇更新51~95题答案解析《Java面试题基础系列228道(3)Java面试题(二)第四篇更新1~20题答案解析《Java面试题基础系列228道(4),快看看哪些你还不会?》第五篇更新21~50题答案解析 《Java面试题基础系列228道(5),快看看哪些你还不会转载 2022-01-04 16:46:26 · 100 阅读 · 0 评论 -
Java中高级面试题总结(7),228道系列查漏补缺
Java面试题(一)第一篇更新1~20题的答案解析《c++与java区别_2022年Java面试题基础系列228道(1)第二篇更新21~50题答案解析《Java面试题基础系列228道(2),查漏补缺》第三篇更新51~95题答案解析《Java面试题基础系列228道(3)Java面试题(二)第四篇更新1~20题答案解析《Java面试题基础系列228道(4),快看看哪些你还不会?》第五篇更新21~50题答案解析《Java面试题基础系列228道(5),快看看哪些你还不转载 2022-01-04 14:52:04 · 280 阅读 · 0 评论 -
Java中高级面试题228道系列(6)
Java面试题(一)第一篇更新1~20题的答案解析《c++与java区别_2022年Java面试题基础系列228道(1)第二篇更新21~50题答案解析《Java面试题基础系列228道(2),查漏补缺》第三篇更新51~95题答案解析《Java面试题基础系列228道(3)Java面试题(二)第四篇更新1~20题答案解析《Java面试题基础系列228道(4),快看看哪些你还不会?》第五篇更新21~50题答案解析《Java面试题基础系列228道(5),快看看哪些你转载 2022-01-04 14:37:28 · 458 阅读 · 0 评论 -
Java面试题基础系列228道(5),快看看哪些你还不会?
Java面试题(一)第一篇更新1~20题的答案解析c++与java区别_2022年Java面试题基础系列228道(1),快看看哪些你还不会?第二篇更新21~50题答案解析Java面试题基础系列228道(2),查漏补缺第三篇更新51~95题答案解析Java面试题基础系列228道(3),查漏补缺!Java面试题(二)第四篇更新1~20题答案解析Java面试题基础系列228道(4),快看看哪些你还不会?Java面试题(二)21、存在两个类,B 继承 A ,C 继转载 2021-12-31 15:45:11 · 469 阅读 · 0 评论 -
Java面试题基础系列228道(4),快看看哪些你还不会?
第一篇更新1~20题的答案解析c++与java区别_2022年Java面试题基础系列228道(1),快看看哪些你还不会?第二篇更新21~50题答案解析Java面试题基础系列228道(2),查漏补缺第三篇更新51~95题答案解析Java面试题基础系列228道(3),查漏补缺!Java 面试题(二)1、Java 中能创建 volatile 数组吗?2、volatile 能使得一个非原子操作变成原子操作吗?3、volatile 修饰符的有过什么实践?4、volat.转载 2021-12-31 15:10:57 · 137 阅读 · 0 评论 -
Java面试题基础系列228道(3),查漏补缺
第一篇更新1~20题的答案解析《c++与java区别_2022年Java面试题基础系列228道(1),快看看哪些你还不会?》第二篇更新21~50题答案解析《Java面试题基础系列228道(2),查漏补缺》本次更新Java 面试题(一)的51~95题答案51、类 ExampleA 继承 Exception,类 ExampleB 继承ExampleA。有如下代码片断:try { throw new ExampleB("b")}catch(ExampleA e){ Sy.转载 2021-12-31 14:52:59 · 283 阅读 · 0 评论 -
Java面试题基础系列228道(2),查漏补缺
上一篇c++与java区别_2022年Java面试题基础系列228道(1),快看看哪些你还不会?本次更新Java 面试题(一)的21~50题答案21、描述一下 JVM 加载 class 文件的原理机制?JVM 中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java 中的类加载器是一个重要的 Java 运行时系统组件,它负责在运行时查找和装入类文件中的类。由于 Java 的跨平台性,经过编译的 Java 源程序并不是一个可执行程序,而是一个或多个类文件。当 Ja.转载 2021-12-31 13:49:00 · 154 阅读 · 0 评论 -
c++与java区别_2022年Java面试题基础系列228道(1),你能做对几道?
Java面试题(一)1、面向对象的特征有哪些方面?2、访问修饰符 public,private,protected,以及不写(默认)时的区别?3、String 是最基本的数据类型吗?4、float f=3.4;是否正确?5、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?6、Java 有没有 goto?7、int 和 Integer 有什么区别?8、&和&&的区别?9、解释内存中的栈(转载 2021-12-31 12:46:01 · 189 阅读 · 0 评论 -
深入理解JVM(三)——垃圾收集策略详解
Java虚拟机的内存模型分为五个部分,分别是:程序计数器、Java虚拟机栈、本地方法栈、堆、方法区。这五个区域既然是存储空间,那么为了避免Java虚拟机在运行期间内存存满的情况,就必须得有一个垃圾收集者的角色,不定期地回收一些无效内存,以保障Java虚拟机能够健康地持续运行。这个垃圾收集者就是平常我们所说的“垃圾收集器”,那么垃圾收集器在何时清扫内存?清扫哪些数据?这就是接下来我们要解决的问题。程序计数器、Java虚拟机栈、本地方法栈都是线程私有的,也就是每条线程都拥有这三块区域,而且会随着.转载 2021-12-30 15:25:21 · 143 阅读 · 0 评论 -
深入理解JVM(二)——揭开HotSpot对象创建的奥秘
对象的创建过程当虚拟机遇到一条含有new的指令时,会进行一系列对象创建的操作:检查常量池中是否有即将要创建的这个对象所属的类的符号引用;若常量池中没有这个类的符号引用,说明这个类还没有被定义!抛出ClassNotFoundException;若常量池中有这个类的符号引用,则进行下一步工作;进而检查这个符号引用所代表的类是否已经被JVM加载;若该类还没有被加载,就找该类的class文件,并加载进方法区;若该类已经被JVM加载,则准备为对象分配内存;根据方法区中该类的信息确定该类转载 2021-12-30 14:30:11 · 81 阅读 · 0 评论 -
深入理解JVM(一)——JVM内存模型
JVM内存模型Java虚拟机(Java Virtual Machine=JVM)的内存空间分为五个部分,分别是:1. 程序计数器2. Java虚拟机栈3. 本地方法栈4. 堆5. 方法区。下面对这五个区域展开深入的介绍。1. 程序计数器1.1. 什么是程序计数器?程序计数器是一块较小的内存空间,可以把它看作当前线程正在执行的字节码的行号指示器。也就是说,程序计数器里面记录的是当前线程正在执行的那一条字节码指令的地址。注:但是,如果当前线程正在执行的是一个本地方法,...转载 2021-12-30 14:44:38 · 160 阅读 · 0 评论 -
9个小技巧让你的 if else看起来更优雅
if else 是我们写代码时,使用频率最高的关键词之一,然而有时过多的 if else 会让我们感到脑壳疼,例如下面这个伪代码:是不是很奔溃?虽然他是伪代码,并且看起来也很夸张,但在现实中,当我们无数次 review 别人代码时,都会发现类似的场景,那么我们本文就来详细聊聊,有没有什么方法可以让我们避免来写这么多的 if else 呢?我们本文提供了 9 种方法来解决掉那些“烦人”的 if else,一起来看吧。使用 return我们使用 return 去掉多余的 else..转载 2021-12-29 17:09:00 · 164 阅读 · 0 评论 -
永远不要使用双花括号初始化实例,除非你想OOM
生活中的尴尬无处不在,有时候你只是想简单的装一把,但某些“老同志”总是在不经意之间,给你无情的一脚,踹得你简直无法呼吸。但谁让咱年轻呢?吃亏要趁早,前路会更好。喝了这口温热的鸡汤,咱们来聊聊是怎么回事。事情是这样的,在一个不大不小的项目中,小王写下了这段代码:Map<String, String> map = new HashMap() {{ put("map1", "value1"); put("map2", "value2"); put...转载 2021-12-29 16:43:01 · 126 阅读 · 0 评论 -
List 去重的 6 种方法,这个方法最完美
在日常的业务开发中,偶尔会遇到需要将 List 集合中的重复数据去除掉的场景。这个时候可能有同学会问:为什么不直接使用 Set 或者 LinkedHashSet 呢?这样不就没有重复数据的问题了嘛?不得不说,能提这个问题的同学很机智,一眼就看到了问题的本质。但是,在实际的业务开发中遇到的情况会更复杂。比如,List 集合可能是历史遗留问题,也有可能是调用接口返回的类型限制,只能使用 List 接收,又或者是代码写了一半,在做多个集合合并的时候才发现了这个问题,总之造成问题的原因有很多种...转载 2021-12-29 15:51:53 · 341 阅读 · 0 评论 -
连接字符串除了“+”还有哪些方法
在Java中进行字符串连接有各种方法,但是如果在进行连接时,如果我们不注意空对象,那么最后的结果可能会包含不是我们预期的值。在本期内容中,我讲给大家讲述一些在连接字符串时处理空字符串对象的方法。存在的问题假设我们要对一个字符串数据中的元素进行连接,数组中的元素有可能为空,我们先用“+”进行简单的拼接:String[] values = { "小黑 ", null, "", "说 ", "Java!" };String result = "";for (String value : .转载 2021-12-29 15:24:44 · 286 阅读 · 0 评论 -
一文弄懂字符编码和应用
字符和编码在这个世界,我们依靠语言文字进行交流。英文是字符,中文也是字符,连表情符号????都是字符。英文一共有26个字母,10个数字;中文常见的就有几千个汉字。而且还有其他的很多语言。但是计算机的语言是二进制,也就是0和1,那么怎么用0 1 表示这些自然语言呢?ASCII编码和扩展在计算机被发明并使用之后,急切的需要识别我们现实世界的文字,比如怎么存储字符a呢?所以最开始计算机科学家发明了一种编码,来存储这些字母、数字和常见的符号。 因为这些常见的符号不多,可以使用一...转载 2021-12-28 19:25:03 · 404 阅读 · 0 评论 -
阻塞的处理和网络模型设计——深入思考Java IO和NIO(二)
书接上文底层实现和优化——深入思考Java IO和NIO本文将详述NIO在网络通信中是怎么解决阻塞的API这个问题的。初次实践假设有一个文件服务器提供上传图片的服务,有海量的客户端的图片需要上传,我们应该怎么提供这个服务呢?首先我打算使用TCP连接让客户端上传文件,每次上传文件建立一个连接,在一个连接里面客户端将一张图片发送完之后就断开连接。有了这个想法后,看看我是怎么写这个文件服务器的。文件服务server可以看我在GitHub的代码 BioServer ...转载 2021-12-28 15:05:36 · 147 阅读 · 0 评论 -
底层实现和优化——深入思考Java IO和NIO(一)
我之前经常这么问自己,我真的懂JAVA IO和NIO吗?看着很简单,也经常使用,可是用过就忘了。JAVA IO是指Java程序处理输入输出,现在通常是指文件和网络IO。NIO是JDK 1.4之后提供的新的IO方面的API。Java IO和NIO虽然看起来很简单,但要说点什么出来,却似乎有什么如鲠在喉,无从说起。本文从底层源码、理论图解和模型思考几个方面尝试讲透JAVA IO和NIO。Java IOJDK 1.4之前提供了Java io包。Java IO API的设计特点在java转载 2021-12-28 15:03:45 · 284 阅读 · 0 评论 -
整理了 40 多套 Java 完整实战项目,各个精品
很多小伙伴都想找能跟着学习的完整实战项目。我分类整理了亿点点,都是开源免费的,适合系统学习,而且都是可以写到简历上的企业级完整项目!(其中很多项目还自带教程哦)电商秒杀天猫整站 J2EE天猫整站 SSM天猫整站 Springbootmall-learning:mall学习教程,架构、业务、技术要点全方位解析。SpringBoot 电商商城系统 Mall4jSpringBoot 完整电商系统 Mall:包括前台商城系统及后台管理系统,基于 Sprin转载 2021-12-28 13:32:52 · 976 阅读 · 0 评论 -
咦,Java拆分个字符串都这么讲究
提到 Java 拆分字符串,我猜你十有八九会撂下一句狠话,“这有什么难的,直接上 String 类的 split() 方法不就拉到了!”假如你真的这么觉得,那可要注意了,事情远没这么简单。来来来,搬个小板凳坐下。假如现在有这样一串字符“今天下雨了,今天下雪了”,需要按照中文的逗号“,”进行拆分,这意味着第一串字符为逗号前面的“今天下雨了”,第二串字符为逗号后面的“今天下雪了”(这不废话)。另外,在拆分之前,要先进行检查,判断一下这串字符是否包含逗号,否则应该抛出异常。public cl转载 2021-12-28 13:09:21 · 76 阅读 · 0 评论 -
必看, java后端,亮剑诛仙(超全知识点总结)
你可能有所感悟。零散的资料读了很多,但是很难有提升。到处是干货,但是并没什么用,简单来说就是缺乏系统化。另外,噪音太多,雷同的框架一大把,我不至于全都要去学了吧。这里,我大体根据基础、Java基础、Java进阶给分了下类,挑的也都是最常用最重要的工具。这篇文章耗费了我大量的精力,你要是觉得好,请不要吝啬你的赞。如果你认同,可以关注我的微信公众号xjjdog,里面讲的就是这些内容。我会尝试更加系统化。基础知识数据结构基本的数据结构是非常重要的,无论接触什么编程语言,这些基本数据结构都是.转载 2021-12-26 16:37:37 · 145 阅读 · 0 评论 -
Java面试通关要点汇总集
基础篇基本功面向对象的特征 final, finally, finalize 的区别 int 和 Integer 有什么区别 重载和重写的区别 抽象类和接口有什么区别 说说反射的用途及实现 说说自定义注解的场景及实现 HTTP 请求的 GET 与 POST 方式的区别 session 与 cookie 区别 session 分布式处理 JDBC 流程 MVC 设计思想 equals 与 == 的区别集合List 和 Set 区别 List 和 Map 区别 A转载 2021-12-26 16:25:49 · 114 阅读 · 0 评论 -
你见过哪些目瞪口呆的 Java 代码技巧?
前言:感谢大家观看本文,希望大家都能有所收获导语本文不是一个吹嘘的文章,不会讲很多高深的架构,相反,会讲解很多基础的问题和写法问题,如果读者自认为基础问题和写法问题都是不是问题,那请忽略这篇文章,节省出时间去做一些有意义的事情。开发工具不知道有多少”老”程序员还在使用 Eclipse,这些程序员们要不就是因循守旧,要不就是根本就不知道其他好的开发工具的存在,Eclipse 吃内存卡顿的现象以及各种偶然莫名异常的出现,都告知我们是时候寻找新的开发工具了。更换 IDE根本就不想多解释转载 2021-12-26 15:11:13 · 170 阅读 · 0 评论 -
学Java很难上手精通?因为你没找到这些练手项目
经常有读者问我:“在学编程的过程中,看了不少书、视频课程,但是看完、听完之后感觉还是不会编程,想找一些项目来练手,但是不知道去哪儿找?”类似的问题,有不少读者问,估计是大部分人的困惑。练手项目那肯定是去github找啊!之前我在知乎上回答过这种问题,分享了一些 github 的项目,点赞还不错。所以,这次我又重新整理了一下,分享出来。以下项目排名不分先后:1. litemallhttps://github.com/linlinjava/litemallStar转载 2021-12-26 14:23:29 · 149 阅读 · 0 评论 -
非计算机专业出身,能从事程序员的工作吗?
想要从事IT行业的同学们,大多都会有这样的疑惑:不是学计算机专业的,能从事IT方面工作吗?随着互联网的快速发展,越来越多的人想要转行到IT行业,可又担心自己的专业不对口,影响将来的发展,那么,不是计算机专业的到底能否顺利转行IT呢?其实,IT行业是个很宽泛的范围,里面包含了很多不同的职业,具体工作内容和收入也千差万别。简单来说,对于比较新的技术,缺口很大,前景也比较好,比如区块链、AI、云计算、大数据等等,但是,这些技术门槛也比较高,没有那么容易入行。//java学习交流:737251827 .转载 2021-12-26 14:03:44 · 714 阅读 · 0 评论 -
为什么大家都觉得前端自学比培训好?
这个是仁者见仁,智者见智的问题了。一般情况下说这些话的人不是自控能力超强,就是自学能力强,或是有一定的底子。」觉得自学比培训好的原因而大家觉得自学前端比培训好是主要原因有以下几点:01前端入门门槛低有的人会了个html+css就觉得自己是前端了,却不知道这只是前端的基础罢了。02找不到靠谱的前端培训机构很多人觉得前端培训自学好,是因为没有找到靠谱的前端培训机构。学完之后找不到工作,或是在工作中运用的技术,从培训机构出来学来的不够用。也许您会问:“那是不是意转载 2021-12-26 12:46:36 · 105 阅读 · 0 评论 -
二叉树就是这么简单
一、二叉树就是这么简单本文撇开一些非常苦涩、难以理解的概念来讲讲二叉树,仅入门观看(或复习)....首先,我们来讲讲什么是树:树是一种非线性的数据结构,相对于线性的数据结构(链表、数组)而言,树的平均运行时间更短(往往与树相关的排序时间复杂度都不会高)在现实生活中,我们一般的树长这个样子的:但是在编程的世界中,我们一般把树“倒”过来看,这样容易我们分析:一般的树是有很多很多个分支的,分支下又有很多很多个分支,如果在程序中研究这个会非常麻烦。因为本来树就是非线性的,而我们计算..转载 2021-12-25 18:18:53 · 83 阅读 · 0 评论 -
大白话带你认识JVM
前言如果在文中用词或者理解方面出现问题,欢迎指出。此文旨在提及而不深究,但会尽量效率地把知识点都抛出来一、JVM的基本介绍JVM 是 Java Virtual Machine 的缩写,它是一个虚构出来的计算机,一种规范。通过在实际的计算机上仿真模拟各类计算机功能实现···好,其实抛开这么专业的句子不说,就知道JVM其实就类似于一台小电脑运行在windows或者linux这些操作系统环境下即可。它直接和操作系统进行交互,与硬件不直接交互,可操作系统可以帮我们完成和硬件进行交互的工作。1.1转载 2021-12-25 17:27:52 · 136 阅读 · 0 评论 -
聊一聊-JAVA 泛型中的通配符 T,E,K,V,?
前言Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型带来的好处在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是本转载 2021-12-24 15:08:01 · 137 阅读 · 0 评论 -
说说Java里的equals(中)-Java那些事儿
在Java面向对象一文中,我们后续留了一个话题,引入了Set,我们知道Set里面的元素是不可以重复的,话不多说,上代码:精简了上一章中的Person类,保留了isSame()方法;想必大家看到类似的代码开始怀疑笔者是不是又挖坑让大伙跳了吧,来看一下结果没错,有坑,同样是对象,都是放到了set中,一个打印size()是1,另一个打印size()是2。在Java面向对象一文中,我们在Person这个类,虽然写了一个isSame()方法来判断业务上是否相等,看...转载 2021-12-24 13:49:44 · 93 阅读 · 0 评论 -
说说Java里的equals(上)
在Java字符串那些事儿一文发表后,朋友给我留言说:比较字符串用equals不就完了呗,干嘛要用"==",吃饱了撑的,能不能来点实际的。其实在文章里我是想表明,Java字符串两种声明方式在堆内存中不同的体现,我们在写代码过程中,为了避免重复的创建对象,尽量使用String s1 ="123" 而不是String s1 = new String("123"),因为JVM对前者给做了优化。那么,我们今天来说说equels,话不多说,上代码:执行一下,结果如下:面试题中...转载 2021-12-24 13:26:56 · 136 阅读 · 0 评论 -
Arraylist与Vector的区别 - Java那些事儿
前几篇文章我们重点说了ArrayLIst,是时候放出这张图了。这张图里的内容对我们学习Java来说,非常的重要,白色的部分是需要去了解的,黄色部分是我们要去重点了解的,不但要知道怎么去用,至少还需要读一次源码。绿色部分内容已经很少用了,但在面试题中有可能会问到,我们来看一个经常出现的面试题:Arraylist与Vector的区别是什么?首先我们给出标准答案:1、Vector是线程安全的,ArrayList不是线程安全的。2、ArrayList在底层数组不够用时在原来的基础上扩展0.5..转载 2021-12-24 12:40:48 · 131 阅读 · 0 评论 -
时间复杂度 - Java那些事儿专栏
ArrayList部分一共五篇文章了,并且引入了时间复杂度来分析,强烈建议大家一定要按顺序阅读,本文是第3篇,前两篇文章分别是:1、《ArrayList初始化 - Java那些事儿》https://shimo.im/docs/CYdjhGgjvjXYj9Jg/ 2、《ArrayList底层数组扩容原理 - Java那些事儿》https://shimo.im/docs/JJHK3hwwCwTTCKPP/ 最近看了一下评论区里,大家都急着想要了解HashMap,先不要着急,要完整的了解Hash.转载 2021-12-24 12:13:13 · 96 阅读 · 0 评论 -
ArrayList底层数组扩容原理 - Java那些事儿
ArrayList部分一共五篇文章了,并且引入了时间复杂度来分析,强烈建议大家一定要按顺序阅读,本文是第2篇,相关文章分别是:《ArrayList初始化 - Java那些事儿》https://shimo.im/docs/CYdjhGgjvjXYj9Jg/ 再次强调,ArrayList是一个普通的类,如果我们开心,可以自己写一个。ArrayList初始化 - Java那些事儿文章发表后,评论区有人问如下问题。我们先回顾一下之前的所说过的数组,话不多说,上代码:老规则,我...转载 2021-12-24 12:11:17 · 169 阅读 · 0 评论 -
ArrayList初始化 - Java那些事儿
ArrayList部分一共五篇文章了,并且引入了时间复杂度来分析,强烈建议大家一定要按顺序阅读,本文是第1篇。前些天的文章,反复的画图,不停的重复,就是想让大家理解,对象在内存中是什么样的。也是为今天的及以后的讲解打下基础。如果要说大家在写Java代码的时候哪个类用得最多,我想除了String,基本上就是ArrayList了吧,那今天我们说说ArrayList。首先ArrayList是一个普通的类,我们来看一段代码:首先:执行List<Person> list1 = ne..转载 2021-12-23 16:43:12 · 846 阅读 · 0 评论