Git 报错 SSL certificate problem: certificate has expired SSL certificate problem: certificate has expired
@Autowired 对构造函数使用 spring配置默认的bean的scope是singleton,也就是启动后一直有。@Autowired本身就是单例模式,只会在程序启动时执行一次,即使不定义final也不会初始化第二次,为了防止,在程序运行的时候,又执行了一遍构造函数。Spring在实例化对象的时候一旦找到一个它认为合适的构造方法,就会直接实例化对象,不会继续寻找其他构造方法。更容易让人理解的意思,加上final只会在程序启动的时候初始化一次,并且在程序运行的时候不会再改变。
JAVA线程池 线程池1. 什么是线程池2. JAVA中线程池种类2.1 newSingleThreadExecutor 单线程的线程池2.2 newFixedThreadPool 固定数量的线程池2.3 newCachedThreadPool 可缓存的线程池2.4 newScheduledThreadPool 支持定时的线程池2.5 newWorkStealingPool 具有抢占式操作的线程池(1.8之后)3. 线程拒绝策略3.1 AbortPolicy策略3.2 CallerRunsPolicy策略3.3 Disca
多线程的实现方式 多线程的实现方式1. 继承Thread类,重写run方法,调用start2. 实现Runnable接口,用新的类创建Thread实例,调用start3. 实现Callable接口,用新的类创建Thread实例,调用start4. 线程池1. 继承Thread类,重写run方法,调用startclass MyThread extends Thread { @Override public void run() { //此处为thread执行的任务内容 System.out.println(Th
为什么SELECT * 效率低 为什么SELECT * 效率低一、效率低的原因1. 不需要的列会增加数据传输时间和网络开销2. 对于无用的大字段,如 varchar、blob、text,会增加 io 操作3. 失去MySQL优化器“覆盖索引”策略优化的可能性二、索引1. 联合索引优势:1. 减少开销2. 覆盖索引3. 效率高建立索引注意事项:一、效率低的原因增加查询分析器解析成本。增减字段容易与 resultMap 配置不一致。无用字段增加网络 消耗,尤其是 text 类型的字段。1. 不需要的列会增加数据传输时间和网络开销
IDEA使用Alibaba Cloud Toolkit部署应用到服务器 IDEA使用Alibaba Cloud Toolkit部署应用到服务器一、安装插件二、使用步骤1.配置服务器2.配置部署信息3.配置完成4.注意一、安装插件市场安装Alibaba Cloud Toolkit插件:二、使用步骤1.配置服务器打开Host控制台:配置服务器信息:2.配置部署信息打开控制面板:打开控制面板:3.配置完成配置完成,后续可以在菜单栏操作4.注意配置是跟着项目走的,如果切换了项目需要重新配置~...
Mysql多条件空值排序 最近Mysql遇到一个问题,按更新时间排序,如果没有更新时间,就按创建时间排序写法一ORDER BY create_time DESC,update_time IS NULL,update_time desc写法二ORDER BY IFNULL(update_time,create_time) DESC
JDK1.8 stream中sorted排序概要 JDK1.8 stream中sorted排序概要// 代表某集合List<类> list = new ArrayList(); // 按照属性一升序list.stream().sorted(Comparator.comparing(类::属性一));// 按照属性一降序// 方法一 先升序后降序list.stream().sorted(Comparator.comparing(类::属性一).reversed());// 方法二 直接降序list.stream().sort
设计模式的分类和六大原则 设计模式的分类和六大原则设计模式的分类1. 创建型模式(5种)2. 结构型模式(7种)3. 行为型模式(11种)六大原则总原则:开闭原则定义:一个软件实体应该对扩展开放,对修改关闭。1. 单一职责原则定义:有且仅有一个原因引起类的变更优点:临界点:2. 里氏代换原则定义:所有引用基类的地方必须能透明地使用其子类的对象优点:缺点:四层含义:3. 依赖倒转原则定义:处理:4. 依赖倒转原则定义:客户端不应该依赖不需要的接口,类之间的依赖关系应该建立在最小的接口上四层含义:处理:5. 迪米特法则(最少知道原则)定
2.Mysql日志系统 2.Mysql日志系统MySQL日志分类(针对InnoDB)redo logWAL1. checkpoint2. write poscrash-safebinlog与redo log不同点1. 拥有对象2. 记录内容3. 空间大小参考笔记MySQL日志分类(针对InnoDB)物理日志(引擎层) redo log逻辑日志(server层) binlogredo log当有一条记录需要更新的时候,InnoDB引擎就会先把记录写到redo log里面,并更新内存,这个时候更新就算完成了。同时,InnoD
1.MySQL查询语句如何执行 Mysql查询语句如何执行Mysql的逻辑框架Server层1 连接器2 查询缓存(8.0删除)3 分析器4 优化器5 执行器存储引擎参考笔记Mysql的逻辑框架Server层跨存储引擎的功能都在这一层实现,比如存储过程,触发器,视图1 连接器负责和客户端建立连接获取权限维持和管理连接在验证用户名密码之后,查询权限表,之后在本次连接中的权限依赖于此时的表2 查询缓存(8.0删除)请求进入后查看缓存(key-value)有缓存值,直接返回无缓存值,执行sql,将结果存入缓存
java将图片缩放 最近项目里使用算法将图片进行切割,但是获取到的图片太小,无法使用算法接口。突然发现了神器!hutool简介https://www.hutool.cn/docs/Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;Hutool是项目
Springboot里@autowired和@resource注解 @autowired和@resource注解区别提供方注入方式@Resource属性nametype装配顺序区别提供方@Autowired是Spring提供的@Resource是J2EE提供的注入方式@Autowired是默认按照byType注入,也就是按bean的类型来传入。如果需要指定名字,那么需要使@Qualifier(“bean的名字”),在使用的地方加入@Qualifier(“bean的名字”)@Resource默认按 byName自动注入@Resource属性nameSpri
Java的抽象类 什么是抽象类包含抽象方法的类称为抽象类,但抽象类中不仅仅只能有抽象方法,它和普通类一样,都可以拥有成员变量和普通的成员方法。抽象类和普通类的区别1)抽象方法必须为public或者protected(因为private,不能被子类继承,子类便无法实现该方法),默认为public。2)抽象类不能被实例化,只能用来继承;3)如果一个类继承于一个抽象类,则子类必须实现父类的所有抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract(抽象)类。在其他方面,抽象类和普通的类并没有区
单例模式 单例模式概述介绍目的意图解决什么时候使用如何解决关键代码实现饿汉式懒汉式双重校验锁(double-checked locking)概述介绍单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。目的意图保证一个类有且只有有一个实例,并提供一个全局
java中Collections.sort()排序详解 java中Collections.sort排序详解概括数据对象使用对数据排序对对象排序总结概括数据对数据排序直接使用这个方法就行,但是要保证集合中的对象是 可比较的。对象对对象排序需要该对象实现 Comparator接口,然后重写里面的compare()方法。使用对数据排序public static void main(String[] args) { Integer[] testNum = {4, 2, 6, 1, 7, 9, 3, 3, 5}; List<Integ
Java中静态代码块、代码块和构造函数执行顺序 Java中静态代码块、代码块和构造函数执行顺序概念静态代码块代码块执行顺序与继承共用时的执行顺序父类子类运行结果概念静态代码块特点:随着类的加载而执行,而且只执行一次。执行优先级高于非静态的初始化块,它会在类初始化的时候执行一次,执行完成便销毁,它仅能初始化类变量,即static修饰的数据成员。代码块特点:随着类的加载而执行,而且只执行一次。执行的时候如果有静态初始化块,先执行静态初始化块再执行非静态初始化块,在每个对象生成时都会被执行一次,它可以初始化类的实例变量。非静态初始化块会在构造