Java基础
文章平均质量分 90
梳理Java学习和使用过程中遇到的基本问题。如equals和==的区别,hashcode的作用等等。
夜雨风云
求实求真
展开
-
Java枚举类型
枚举类型是Java 1.5中新增的类型。Java在类型划分时,将枚举类型作为独立的数据类型,用于表述一组常量。本质上,枚举就是特殊的类,只是域成员均为常量,且构造方法被默认强制为私有。枚举类型使得代码更加清晰和易于维护,因为它限制了变量的取值范围。原创 2024-03-17 23:19:41 · 1001 阅读 · 0 评论 -
Java基础常见面试题总结
梳理Java基础相关的面试题,主要参考《Java编程思想》(第四版, Bruce Eckel 著, 陈昊鹏 译)一书,其余部分整合网络相关内容。注意,关于JVM和Java并发编程的面试题因为内容较多,单独整理。原创 2023-10-18 16:09:21 · 640 阅读 · 0 评论 -
static关键字和final关键字
在java的关键字中,static关键字和final关键字是两个必须掌握的关键字。static关键字和final关键字用法多样,且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面将依次介绍static关键字和final关键字。注意,某些场景下,staic关键字和final关键字可以联合使用,这里也记录下。原创 2023-09-07 19:18:27 · 523 阅读 · 0 评论 -
transient关键字使用说明
在Java中,transient关键字用于表示某个字段不需要序列化。如一些敏感信息(手机号、密码等),不需要序列化。需要说明的是,transient关键字只能修饰变量,不能修饰方法或类。对于类变量(静态变量,由static关键字修饰)不能被序列化,所以无需额外添加transient关键字。而使用final修饰的变量,不会影响transient关键字的作用效果。特别地,如果基于Externalizable 接口实现序列化,因为需要手动指定需要序列化的属性,所以不受transient 关键字的影响。也就是说,对原创 2023-09-06 18:23:32 · 383 阅读 · 0 评论 -
String类详解
在Java编程中,除Object类外,最常用的类就是String类了。本文将从String类源码出发,对String类进行一个全面的分析,以帮忙我们更好的理解和使用String类。原创 2023-01-15 18:36:48 · 1100 阅读 · 1 评论 -
Java内部类
本文将从内部类的定义、作用、分类、使用示例等方面,对内部类进行梳理,以期掌握内部类的使用。原创 2022-07-07 00:13:21 · 230 阅读 · 0 评论 -
Java集合或Map中元素排序及过滤
在Java中,对集合或Map中元素进行排序或过滤是一个频繁操作。这里以List为例介绍下如何在集合中实现元素的排序和过滤功能。对于非List元素(Set、Map)等,一方面可以参考List使用类似的方法,另一方面可以将其转换成List并执行相关方法。 ...............原创 2022-06-26 23:31:21 · 3544 阅读 · 0 评论 -
Java集合中元素删除
在Java中删除集合中元素时,需要特别注意,一方面是因为,Java是并发编程语言,如果存在并发操作,则会出现逻辑异常;另一方面,在List中删除元素,如果操作不当,则会抛出异常。原创 2022-04-23 19:40:25 · 7484 阅读 · 2 评论 -
Java编程规范
Java编程规范化整理原创 2022-03-12 23:11:37 · 5246 阅读 · 0 评论 -
Java集合间转换
在使用集合时,经常会遇到集合间转换的问题。如将一个数组转换成一个List或将一个List转换成一个Map(如选取list中部分属性作为key)等。原创 2022-01-26 23:51:17 · 1956 阅读 · 0 评论 -
FunctionalInterface注解
@FunctionalInterface 注解用来标识某个接口是函数式接口(所谓函数式接口就是指对于一个接口只能有一个抽象方法。这种类型的接口也称为SAM(Single Abstract Method)接口)。原创 2021-12-19 15:52:24 · 6518 阅读 · 0 评论 -
BigDecimal源码分析及使用
浮点数使用计算机存储时,存在精度丢失的问题。如果遇到浮点数算术运算或比较运算时,一种推荐的做法是使用BigDecimal。 在使用BigDecimal有些注意事项,这里简单总结下。原创 2021-12-04 21:29:11 · 2683 阅读 · 0 评论 -
浮点数精度丢失分析及解决
Java语言在处理浮点数,其实现逻辑与整数不同,如果使用不当可能会造成精度丢失、计算不准确、死循环等问题,严重的话,会造成经济损失。本文将从浮点数精度丢失入手,详细介绍下浮点数的原理及使用。原创 2021-12-01 22:48:15 · 6153 阅读 · 0 评论 -
Object类详解
Java Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法。严格意义上来说,基本数据类型并不继承自Object。这主要是出于性能方面的考虑。原创 2021-08-22 17:58:40 · 1147 阅读 · 0 评论 -
Java泛型
梳理Java泛型使用及实现原理原创 2021-08-22 16:17:06 · 290 阅读 · 0 评论 -
Java8新特性
梳理Java 8新特性。这里重点介绍Lamda表达式、Optional类、Stream API、默认方法等。原创 2021-07-25 23:22:03 · 174 阅读 · 0 评论 -
Java异常
目录基本概念基本异常抛出异常捕获异常try块异常处理程序终止与恢复创建自定义异常异常说明捕获所有异常栈轨迹重新抛出异常异常链Java标准异常RuntimeException使用finally进行清理异常丢失异常的限制异常匹配其他可选方式多线程场景下异常处理总结参考发现错误的理想时机是在编译阶段。然而,编译期间并不能找出所有的错误。对于编译期间无法找出的错误,必须在运行期间解决。这就需要错误源能通过某种方式,把适当的信息传递给某个接受者——该接受者直到如何正确处理这个问题。改进的错误恢复机制是提供代码健原创 2021-05-16 19:23:18 · 186 阅读 · 0 评论 -
Java 注解(Java Annotation)
Java注解又称Java标注,JDK 5.0 引入的一种注释机制,是可加入源代码的特殊语法元数据(所谓元数据,就是描述数据的数据)。Java注解为在代码中添加信息提供了一种形式化的方法,使我们可以在编辑之后的某个时刻(如编译期、运行时等)非常方便的使用这些数据(目的是使用这些数据)。原创 2021-05-06 23:07:28 · 1162 阅读 · 0 评论 -
JVM、JRE、JDK、Java SE、Java EE、Java ME
JVM、JRE、JDK、Java SE、Java EE、Java ME概念说明原创 2021-04-25 23:20:03 · 349 阅读 · 0 评论 -
String、StringBuilder、StringBuffer、StringConcatFactory
字符串操作是编码中经常进行的操作。在实现字符串操作时,经常使用到String、StringBuilder、StringBuffer、StringConcatFactory。本文简单介绍下这四个类的区别及关联,方便选用。原创 2021-04-12 00:32:35 · 605 阅读 · 0 评论 -
hashCode
简要介绍hashCode引入的原因及使用原则原创 2021-04-12 00:30:31 · 488 阅读 · 0 评论 -
equals和==比较
简要介绍equals和==在使用上的差异原创 2021-04-12 00:28:04 · 1044 阅读 · 0 评论