自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Java Map详解 底层原理

HashMap 是非线程安全的。基于HashMap实现的,键值需要明确定义hashcode和equals,如果不重写的话,存在两个对象,equals相等,却hashcode不同。就可能出现问题了。因为是根据先hashcode查找,再根据equals查找的。底层是hashtable,即数组加链表,当冲突长度>8并且hashtable长度>64转化为将链表转化为红黑树。

2023-03-16 00:25:46 612

原创 Java序列化

序列化操作时会把系统当前类的serialVersionUID写入到序列化文件中,当反序列化时系统会自动检测文件中的serialVersionUID,判断它是否与当前类中的serialVersionUID一致。如果一致说明序列化文件的版本与当前类的版本是一样的,可以反序列化成功,否则就失败;源码说明:实现java.io.Serializable接口的类启用了类的可序列化性。如果系统当前类的serialVersionUID写入到序列化文件,后面再对当前类做了修改,那么会报错。

2023-03-16 00:24:25 80

原创 List中常用的实现类源码查看

List中元素有放入顺序,元素可重复,ArrayList是实现了基于动态数组的数据结构,地址是连续的,所以查询速度快,但是删除和插入元素效率较低。最常用的。LinkedList基于链表的数据结构,地址是任意的,节点空间都是散列的,对于删除和插入操作,LinedList效率较高。LinkedList 适用于要头尾操作或插入指定位置的场景。但是查询的话需要移动指针,遍历,效率较慢Vector和ArrayList一样,是实现了基于动态数组的数据结构,但是是线程同步的,效率很低。

2023-03-16 00:22:21 99

原创 Java Colloection集合大纲

│—————-├ LinkedList 接口实现类, 链表, 插入删除, 没有同步, 线程不安全。│—————-├ ArrayList 接口实现类, 数组, 随机访问, 没有同步, 线程不安全。│————————└ LinkedHashSet 链表维护元素的插入次序。│—————-└ Vector 接口实现类 数组, 同步, 线程安全。│ ———————-└ Stack 是Vector类的实现类。└ —————-TreeSet 底层实现为二叉树,元素排好序。Map 接口 键值对的集合 (双列集合)

2023-03-16 00:16:15 80

原创 Java 流(Stream)、文件(File)和IO

需要较高的读写速度使用缓存BufferedInputStream, BufferedOutputStream,( 字节流 ) BufferedReader, BufferedWriter( 字符流 ),注意:当缓冲区未写满的情况下,需要flush去清空缓存写入。当然close函数有运行flush,读取的化会返回读取长度。对于文件操作FileInputStream, FileOutputStream, ( 字节流 )FileReader, FileWriter( 字符 )网络数据流。

2023-03-16 00:11:19 266

原创 Java 正则表达式 以及Pattern ,Matcher ,PatternSyntaxException类详解

Pattern与Matcher共同进行字符串匹配,Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持. 单独用Pattern只能使用Pattern.matches(String regex,CharSequence input)一种最基础最简单的匹配。操作代码://再根据需求,调用Matcher的函数即可。

2023-03-16 00:10:00 232

原创 Java StringBuffer 和 StringBuilder 类 详解+源码解读

实现接口 Appendable, CharSequenceCharSequence:表示char值的一个可读序列Appendable:实现此接口的子类可以对字符或字符串进行追加操作。字符串存储结构用 char[] value;作为字符存储并且通过构造函数赋值 value = new char[capacity];字符串最大限制,是最大Int类型-8内存扩充?每次拓展返回增加相同数量的当前容量 + 2(如果足够),不会返回大于最大长度,除非。

2023-03-16 00:08:24 159

原创 Java String类 详解+源码查看

String在Java编程中广泛的应用。Java程序中所有的字符串文本(如"abc")都是此类的实例。

2023-03-16 00:03:15 183

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除