Java基础常识

简介: 本文简要介绍了Java中String、StringBuilder与StringBuffer的区别,阐述了序列化与反序列化的基本概念,并概述了Java异常体系及常用数据结构,如动态数组、链表、栈、队列、哈希表、红黑树、跳表、B+树等,同时提及IO流的使用与注意事项。

String,StringBuilder 和 StringBuffer 的区别

string 是不可变的内部是final修饰,不适合大量字符的拼接

stringbuilder,StringBuffer动态数组

stringbuilder 不适合多线程,未加锁

StringBuffer已经加锁

什么是序列化与反序列化

  • 序列化 = 对象 → 字节流(用于存储或传输)
  • 反序列化 = 字节流 → 对象(用于重建状态)

序列化是对象状态的“冷冻干燥”,反序列化是“加水复活”。

序列化:动变静,

反序列化:静变动

说说 Java 中的异常

throwable父类,子类由error和exception,error jvm问题,无法处理,exception分为运行时runtimeexception和其他。运行时异常常见的由空指针异常,除数为0,,处理可以使用throw或者trycatch处理

你知道的数据结构有哪些

线性结构

动态数组:可以扩容,连续存储( ArrayList)

链表:不连续存储,有当前节点,才能找到相邻节点(linkedlist)

栈:先进后出,常用方法pop(出栈) push(入栈)peek(栈顶获取)linkedlist

队列:先进先出, linkedlist实现的是双端队列,常用方法:addfirst,addlast,标准队列off队尾添加。poll队头移除

非线性结构:

优先级队列: 保证优先级高的先出队,实现方式小顶堆(优先级小的都是根节点),或者大顶堆(优先级高的都是根节点)适合流式数据的处理(流式数据:无结束点,持续性)

hash表 key-value结构,根据key生成hash码存储数据value,适合数据的快速查找,实现有 HashMap(初始链表+数组,链表长度大于8数组长度大于64转化为红黑树,单线程首选),Hashtable(线程安全,效率低下)

红黑树:自平衡的二叉查找树,相对线性结构性能较好, TreeMap 属于红黑树

跳表:多级链表结构,链表上有多层索引,层级随机,比红黑树实现简单,性能差不多 。java 中的 ConcurrentSkipListMap 用跳表结构实现,redis 中的 SortedSet 也是用跳表实现

B+ 树:可以自平衡的 N 叉查找树。关系型数据库的索引常用 B+ 树实现

io流

要注意流的关闭

相关文章
|
Ubuntu 定位技术 开发工具
在Ubuntu 20.04系统中安装SLAM库的具体操作步骤
以上是在Ubuntu 20.04系统中安装SLAM库的具体操作步骤。就像积木游戏,需要按照正确的步骤,适时地添加正确的部件,才能够构建出我们想要的积木模型。在现实操作中可能会遇到各种问题,就像积木构建中的各种困难,我们要有耐心和决心去解决它们,最后得到我们想要的结果。希望这个有趣的积木游戏比方能帮助你更好地理解SLAM库的安装过程,并在实际操作中得到应用。
557 34
|
Web App开发 移动开发 小程序
公众号小程序H5网页像素流送UE5模型的方法分享
本文探讨了如何通过像素流送技术在小程序、公众号等平台展示复杂的3D模型(如UE5引擎开发的楼盘模型、数字孪生展厅)。该技术将GPU和CPU算力需求转移到服务器端,使用户侧无需高性能硬件即可流畅体验。通过Webrtc实现实时云渲染,确保毫秒级响应,且兼容多种浏览器。使用点量云流等产品级软件,老项目只需重新打包为EXE格式,即可轻松嵌入H5网页、小程序或公众号中,支持Unity、WebGL等多种3D应用及传统CAD模型。
663 1
中缀表达式转后缀表达式(逆波兰式)
中缀表达式转后缀表达式(逆波兰式)
1824 0
|
算法 安全 网络安全
什么是GMP?
该文章介绍了GMP(GNU Multiple Precision Arithmetic Library),这是一个用于任意精度整数、有理数和浮点数运算的开源库,特别适用于密码学、网络安全和计算代数等领域,以其高性能和优化的算法而著称。
1388 2
|
JavaScript 数据安全/隐私保护 Python
网易云音乐搜索接口JS逆向: Params、encSecKey加密和AES实战
网易云音乐搜索接口JS逆向: Params、encSecKey加密和AES实战
2229 4
|
存储 内存技术
nandflash学习1——导致nandflash反转的原因【转】
转自:http://blog.csdn.net/gaosentao/article/details/7711311 Bit Flip/Bit Flipping/Bit-Flip/Bit twiddling of Nand Flash Nand Flash由于本身硬件的内在特性,会导致(极其)偶尔的出现位反转的现象。
1545 0
|
XML 人工智能 测试技术
软件测试/人工智能|详解selenium xpath定位
软件测试/人工智能|详解selenium xpath定位
uniapp实战 —— 可滚动区域 scroll-view (自适配高度,下拉刷新)
uniapp实战 —— 可滚动区域 scroll-view (自适配高度,下拉刷新)
3740 0
|
存储 分布式计算 Cloud Native
Hologres揭秘:高性能原生加速MaxCompute核心原理
Hologres技术揭秘系列持续更新中,本期我们将带来Hologres高性能原生加速查询MaxCompute的技术原理解析。
8769 2
Hologres揭秘:高性能原生加速MaxCompute核心原理
|
存储 分布式计算 大数据
SPARK Parquet嵌套类型的向量化支持以及列索引(column index)
SPARK Parquet嵌套类型的向量化支持以及列索引(column index)
1076 0
SPARK Parquet嵌套类型的向量化支持以及列索引(column index)

热门文章

最新文章