![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 91
去海边钓猪
你要足够努力,才不会显得那么狼狈
展开
-
Java8新特性-Optional类
OptionalOptional类是Java8为了解决null值判断问题,借鉴google guava类库的Optional类而引入的一个同名Optional类,使用Optional类可以避免显式的null值判断(null的防御性检查),避免null导致的NPE(NullPointerException)。如果我们需要检查一个对象是否为null,我们一般逻辑是这样的。public class Java8Tester { public static void main(String[] arg原创 2021-09-23 10:00:35 · 250 阅读 · 0 评论 -
Java8新特性-Stream流
目录StreamStreamAPI经典接口注意Streamjava8新添加了一个特性:流Stream。Stream让开发者能够以一种声明的方式处理数据源(集合、数组等),它专注于对数据源进行各种高效的聚合操作(aggregate operation)和大批量数据操作 (bulk data operation)。Stream API将处理的数据源看做一种Stream(流),Stream(流)在Pipeline(管道)中传输和运算,支持的运算包含筛选、排序、聚合等,当到达终点后便得到最终的处理结果。原创 2021-09-23 09:58:21 · 295 阅读 · 0 评论 -
Java8新特性-Lambda表达式与方法引用
目录Lambda表达式forEach函数式接口经典函数式接口方法引用Lambda表达式如果一个接口只有一个能够代表它的一个抽象方法,那么我们可以使用lambda表达式将这个类的实现表示出来可选类型声明: 无需声明参数类型,编译器即可自动识别可选的参数圆括号: 仅有一个参数时圆括号可以省略可选的大括号:主体只包含一个语句时可省略大括号可选的返回关键字:主体只包含一个表达式返回值并省略大括号时,编译器会自动return返回值;有大括号时,需要显式指定表达式return了一个数值原创 2021-09-23 09:53:23 · 407 阅读 · 0 评论 -
Java基础扫盲
目录面向对象基本类型与引用类型接口与继承static关键字final关键字代码块接口和抽象类java四大引用类型面向对象面向对象编程的三特性继承:使用现有的类对其所有属性和功能,在无需重新编写原来的类的基础上对其扩展。继承作为面向对象编程的特性,可以大大的减少代码的冗余,实现代码的复用,继承了父类的子类可以继承其所有的属性和功能,并且可以对其进行拓展。实现其也要注意一些事项public和protected属性或者方法,可以直接继承并使用。private权限的属性和方法不可被继承。原创 2021-08-06 13:03:42 · 224 阅读 · 0 评论 -
Java集合
集合集合的概念4.1 Collection4.1.1 Conllection中的equals()方法。4.1 List4.1.1 常用方法4.1.2 常用方法测试4.1.3 List迭代方式4.2 ArrayList4.3 LinkedList4.4 ArrayList和LinkedList的区别4.5 Map4.5.1 Map的特性4.5.2 常用方法4.5.3 Map的迭代方式4.6 HashMap4.6.1 HashMap存储结构4.6.2 HashMap底层原理4.6.3 一张图说清HashMap原创 2021-05-24 21:59:50 · 110 阅读 · 0 评论 -
一篇吃透HashMap原理(附HashMap面试题夺命十三问)
4.6 HashMap4.6.1 HashMap存储结构HashMap的数据存储结构是数组+链表+红黑树。HashMap的初始容量为16,负载因子为0.75,扩容因子是2。当链表的长度为8时,链表转化为红黑树,当红黑树的大小为6时,红黑树倒退为链表。每次扩容后数据所在位置可能发生变化。这里用一张图来表示hashmap的存储结构。4.6.2 HashMap底层原理HashMap最底层时一个存储链表类型的数组对象。transient Node<K,V>[] table;当原创 2021-05-23 21:54:16 · 373 阅读 · 3 评论 -
Java泛型
Java泛型3.1 初识泛型3.2 自定义泛型3.3 多种类型泛型3.4 extends通配符3.5 super通配符3.1 初识泛型泛型是一种模板,它可以动态的基于类型上的更改。当我们需要重复的使用某一个类对象,但是我们使用的数据类型不同时,我们需要定义多个不同的类。这个时候我们希望有一个模板,它可以动态的基于不同的数据类型来生成不同的类,我们可以使用泛型来实现这一功能。在没有泛型的概念时,我们可以想象ArrayList是这样工作的class ObjectArrayLsit{ privat原创 2021-05-22 16:56:53 · 129 阅读 · 0 评论 -
Java IO流
IO流2.1 File2.1.1 常用方法2.2 字节流输入2.2.1 InputStream字节输入流2.2.1 FileInputStream 文件字节输入流1.3.1.2BufferedInputStream2.3 字符流输入2.3.1 Reader抽象类2.3.2 FileReader子类2.3.3 BufferedReader子类2.4 字节流输出2.4.1 OutputStream 字节流输出2.4.2 FileOutputStream 文件字节流输出2.4.3 BufferedOutputSt原创 2021-05-22 14:16:21 · 121 阅读 · 0 评论 -
Java常用类
JAVA常用类1.1 Object1.1.1 注意1.2 Arrays1.2.1 常用方法1.3 String1.3.1 创建数组的两种方式1.3.2 String的一些常用方法1.3.3 String类中的+重载1.4 StringBulider和StringBuffer1.4.1 常用方法1.4.2 注意1.1 Object所有java对象的父类,equals():本方法用于指示其他某个对象是否与当前对象"相等",这个相等是位于在Object的方法中equals()是基于内存地址中的相等。可以通原创 2021-05-22 10:10:22 · 101 阅读 · 0 评论 -
Java多线程
多线程基础前言基本概念多线程的实现1. 继承Thread前言在本篇文章中将会介绍最基础的多线程技术,能够快速的对多线程的概念有个基础性的理解。基本概念程序:程序是一个静态概念,一般是指一个可执行文件。进程:执行的程序叫做进程,是一种动态概念。线程:线程是进程的一个执行单元,一个程序有可以有多个线程,一个线程只属于一个进程。进程与线程的区别:进程是资源分配的单位,线程是执行和调度的基本单位。线程可以看成一种轻量级的进程。多线程的优点:参考多线程的优点多线程的实现1. 继承Thread原创 2020-11-26 12:47:55 · 147 阅读 · 0 评论 -
多线程的优点
多线程的作用1.发挥多核CPU的优势2.避免阻塞3.方便建模1.发挥多核CPU的优势现在的计算机基本上都是多核,像双核,四核,八核之类的,在多核CPU上运行单线程会极大的造成资源的浪费,就拿双核上来讲会造成50%的资源浪费,四核则是75%等,而所谓的在单核CPU上运行多线程是假的多线程,单核CPU在同一段时间只会处理一段逻辑代码。是CPU在处理多线程上切换的比较快,不是真正意义的多线程。2.避免阻塞主要是针对单核CPU来讲吧,在单核CUP中使用多线程会导致程序效率降低。但是我们还是要采用多线程的方式原创 2020-11-23 23:54:25 · 1825 阅读 · 0 评论