“BUG”的你咋又来了?
无论这一年我们遇到了什么困难或者是喜事,在此时此刻,个人觉得都应该反思或者回味一下这些事情,对于好事,我们欣慰开心;坏事那我们能做到的就是极力避免它们再次发生,就如同接下来笔者要介绍的整个熟悉而陌生的名称“BUG”,接下来我主要会为大家介绍一下,发生在2022年这一年中的笔者在开发过程中所遇到的“bug”和“坑”。
2025年05月07日
无论这一年我们遇到了什么困难或者是喜事,在此时此刻,个人觉得都应该反思或者回味一下这些事情,对于好事,我们欣慰开心;坏事那我们能做到的就是极力避免它们再次发生,就如同接下来笔者要介绍的整个熟悉而陌生的名称“BUG”,接下来我主要会为大家介绍一下,发生在2022年这一年中的笔者在开发过程中所遇到的“bug”和“坑”。
2025年05月07日
在Java的世界里,有一种神奇的能力,能让对象像穿越时空一样被保存下来,之后又能在另一个时空重新“复活”。这就是我们今天要探讨的主题——Java序列化与反序列化。这可不是简单的把对象存到硬盘这么简单的事,它涉及到了Java对象持久化的秘密,以及如何让这些对象跨越网络传输或者存储介质的奇妙过程。
2025年05月07日
Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。
将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。
整个过程都是Java虚拟机(JVM)独立的,也就是说,在一个平台上序列化的对象可以在另一个完全不同的平台上反序列化该对象。
类ObjectInputStream 和ObjectOutputStream是高层次的数据流,它们包含序列化和反序列化对象的方法。
2025年05月07日
数据结构作为每一个开发者不可回避的问题,而 Java 对于不同的数据结构提供了非常成熟的实现,这一个又一个实现既是面试中的难点,也是工作中必不可少的工具,在此,笔者经历漫长的剖析,将其抽丝剥茧的呈现出来,在此仅作抛砖引玉,望得诸君高见,若君能有所获则在下甚是不亦乐乎,若有疑惑亦愿与诸君共求之!
本文一共 3.5 W字,25 张图,预计阅读 2h。可以收藏这篇文章,用的时候防止找不到,这可能是你能看到的最详细的一篇文章了。
2025年05月07日
上篇文章分析了AQS的实际应用之一:ReentrantLock 的实现。ReentrantLock 和synchronized 都是独占锁,而AQS还支持共享锁,本篇就来分析AQS 共享锁的实际应用。
通过本篇文章,你将了解到:
1、共享锁、独享锁区别
2、读锁的实现原理
3、写锁的实现原理
2025年05月07日
个人 blog: iyuhp.top原文链接: Java 基础数据结构
java -version java version "13.0.2" 2020-01-14 Java(TM) SE Runtime Environment (build 13.0.2+8) Java HotSpot(TM) 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)
2025年05月07日
大家好!今天我们要一起踏上一段奇妙的旅程——深入Java集合框架的源码世界。这就像是一位探险家进入神秘的地下洞穴,每一步都充满了未知与惊喜。集合框架是Java编程的核心基石之一,它不仅仅是一组类和接口的集合,更是一个经过精心设计的数据结构生态系统。今天,我们就来揭开它的神秘面纱,看看它是如何工作的。
2025年05月07日
在说java序列化的作用之前,先说下什么是java序列化吧。java序列化是指把java对象转换为字节序列的过程,而java反序列化是指把字节序列恢复为java对象的过程。java序列化主要有两个作用: