摘要:
创建线程的两种方式:继承Thread类 或 实现Runnable接口,重写run方法。 Thread类本身也实现了Runnable接口,Runnable接口源码: run方法是无返回值的,所以在JDK1.5出现了Callable接口 关系类图 Callable Callable接口源码 Callab 阅读全文
摘要:
一、线程池使用背景: 创建线程可以通过继承Thread类或实现Runnable接口,但会带来线程创建和销毁的资源占用,线程切换上下文问题,同时创建过多的线程可能会导致系统资源耗尽的风险,固不推荐使用此种方式来执行多线程,可以采用创建线程池来执行多线程,方便对线程任务的管理。 二、线程池使用场景 加快 阅读全文
摘要:
pom依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5</version> </dependency> <dependency> 阅读全文
摘要:
一、前言 在线程安全问题中,会使用synchronized关键字,只允许一个线程进入锁定的方法或代码块,这样可以保证原子性,即"以时间换空间"。但在并发量较大时,会存在大量线程等待同一个对象锁,导致系统性能下降。 考虑到synchronized的弊端,于是出现了volatile和ThreadLoca 阅读全文
摘要:
一、第一种方案 1.修改本地分支名 git branch -m 旧本地分支名 新本地分支名 2.删除远程分支名 git push --delete origin 旧远程分支名 3.将本地分支推送到远程分支进行关联 git push --set-upstream origin 新远程分支名 二、第二种 阅读全文
摘要:
打开之前的Spring Boot项目,启动类上有一个红叉,但项目能正常启动 解决方式:将 import org.springframework.boot.autoconfigure.SpringBootApplication 删掉,然后重新导入 @SpringBootApplication 注解的包 阅读全文
摘要:
打开maven的setting.xml配置文件,添加阿里镜像仓库 配置参数如下: <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyu 阅读全文
摘要:
OCP全称 OCP , Open Close Principle 开闭原则 定义 程序中的对象(类、模块、函数等)应该对于扩展开放,对于修改是封闭的。 优点 降低程序各部分的耦合度 提高代码的可复用性 提高软件的可维护性 实现 问题由来: 在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有 阅读全文
摘要:
LOD全称 LOD, Law of Demeter, 迪米特原则 or LKP, Least Knowledge Principle, 最少知识原则 定义 一个对象应该对其他对象有最少的了解。一个类应该对自己需要耦合或调用的类知道的最少,类的内部如何实现与调用者或者依赖者没有关系,调用者或者依赖者只 阅读全文
摘要:
ISP全称 ISP, Interface Segregation Principles 接口隔离原则 定义 一个类对另一个类的依赖应该建立在最小的接口上 接口隔离原则和单一职责区别 接口隔离原则和单一职责都是为了提高类的内聚性、降低它们之间的耦合性,体现了封装的思想,但两者是不同的: 单一职责原则注 阅读全文