java
文章平均质量分 66
开源必胜
这个作者很懒,什么都没留下…
展开
-
Cookie与Header
Cookie和Header原创 2022-11-13 14:33:28 · 1243 阅读 · 1 评论 -
Java 多态
Java对象,在调用方法时,会根据方法的实际类型决定具体调用哪个方法,这种机制叫动态绑定,也叫多态。这里总结几个注意点静态方法,私有方法,final方法,构造方法不具备多态条件因为这些方法一定不会被重写,在编译期就能确定具体会调用哪个方法被重写的方法才具有多态性在运行时根据调用对象的实际类型确定具体调用哪个方法通过 【实例.属性】的方式获取属性值时,是根据实例的类型决定具体获取父类的属性还是子类的属性。父类和子类可以拥有相同名称的属性,它们的类型可以不同。在方法(不管该方法是否具有多态性)中使原创 2022-01-07 18:06:38 · 182 阅读 · 0 评论 -
SpringBoot常见的Bean生命钩子函数执行顺序
分界点 -> 构造函数自动注入一般在构造函数之前,比如@Autowired、@Value、@Resource等;在构造函数之后的主要有:@PostConstruct修饰的方法InitializingBean的afterPropertiesSet()方法@Bean的initMethod属性指定的方法那么这三个钩子函数的先后顺序优势怎样的呢?interface S extends InitializingBean { void init();}@Bean(initMet原创 2021-12-09 10:28:00 · 902 阅读 · 0 评论 -
isInterrupted、interrupt和interrupted
由易到难开始介绍吧isInterrupted最容易理解的,查看线程是否被打断,没有副作用。可以自己询问自己,也可以在A线程中询问B线程。 Thread A = new Thread(() -> { //自己询问自己 Thread.currentThread().isInterrupted(); },"A"); A.start(); Thread B = new Thread(() ->原创 2021-11-19 23:44:54 · 780 阅读 · 0 评论 -
ThreadLocal
作用保证共享变量线程安全原理通过为每个线程创建资源备份,使得线程之间不再竞争唯一的资源解释class User{ public String nameNotSafe = ""; public ThreadLocal<String> nameSafe = new ThreadLocal<>();}当多个线程操作同一个User对象时,nameNotSafe是真的只有一份,谁都可能修改它,它线程不安全;当线程修改nameSafe时,这个nameSafe也是只原创 2021-11-19 17:20:50 · 299 阅读 · 0 评论 -
Log4j2注意点
前提约定日志级别由低到高: Trace < Debug < Info < Warn < ErrorLogger、Appender和PatternLayout数量关系Logger : Appender = 1 : nAppender : PatternLayout = 1 : 1一个Logger可以有多个Appender,一个Appender只允许有一个PatternLayout。<Console name="console" target="SYSTE原创 2021-11-14 21:35:02 · 246 阅读 · 0 评论 -
docker网络和应用发布
这里写自定义目录标题docker网络1 - 创建docker网络2 - 创建MYSQL容器实例3 - 创建SpringBoot应用docker网络docker网络有三种模式:1 - none2 - host3 - 桥接本文演示以下内容:1 - 将应用打包成镜像,并以容器的方式运行;2 - 容器持久化mysql数据库3 - 使应用容器可以通过固定名称连接数据库容器,而不是通过ip连接。基本思路就是:1 - 创建一个docker内部网络发布应用和数据库2 - 通过docker的端口映射将原创 2021-04-12 17:36:30 · 90 阅读 · 0 评论 -
java动态代理
特点1 - 基于接口2 - 不能代理枚举对象import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;interface Person{ public void sayHello(String name);}class Tom implements Person{ @Override public void s原创 2021-02-24 18:50:36 · 85 阅读 · 0 评论 -
Java瑣碎知識點
枚舉類中定義方法enum S{ D(1){ public void f1(){System.out.println("ddd");} } private int i; S(int i){ this.i = i; } public void f1(){ System.out.println("sss"); }; } public static void main(String[] args) {原创 2021-01-06 16:41:50 · 69 阅读 · 0 评论