![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础知识——集合
TomatoGun
这个作者很懒,什么都没留下…
展开
-
String
String对象是不可变的查看JDK文档会发现,String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容为什么设计成不可变呢?1. 设计考虑,字符串常量池是Java堆内存中一个特殊的存储区域,相同的字符串只会分配一次内存,由于字符串使用频繁,可以节省内存空间,提高效率2. 安全性,String被许多的Java类用来当做内部参数,假...原创 2018-03-14 23:11:30 · 122 阅读 · 0 评论 -
String、StringBuilder和StringBuffer区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)StringBuffer是如何保证线程安全的呢?StringBuffer把所有操作类的方法均添加synchronized同步锁,所以,StringBuffer不可避免的比StringBuilder慢StringBuffer从JDK1.0开始就有,但由于性能问题,StringB...原创 2018-03-14 22:20:27 · 142 阅读 · 0 评论 -
Java集合框架
本篇文章对Java中的集合框架做一个整体梳理,了解了这个框架的一些设计理念与约定,不涉及集合类的底层实现细节。Java 集合框架提供了一套性能优良,使用方便的接口和类,Java集合框架位于java.util包中,我们先来看一下集合框架中的类图(图 1-1)。鉴于Java集合框架类目众多,图中只列出部分笔者认为的比较常用的集合类与接口。图 1-1一、总体分析在集合框架的类继承体系中,最顶层有...原创 2018-03-16 16:27:14 · 380 阅读 · 0 评论 -
ArrayList源码分析
引言:ArrayList是集合中最常用的类之一,分析其源码有助于帮助我们更好的理解JDK设计者们的匠心独具。ArrayList的底层实现是包装了一个动态数组,如果你了解动态数组的数据结构,那么对于掌握ArrayList将会异常容易。ArrayList在集合框架中的关系ArrayList继承自AbstractList实现了List接口,AbstractList是继承自AbstractCollecti...原创 2018-03-21 16:44:08 · 180 阅读 · 0 评论