Java基础
文章平均质量分 80
大伟攀高峰
东方欲晓,莫道君行早,踏遍青山人未老,风景这边独好
展开
-
Java 8新特性之 Optional 类
java.util.Optional 是java8中引进的一个新的类,我们通过Optional类的源码可以看到,该方法的作用可以对可能缺失的值进行建模,而不是直接将null赋值给变量。上面介绍了Optional类的API方法和常见用法。这些方法是最原始的方法,可以根据自己的业务开发场景,封装适合自己的工具类,方便快速开发。原创 2023-12-08 21:20:48 · 26 阅读 · 0 评论 -
Java8新特性之Stream流
Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。是一个来自数据源的元素队列并支持聚合操作元素是特定类型的对象,形成一个队列。Java中的Stream并不会存储元素,而是按需计算。数据源 流的来源。可以是集合,数组,I/O channel, 产生器generator 等。聚合操作 类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。原创 2023-11-18 22:11:28 · 23 阅读 · 0 评论 -
Java8新特性
Lambda 表达式其实就是一种匿名函数,在这之前大家可能还接触过匿名内部类,虽然也是一种匿名函数,但是它并没有Lambda表达式那么简洁,Lambda表达式的特点就是可以传递,在使用Lambda表达式的时候我们可以将代码像数据一样传递。使用Lambda表达式能够极大的减少我们代码的冗余,而且使用也相当的方便。熟练之后会大大加快我们写代码的速度。Lambda是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为 lambda 表达式。原创 2023-11-18 22:10:18 · 26 阅读 · 0 评论 -
Java8新特性之函数式接口
通过使用函数式接口,可以将Lambda表达式作为参数传递给方法,从而简化代码,提高代码的可读性和维护性,当然这种简洁性和可读性是仁者见仁,智者见智的事情。原创 2024-01-09 16:59:39 · 1751 阅读 · 0 评论 -
New一个对象的过程
new一个对象的整体过程过程解析当虚拟机遇见new关键字时候,实现判断当前类是否已经加载过,如果没有加载过,首先执行类的加载机制,加载完成后再为对象分配空间、初始化等。首先校验当前类是否被加载过,如果没有加载,执行类加载机制加载: 从字节码加载成二进制流的过程验证: 当然加载完成之后,需要校验Class文件是否符合虚拟机规范。准备: 为静态变量 常量赋默认值把常量池中符号引用(以符号描述引用的目标)替换为直接引用的过程静态代码块是绝对线程安全的。只能隐式被java虚拟机在类加载过程中原创 2024-01-14 16:18:30 · 377 阅读 · 0 评论 -
BigDecimal介绍和使用
在工作中,我们在针对金额类字段进行计算的时候,通常使用BigDecimal 类型的字段,来保留金额的精度。因此,本篇文章主要分享一下Java语言中的BigDecimal类的使用,以及使用过程中的坑。 在日常的开发工作中,针对有数据精度要求的金额数据,都会使用BigDecimal类型(不排除有些公司使用String类型处理)。BigDecimal是Java在java.math包中提供的线程安全的API类,可以用于表示任意精度数字的类,它可以表示无限长度的小数。原创 2023-12-30 11:37:20 · 1036 阅读 · 0 评论