随笔分类 - java随记
摘要:这3个JAR包的作者是一个人 slf4j:是日志门面,可以理解为servlet、或者jdbc,它是一套接口规范,但本身并不提供真正的日志输出功能。我们在类上加上@Slf4j注解,就可以在代码中使用log.info打日志,但实际真正在写日志的是log4j或者logback log4j、logback:
阅读全文
摘要:java中exception与error的区别 Throwable有两个重要的子类:Exception和 Error,异常和错误的区别是:异常能被程序本身可以处理,错误是无法处理。 final关键字 被final修饰的对象不可变(无法改变堆中地址,但非基础数据类型内容可变),被final修饰的方法无
阅读全文
摘要:大纲: 数据结构 主要成员变量 主要方法 补充 ConcurrentHashMap 一、数据结构 1.1Node节点 static class Node<K,V> implements Map.Entry<K,V> { final int hash;//key的hash值 final K key;
阅读全文
摘要:大纲: 需求 实现 使用 一、需求 使用spring的controller时候,有很多重复性操作,可以做一个业务轮子统一实现这些功能。 1.打印日志:调用接口所属的类、方法名称、接口入参、出参、异常、接口调用时间等信息,出入参对象需要重写toString方法2.请求参数校验,无需使用@valid注解
阅读全文
摘要:大纲: 简介 创建流 中间操作、中止操作 示例 一、简介 Stream操作就是把集合或者数组放进流中,进行一系列链式处理,最终获取结果的一套api。 正常操作流程: 创建流 中间操作 中止操作 二、创建流 创建流的操作,返回一个Stream对象 public static void main(Str
阅读全文
摘要:大纲: 自定义注解 从注解上获取值 一、自定义注解 @Target({ElementType.TYPE,ElementType.FIELD}) //注解作用在哪里,这里是类上和变量上 @Retention(RetentionPolicy.RUNTIME) //注解生命周期,这里是运行时 @Inher
阅读全文
摘要:大纲: 包装类简介 创建包装类 自动装箱、拆箱 判断相等 默认值 其他 一、包装类简介 Java中共有八种基本类型,byte, short, int, long, float, double, char, boolean。 分别对应八种包装类,Byte, Short, Integer, Long,F
阅读全文
摘要:public class Person { private Person(Builder builder) { name = builder.name; age = builder.age; } private String name; private int age; public String
阅读全文
摘要:大纲: 一、简介: Optional是一个容器,可以存放任意值和null。 可以通过get方法拿到Optional对象中存放的值。 二、成员变量、构造函数 Optional成员变量(只有2个): Optional构造函数(私有,不允许外部直接创建): 三、主要方法 empty 返回一个存放null值
阅读全文
摘要:大纲: java如何拷贝对象。 浅拷贝 深拷贝 一、java如何拷贝对象 Person p = new Person(); Person p2 = p; 上例并不是一个拷贝操作,只是把p对象的引用赋给了p2,2个变量指向了同一片heap地址。 想实现拷贝操作需要做2件事情: (1)实现Cloneab
阅读全文
摘要:大纲 一、代理 为什么要用代理?其实就是希望不修改对象的情况下,增强对象。 静态代理: 静态代理模式,需要代理类和目标类实现同一接口,代理类的方法调用目标类的方法,调用方法的前后实现需要增强的逻辑。 静态代理有一个问题就是,每个代理类和目标类一一对应,需要代理的类多的情况,需要大量的代理类,难以维护
阅读全文
摘要:大纲: JavaBean 规范 内省 一、JavaBean 规范 JavaBean —般需遵循以下规范。 实现 java.io.Serializable 接口。 javaBean属性是具有getter/setter方法的private成员变量。也可以只提供getter方法,这样的属性叫只读属性;也可
阅读全文
摘要:用list分页时会遇到一个问题:用户先选好页码,再传条件查询的时候,会导致查询的那一页有可能什么都没有。这时候我们给他当前查询的最后一页的内容会比较友好。
阅读全文
摘要:1,#与0 表示整数部分:一个#和多个#一样,都表示所有整数部分,但0比较特殊,当0的个数多于数字本身的时候,会用0补齐。 表示小数部分,一个#表示一位小数,一个0也表示一位小数,但当0的个数多于小数部分的时候,会用0补齐。(均四舍五入) 2,分隔 用逗号分隔整数部分,逗号后面有几个#表示每个几位用
阅读全文
摘要:springboot工程中代码放在java下面,配置文件放在resource下面 我把代码放在java下面com.aa包下,配置文件放在resource下面com.aa包下,其实resource对应的就是类路径。 读取配置三种方式 后面2种方式很好理解,classloader和绝对类路径都是从类路径
阅读全文

浙公网安备 33010602011771号