随笔分类 - java
摘要:(目录) Optional 一、Optional类是什么? Optional 类(java.util.Optional)是一个容器类,代表一个值存在或不存在,原来用null表示一个值不存在,现在用Optional可以更好的表达这个概念。并且可以避免空指针。 二、Optional类常用的方法 1. 创
阅读全文
摘要:(目录) 写在前面 我们都知道,在开发中有时候要想提高程序的效率,可以使用多线程去并行处理。而Java8的速度变快了,这个速度变快的原因中,很重要的一点就是Java8提供了并行方法,它使得我们的程序很容易就能切换成多线程,从而更好的利用CPU资源。 下面我们就来简单学习一下java8中得并行流与串行
阅读全文
摘要:(目录) Stream 写在前面 Java8中有两大最为重要的改变: Lambda表达式 Stream API(java.util.stream.*) Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤、映射数据等操作。使用Stream
阅读全文
摘要:(目录) 方法引用与构造器引用 使用场景 如果要传递给Lambda方法体的内容,已经有方法实现了,这时我们就可以使用“方法引用”了。我们也可以理解为,方法引用是Lambda表达式的另一种表现形式 方法引用 注意使用方法引用的前提:你需要实现的接口中的抽象方法的参数列表和返回值类型与我们Lambda体
阅读全文
摘要:(目录) 函数式接口 Lambda表达式需要接口的支持,并且接口的抽象方法还只能有一个,要么没法区分实现的是哪一个抽象方法了。因此Lambda表达式需要函数式接口的支持 什么是函数式接口 接口中只有一个抽象方法的接口称为函数式接口。 函数式接口可以使用一个注解@FunctionalInterface
阅读全文
摘要:(目录) Lambda表达式 Lambda表达式介绍 Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。 匿名:没有一个确定的名字 函数:Lambda
阅读全文
摘要:(这里写自定义目录标题) 责任链模式简述(Chain of Responsibility) 定义 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将整个对象连成一条链,并沿着这条链传递请求,直到有一个对象处理他为止。 特点 链上的每个对象都有机会处理请求 链上的每一个对象,都
阅读全文
摘要:(目录) Bean的生命周期 bean创建-->初始化-->销毁 容器管理Bean的生命周期 我们可以自定义初始化和销毁方法,容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法 创建(对象创建) 单实例:在容器启动的时候创建 多实例:在每次获取的时候创建 初始化 对象创建完成,
阅读全文
摘要:@ControllerAdvice顾名思义,他是一个Controller的增强,是一个异常处理类。常用于实现下面三个方面的功能: 1、处理全局异常,结合方法型注解@ExceptionHandler,用于捕获Controller中抛出的指定类型的异常,从而达到处理不同类型的异常的目的。2、预设全局数据
阅读全文
摘要:HttpMessageConverter是一个消息转换的工具,有两方面的功能:1、将服务端返回的对象序列化为JSON字符串。2、将前端传来的JSON字符串反序列化为Java对象。 所有的JSON生成都离不开相关的HttpMessageConverter。 SpringMVC自动配置了Jackson和
阅读全文
摘要:任何一个class文件都对应着唯一一个类或接口的定义信息,但反过来说,类或接口的定义信息并不一定都在文件里(比如类或接口也可以通过类加载器直接生成) class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑的排列在Class文件之中,中间没有添加任何分隔符,这使得整个clas
阅读全文
摘要:方法区(Method Area) 是各个线程共享的内存区域,用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。虽然java虚拟机规范把方法区表述为堆的一个逻辑部分,但是他却有一个别名叫Non-Heap(非堆),目的应该是与java堆区分开来。 java虚拟机规范对方法区的
阅读全文
摘要:java中的方法有两种,java方法和本地方法。 java方法:是由java语言编写,编译成字节码,存储在class文件中的。java方法是与平台无关的。 本地方法:本地方法是由其他语言(如C、C++ 或其他汇编语言)编写,编译成和处理器相关的代码。本地方法保存在动态连接库中,格式是各个平台专用的,
阅读全文
摘要:java的反射机制 java的反射机制是在运行状态中,对于任意一个类(Class)都能知道他的属性(Field)和方法(Method),对于任意一个对象都能够调用它的方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。它允许正在运行的java程序观测甚至是修改程序的动态
阅读全文
摘要:异常处理的两大组成要素:抛出异常和捕获异常。这两大要素共同实现程序控制流的非正常转移。 抛出异常分为:显式和隐式两种。 显式抛异常的主题是应用程序,它指的是在程序中使用 “throw” 关键字。手动将异常实例抛出。 隐式抛异常的主题是java虚拟机,它指的是java虚拟机在执行过程中,碰到无法继续执
阅读全文
摘要:JVM的静态绑定和动态绑定 JVM识别方法的关键在于类名、方法名及方法描述符(method descriptor)。方法描述符是由方法的参数类型和返回类型所构成。在同一个类中,如果同时出现多个类名方法名以及描述符都相同的方法,java虚拟机会在类的验证阶段报错。 java虚拟机与java语言不同,J
阅读全文
摘要:java虚拟机中类的加载 (JVM的大致结构图) 从发class文件到内存中的类,按先后顺序,需要经过加载,链接以及初始化三大步骤。 java语言的类型可分为两大类:基本类型(primitive type)和引用类型(references type) 基本类型:是由java虚拟机预先定义好的。 引用
阅读全文
摘要:1 int temp; 2 Integer[] height = new Integer[] {4, 3, 1, 2, 5 }; 3 for (int i = 0; i height[j + 1]) { 6 // 进行两数交换 7 temp = height...
阅读全文
摘要:1、适合多个相同程序代码的线程去处理同一资源,把虚拟CPU(线程)同程序的代码、数据有效分离,较好地体现了面向对象的设计思想。2、可以避免由于java单继承特性带来的局限。3、增强了程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。当多个线程的执行代码来自同一个类的实例时,继承它们共享相同的
阅读全文
摘要:1、java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set
阅读全文

浙公网安备 33010602011771号