自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 你知道为什么String被设计为是不可变的

3.缓冲hashcode,在java中很多地方都会使用到,所以在String创建的时候就会计算hashcode值,然后保存在hash上,使用的时候直接取,提高效率。1.利用常量池的特性,达到复用,节省内存空间,比如S1和S2的值相同,那么会指向同一个常量。String是一个常量,一旦我们创建就没有办法改变它的值(不考虑反射特殊场景)2.用作HashMap的k的时候,k有一个最重要的特性就是不可变。4.线程安全,因为不可变,所以天然的保证线程安全。

2023-06-01 17:21:17 71 1

原创 对AOP理解

aop主要实现在是bean的后置处理器,使用jdk动态代理或者是cglib动态代理给原本的代码进行业务增强。

2021-03-19 17:24:03 108

原创 springMVC的流程

用户发起请求到前端控制器(DispatcherServlet),该控制器会过滤出哪些请求可以访问Servlet、哪些不能访问。就是url-pattern的作用,并且会加载springmvc.xml配置文件。 前端控制器会找到处理器映射器(HandlerMapping),通过HandlerMapping完成url到controller映射的组件,简单来说,就是将在springmvc.xml中配置的或者注解的url与对应的处理类找到并进行存储,用map<url,handler>这样...

2021-03-19 17:21:33 71

原创 事务的基本要素(ACID)、事务的并发问题、MySQL事务隔离级别

事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。   2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。   3、隔离性(Isolation):同一时间,只允许一个事务请求同一数据

2021-03-19 17:19:08 98

原创 MySQL中InnoDB和MyISAM对比

事务InnoDB支持事务InnoDB支持行级锁锁MyISAM不支持事务MyISAM支持表级锁定存储InnoDB,基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,它的索引文件和数据是存放到一起的,MyISAM是分开存储的。MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型, .frm文件存储表定义,数据文件的扩展名为.MYD, 索引文件的扩展名是.MYI。索引InnoDB(.

2021-03-19 17:14:36 235

原创 CAS的ABA问题

一、什么是ABA问题?考虑如下操作:并发1(上):获取出数据的初始值是A,后续计划实施CAS乐观锁,期望数据仍是A的时候,修改才能成功并发2:将数据修改成B并发3:将数据修改回A并发1(下):CAS乐观锁,检测发现初始值还是A,进行数据修改上述并发环境下,并发1在修改数据时,虽然还是A,但已经不是初始条件的A了,中间发生了A变B,B又变A的变化,此A已经非彼A,数据却成功修改,可能导致错误,这就是CAS引发的所谓的ABA问题。二、解决办法ABA问题的优化ABA问题导.

2021-03-19 17:04:54 167

原创 sleep()、wait()、join()、yield()的区别

2021-03-19 17:02:07 161

原创 sleep和wait的区别

一、sleep是线程方法,wait是Object方法二、sleep不释放lock,wait会释放三、sleep不依赖同步方法,wait需要四、sleep不需要被唤醒,wait需要

2021-03-19 16:59:22 64

原创 抽象类和接口的区别

抽象类:抽象类:在Java中被abstract关键字修饰的类称为抽象类,被abstract关键字修饰的方法称为抽象方法,抽象方法只有方法的声明,没有方法体。抽象类的特点:a、抽象类不能被实例化只能被继承;b、包含抽象方法的一定是抽象类,但是抽象类不一定含有抽象方法;c、抽象类中的抽象方法的修饰符只能为public或者protected,默认为public;d、一个子类继承一个抽象类,则子类必须实现父类抽象方法,否则子类也必须定义为抽象类;e、抽象类可以包含属性、方法、构造方法,但是构

2021-03-19 16:57:15 57

原创 fastjson中List 转 JSONArray、JSONArray 转 List、String 转 List

.List 转 JSONArrayJSONArray array = new JSONArray();List<T> list = JSONObject.parseArray(array.toJSONString(), T.class);JSONArray 转 ListJSONArray cases = JSONArray.parseArray(JSON.toJSONString(list));String 转 ListList<T> list = JSON.

2020-09-25 13:36:23 286

原创 Mysql5.7报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre

问题出现的原因:MySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列,也不在功能上依赖于它们。(5.7.5之前,MySQL没有检测到功能依赖关系,默认情况下不启用ONLY_FULL_GROUP_BY。有关5.7.5之前的行为的说明,请参见“MySQL 5.6参考手册”。)方法一:用sql查询:select @@gl

2020-09-24 17:12:23 163

原创 SpringBoot实体类加上@Data无法使用getter/setter方法的解决方法

1.添加pom文件<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.4</version></dependency>2.安装Lombok插件settings ---->plugins ----->搜索Lombok--...

2020-09-18 21:08:02 759 1

原创 springboot1.x和springboot2.x中RedisCacheManagerde的变化,把jdk序列化变成json序列化

在springboot 2.x的版本RedisCacheManager和1.x的版本有很大的区别在1.x中写法如下@Configurationpublic class MyRedisConfig { @Bean public RedisTemplate<Object, Empoyee> stuRedisTemplate( RedisConnectionFactory redisConnectionFactory) thr...

2020-09-18 21:07:30 208

原创 使用idea的时候修改连接数据库的url启动后连接的还是以前的数据库url

今天帮同学解决一个连接数据库的问题(使用的软件idea),明明已经在配置文件中修改了连接数据库的url,但是使用的还是修改前的url,导致读取不出数据库中的内容。原因的你修改的代码,没有更新到你布置的tomcat中,解决方法如下。1.找到你的项目路径2.进入如下路径,用记事本打开你的配置文件3.你会看到里面的文件和你idea写的内容不同,手动修改一下就可以了,然后去idea中直接运行就可以了...

2020-09-18 21:06:47 1923

原创 ajax和$post请求不执行回调函数

$.ajax({ url:"/user/register",//url地址 dataType:"json",//返回的数据类型 type:"post",//发起请求的方式,get/post data:$("#registerForm").serialize(), succ...

2020-09-18 21:06:14 833

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除