线程安全与线程不安全的直观表现
代码展示12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061import java.util.List;import java ...
设计模式背后包含的设计原则
依赖倒转原则1模块间(类之间)的依赖关系(如相互调用)是通过接口和抽象类发生,实现类之间不发生(或尽量少发生)依赖关系
单一职责原则1每个类或模块只具有单一的职责,即在其中只实现一种功能,否则就需要拆分类或模块
里氏替换原则1子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法;违背里氏替换原则不 ...
异常处理准则
异常中断程序问题1一旦出现,会终止程序
常见的能够终止程序的异常
一旦触发此类异常,程序将就此终止
NullPointerException: 空指针异常异常信息123Exception in thread "main" java.lang.NullPointerException at com. ...
Exception in thread "main" java.lang.CloneNotSupportedException
异常信息1234Exception in thread "main" java.lang.CloneNotSupportedException: com.itpm.project.ShallowCopyAndDeepCopyTest$User at java.lang.Object.clone(Na ...
Java面试题13
1.拦截器和过滤器的区别
区别
过滤器
拦截器
使用范围
servlet规范中的一部分,任何Java Web工程都可以使用
只能在SpringMVC框架的工程中使用
拦截范围
在 url-pattern中配置了/*后,可以对所有要访问的资源拦截
只拦截访问的控制器方法,不会拦截访问的j ...
浅拷贝与深拷贝
浅拷贝
浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象共享同一块内存
代码展示12345678910111213141516171819202122232425262728293031323334353637383940import java.util.ArrayList;public ...
解决数据库中个别字段的值无法获取的问题
问题描述1数据库中有一个表,数据保存正常,但在取数据时有几个列的值获取不到
思路描述123456781.正常情况下不可能存在这种问题,就先从最基本的问题开始: 检查实体类与mapper.xml中数据库表是否一一对应,结果该原因被排除2.切换使用的查询接口,检查是否会有当前使用的这个接口存在问题的可能 ...
重写hashcode和equals方法的原因
1.不重写hashcode的后果
类中没有重写hashcode方法,所以调用的是Object类的hashcode方法,获取对象地址值
代码展示123456789101112131415161718192021222324252627282930313233343536373839404142434 ...
Exception in thread "main" java.util.ConcurrentModificationException
代码展示1234567891011121314151617181920public static void main(String[] args) { List<String> arrayList = new ArrayList<>(); arrayLi ...
将定义为Blob类型的数据转换成Json类型的数据
问题描述1使用axios实现post请求方式下载文件时,需要将返回的数据类型提前定义为Bolb类型,表示其返回的是一个文件;在正常情况下后端返回到前端的是一个文件,但是当出现前端提交的参数错误或后端的程序运行异常等等情况时,后端返回给前端的数据就应该变为Json类型的数据,方便前端对错误信息等进行弹 ...