java
文章平均质量分 56
过街的老鼠
耽误太多时间,事情可就做不完了。
展开
-
org.apache.commons.lang3中的isBlank和isEmpty
对比源码可以发现,isBlank比isEmpty校验更严格一些,默认的一些空格或者转义字符都认为是空。如果对空校验除了""和null,还包含/t/n/r等校验,则适合用isBlank。如果对空校验仅限于“”和null,使用两者没有区别。那么上述两个方法,在什么场景下使用呢?原创 2022-09-28 09:57:28 · 420 阅读 · 0 评论 -
idea提示字符串常量过长
解决idea提示字符串常量过长原创 2022-08-22 17:18:25 · 223 阅读 · 0 评论 -
Java8 Stream详解
JDK8 Stream详解概念Stream是Java8 API的新成员,它允许以声明性方式处理数据集合 。特点(1)代码简洁:函数式编程写出的代码简洁且意图明确,使用stream接口让你从此告别for循环。(2)多核友好:Java函数式编程使得编写并行程序从未如此简单,你需要的全部就是调用一下方法。流程1)第一步:把集合转换为流stream2)第二步:操作stream流stream流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(term原创 2022-05-21 11:42:34 · 495 阅读 · 1 评论 -
Lambda表达式最全解析
目录一、Lambda表达式简介什么是Lambda?为什么使用LambdaLambda对接口的要求@FunctionalInterface二、Lambda的基础语法1.语法2.创建多个接口3.创建测试类三、语法精简1.参数类型精简2.参数小括号精简3.方法大括号精简4.大括号精简补充5.多参数,有返回值 精简四、Lambda语法进阶1.方法引用(普通方法与静态方法)2.方法引用(构造方法)一、Lambda表达式简介什么是L原创 2022-04-03 22:57:58 · 3792 阅读 · 0 评论 -
java中对final关键字的理解
一、final关键字修饰类当用final关键字修饰一个类时表明这个类无法被继承 ,如果你想设计一个类不想被继承,那么就加上final关键字。二、final关键字修饰方法当用final关键字修饰一个方法时,这个方法无法被重写。三、final关键字修饰变量变量被final关键字修饰后,只能在定义和构造函数时初始化值,而无法被成员函数重新赋值。被final关键字修饰的对象实例,虽然不能指向其他对象的引用,但是可以修改引用指向对象的内容。四、保证线程可见性,防止指令重排序...原创 2022-03-12 22:44:03 · 518 阅读 · 0 评论 -
为什么重写equals方法和hashcode方法
其实每个类都有一个equals方法和hashcode方法。因为所有的类都继承自Object类。Object类中定义如下:equals中使用的双等于号进行比较,所以进行比较的是对象的引用。并且这两个方法都未被final修饰,所以都可以进行重写在我们常用的String,Integer等类中都对这两个方法进行了重写当我们用 HashMap 存入自定义的类时,如果不重写这个自定义类的 equals 和 hashCode 方法,得到的结果会和我们预期的不一样。下面我们来看一个例子pub.原创 2022-03-11 18:39:43 · 459 阅读 · 0 评论 -
java中的值传递
在java中所有的传递都是值传递首先我们先看一个例子输出结果在发生交换之后对于方法中的person1‘和person2’的地址确实发生了交换,但当方法结束、栈帧弹出后,对于最后输出的person1和person2仍指向原来的地址,所以打印结果仍然是原来的值如果想要交换两个对象中的值,则需要新初始化一个person对象例如:Person person=new Person("ss",11);person.name=person1.name;person.age=.原创 2022-03-10 12:13:52 · 448 阅读 · 0 评论 -
String类型不可变的好处以及如何实现不可变
由源码可以看出String的本质是一个char数组,是对字符串数组的封装,并且是被final修饰的,创建后不可改变。不可变的好处java开发者认为不可变的字符串带来的共享的便利、节省去新构建对象(尤其是大量的字符串)的空间消耗和性能消耗远远大于对字符串修改所带来的便利性。1.便于实现字符串池(String pool)在Java中,由于会大量的使用String常量,如果每一次声明一个String都创建一个String对象,那将会造成极大的空间资源的浪费。Java提出了String pool..原创 2022-03-09 11:07:01 · 576 阅读 · 0 评论 -
Java中常见的IO模型
I/O从计算机结构的角度看,I/O操作描述了计算机系统与外部设备描述的过程。从应用程序的角度看:为了保证操作系统的稳定性和安全性,一个进程的地址空间划分为 用户空间(User space) 和 内核空间(Kernel space ) 。像我们平常运行的应用程序都是运行在用户空间,只有内核空间才能进行系统态级别的资源有关的操作,比如文件管理、进程通信、内存管理等等。也就是说,我们想要进行 IO 操作,一定是要依赖内核空间的能力。并且,用户空间的程序不能直接访问内核空间。当想要执行 IO原创 2022-03-07 22:58:12 · 929 阅读 · 1 评论