![](https://img-blog.csdnimg.cn/2021070416302750.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
从头开始学Java基础
文章平均质量分 54
本专栏系统地梳理了Java基础的核心知识点,并对其进行讲解和演示。
lwen.steven
学好Java,为公司“添砖加瓦”!
展开
-
3.5 Optional类
1.简介Optional类位于java.util包下,是一个可以为 null 的容器对象,如果值存在则isPresent()方法会返回 true ,调用 get() 方法会返回该对象,可以有效避免空指针异常。原创 2023-03-30 21:57:39 · 206 阅读 · 1 评论 -
3.4 流式操作
1.简介(1).概念Stream是数据渠道,用于操作数据源所生成的元素序列,它可以实现对集合的复杂操作,例如过滤、排序和映射等。集合是一种静态的数据结构,存储在内存中,而Stream是通过CPU来实现计算的(并不会存储数据)。Stream不会改变源对象,而是返回一个新的持有结果的Stream(不可变)。原创 2023-03-30 21:54:28 · 254 阅读 · 0 评论 -
3.3 方法引用
1.简介(1).概念方法引用本质上就是Lambda表达式,Lambda表达式是函数式接口的实例,所以说方法引用也是函数式接口的实例。(2).使用场景当要传递给Lambda体的操作,已经有实现的方法了,就可以使用方法引用。(3).使用条件接口中的抽象方法的形参列表和返回值类型与方法引用的方法形参列表和返回值相同。原创 2023-03-30 16:54:22 · 84 阅读 · 0 评论 -
3.2 Lambda表达式
1.简介Lambda表达式实际上就是接口实现类的对象,它简化了之前匿名内部类的冗长代码的编写。Lambda表达式能使代码变得更加紧凑,增强代码的可读性。另外,Lambda表达式使并行操作大集合变得很方便,可以充分发挥多核CPU的优势,更易于为多核处理器编写代码。原创 2023-03-30 16:05:09 · 63 阅读 · 0 评论 -
3.1 函数式接口
1.简介只有一个抽象方法的接口,就是函数式接口(Functional Interface),可以通过Lambda表达式来创建函数式接口的对象。Java中的Lambda表达式就是一个函数式接口的对象,之前使用匿名实现类表示的对象,都可以使用Lambda表达式来表示。原创 2023-03-30 16:02:01 · 66 阅读 · 0 评论 -
2.5 FastJSON
1.简介FastJSON是一个Java语言编写的标准的JSON库,可以将Java对象转换为JSON格式,也可以将JSON字符串转换为Java对象。2.常用方法(1).JavaBean类原创 2023-03-17 09:04:11 · 83 阅读 · 0 评论 -
2.4 对象的序列化与反序列化
1.简介(1).序列化把对象转换为字节序列的过程称为对象的序列化。(2).反序列化把字节序列恢复为对象的过程称为对象的反序列化。(3).为什么要进行序列化或者反序列化程序在运行时实例化出对象,这些对象存在于内存中,随着程序运行停止而消失,但如果想把某些对象(一般都是各不相同的属性)保存下来或者传输给其它进程,在程序终止运行后这些对象仍然存在,可以在程序再次运行时读取这些对象的信息,或者在其他程序中利用这些保存下来的对象信息恢复成实例对象。这种情况下就要使用对象的序列化和反序列化。原创 2023-03-17 09:04:02 · 70 阅读 · 0 评论 -
2.3 Java注解
1.简介(1).概念为程序元素(字段、方法、类、包)设置额外信息,然后在编译或者运行时使用。(2).功能作为特定的标记,用于告诉编译器一些信息:@Override编译时动态处理,动态生成代码:@Dada运行时动态处理,作为额外信息的载体:@Controller @Service @Repository原创 2023-03-17 09:03:51 · 65 阅读 · 0 评论 -
2.2 Java反射
1.简介(1).概念反射是指程序在运行时,可以动态获取对象所有成员和方法,并且对其进行访问或修改的机制。(2).Class类类是用来描述事物的,那么描述类的类就是Class类。Class类的对象只能由JVM创建,JVM中只有唯一一个和类相对应的Class对象。(3).reflect类库Field:表示类中的成员变量Method:表示类中的成员方法Constructor:表示类中的构造方法原创 2023-03-17 09:01:40 · 53 阅读 · 0 评论 -
2.1 Java范型
1.简介(1).概念Java允许在定义方法、类和接口时不指定具体的数据类型,而是在范型方法被调用、范型类被实例化、范型接口被实现时再指定具体数据类型,这样便可以让数据类型变得参数化。(2).范型擦除和补偿泛型技术是给编译器使用的,编译器在检查完后,生成的.class文件中不带泛型,原因是泛型是 JDK5.0以后出现的技术,类加载器不能识别,这叫做擦除。在运行过程中,又带有泛型,原因是类加载器获取.class字节码文件,根据运行时类中的数据类型,进行类强制转换,这叫做泛型补偿。原创 2023-03-16 10:25:36 · 72 阅读 · 0 评论 -
1.8 内存溢出实战
1.代码示例2.设置堆最小和最大内存并让应用在堆内存溢出的时候,进行一次堆Dump原创 2023-03-16 09:43:58 · 153 阅读 · 0 评论 -
1.7 JVM日志和GC日志
1.JVM参数格式(1).以-开头查看JDK版本。(2).以-X开头设置最大堆内存大小为50m。原创 2023-03-16 09:43:07 · 245 阅读 · 0 评论 -
1.6 JVM可视化工具VisualVM
1.简介VisualVM是JDK内置的可视化工具,使用jvisualvm命令打开。2.概述显示应用的概要信息。原创 2023-03-16 09:39:48 · 247 阅读 · 0 评论 -
1.5 JVM故障排查工具
1.jinfo(1).简介实时查看和调整当前JVM的各项参数。原创 2023-03-16 09:40:29 · 187 阅读 · 0 评论 -
1.4 JVM监控工具
1.jps 查看JVM性能相关信息的监控工具,最主要的就是垃圾回收,显示堆内存的使用情况。查看JVM进程信息的监控工具。原创 2023-03-16 09:38:36 · 74 阅读 · 0 评论 -
1.3 垃圾收集器
1.术语(1).吞吐量CPU用于运行用户代码的时间与CPU总消耗的比值。(2).全局停顿(Stop The World)是在垃圾回收过程中,需要将JVM内存冻结的一种状态。在全局停顿状态下,除GC线程外,Java其它线程都是停止执行的,本地方法可以执行,但是无法与JVM交互。JVM调优就是尽量减少全局停顿时间,但是并不是越小越好,因为全局停顿时间的减少是以牺牲吞吐量和新生代空间为代价的。(3).并行收集指多个垃圾回收线程并行工作,但在回收过程中,用户线程处于等待状态。(4).并发收集用原创 2023-03-16 09:29:59 · 65 阅读 · 0 评论 -
1.2 垃圾回收机制
1.什么场景下该使用什么垃圾回收策略?(1).对内存要求苛刻的场景想办法提高对象的回收效率,尽可能的多回收一些对象,腾出更多内存(2).在CPU使用率较高的情况下降低高并发时垃圾回收频率,让CPU更多地去执行业务而不是垃圾回收原创 2023-03-16 09:29:11 · 71 阅读 · 0 评论 -
1.1 JVM内存结构
1.简介JVM内存结构包含五块区域,分别为线程私有的程序计数器、虚拟机栈、本地方法栈,以及线程共享的堆和方法区。原创 2023-03-16 09:29:40 · 75 阅读 · 0 评论 -
从头开始学Java基础
第一章 JVM1.1 JVM内存结构 1.2 垃圾回收机制原创 2023-03-16 09:24:26 · 83 阅读 · 0 评论