ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

一级缓存和二级缓存的区别

2022-08-05 11:02:20  阅读:113  来源: 互联网

标签:缓存 一级 配置文件 对象 回收 二级缓存 线程


MyBatis中井号和美元符号的区别:

        #{变量名} 可以预编译 类型匹配等操作,会转化成jdbc类型

        #方式很大程度上防止sql注入

${变量名} 不进行数据类型的匹配 直接转换

$ 无法防止sql注入

$一般用于传入数据库对象 例如传入表明

尽量多用#方式  少用$方式

 

一级缓存和二级缓存的区别:

        一级缓存  sqlSession  二级缓存 mapper级别  多个sqlsession共享

   都是用hashmap存储数据   相比一级缓存 二级缓存范围更大 跨sqlsession的

 

 

springboot的自动装配机制:

springboot框架是为了能够帮助使用spring框架的开发者快速高效的构建一个基于spirng框架以及spring生态体系的应用解决方案。它是对“约定优于配置”这个理念下的一个最佳实践。因此它是一个服务于框架的框架,服务的范围是简化配置文件。

 

     Spring Boot启动的时候会通过@EnableAutoConfiguration注解找到META-INF/spring.factories配置文件中的所有自动配置类,并对其进行加载,而这些自动配置类都是以AutoConfiguration结尾来命名的,它实际上就是一个JavaConfig形式的Spring容器配置类,它能通过以Properties结尾命名的类中取得在全局配置文件中配置的属性如:server.port,而XxxxProperties类是通过@ConfigurationProperties注解与全局配置文件中对应的属性进行绑定的。

 

Mysql的事务隔离级别   

低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。

读未提交       读取未提交的也叫脏读

读已提交       读取提交的   默认的

可重复读       幻读  多实例并发处理数据   一个再读取 另一个插入了新行

可串行化       它在每个读数据加上共享锁   超时 锁竞争

 

多版本并发控制 mvcc

是通过保存数据在某个时间点的快照来实现的。也就是说,不管需要执行多长时间,每个事务看到的数据都是一致的

 

 

保证线程安全的几种方式:

     1. Confinement  限制数据共享  将可变数据限制在单一线程的内部 避免竞争

      核心思想: 线程之间不可享可变数据类型

  1. immutable  将可变类型改为 immutable类型  避免多线程间的race condition
  2. Threadsafe data type 共享线程安全的可变数据
  3. Synchronization  通过锁机制共享不安全的数据

       

G1:

特点 充分利用计算机资源  分代收集  空间整合   建立可预测的停顿

回收步骤:初始标记  并发标记   最终标记   筛选回收  在用户规定的时间里,回收最大价值得region的垃圾

 

 

内存分配与回收策略

     对象优先在eden分配          大对象直接进入老年代

     长期存活的对象将进入老年代   

动态对象年龄判判断 同年龄的对象的大小超过整个survivor区的一半,大小等于这个年龄对象都会放入老年代

 

堆溢出

      回收的对象没有回收造成的内存溢出

      解决:查看是否有没有回收的对象 如果没有扩大内存

栈溢出

      递归调用太多  

       扩大栈深度  从代码入手   改正错误调用

方法区溢出:java.lang.OutOfMemoryError: null

          直接调内存大小    -xx:MaxDirectMemorySize=10

Gc日志分析

       设置参数:-xloggc:D:logs/admin_client.log

       提前建立好目录  admin_client.log

 

标签:缓存,一级,配置文件,对象,回收,二级缓存,线程
来源: https://www.cnblogs.com/LWHyyds/p/16553607.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有