自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Springboot EnableScheduling注解解析

解析:Spring @EnableScheduling 注解是要实现计划任务,首先通过在配置类注解@EnableScheduling来开启对计划任务的支持,然后在要执行计划任务的方法上注解@Scheduled,声明这是一个计划任务。一般公司里面企业级开发会集成经常用到此应用实例demo1.创建springboot项目maven不需要加别的依赖2.写一个类 类里面写两个方法 方法上使用注解Scheduled 利于属性fixedRate设置定时时间间隔,完整代码如下:package com.z

2022-05-09 17:08:01 1959

原创 Sql优化,数据库优化

Sql 优化正确使用sql1.正确使用索引 查询条件列,排序列添加索引 项目中是如何使用的 查询条件2.应改避免索引失效 name like "%张%" 改为全文索引在 where 子句中 避免 num is null在 where 子句中使用!=或<>操作符避免在 where 子句中使用 or 来连接条件在where num/2=100 使用运算符在where中使用函数 substring()3.mysql建议使用主键自增 合理利用索引结构4.索引不宜建

2022-01-22 21:09:50 524

原创 MVCC的知识点

MVCCMVCC(多版本并发控制 Multi-Version Concurrent Control)为了提升mysql 读-写,写-读两个操作同时进行, 写-写mysql支持行级锁的,如果操作同一行数据,那么肯定是不可以的.每次对表中的记录操作时,会保存一个日志(undolog) 里面会记录事务的id号.如果有多个事务操作时,他们就会根据事务id,找到自己操作的版本记录.不同的隔离级别在读数据时, 会根据版本链生成一个ReadView(临时读视图) 版本链快照READ C

2022-01-22 15:06:02 751

原创 Mysql事物的四大特性,隔离级别

关系型数据事务4大特性:原子性: 一次事务过程中的多个操作要么都成功,要么都失败.持久性: 事务一旦提交,数据就不可改变.即使数据库服务出现问题.隔离性: 数据库是允许同时有多个事务进行访问, 这时就需要对多个事务间的操作进行隔离,隔离分为4个级别:读未提交 问题 脏读读已提交 解决 脏读 不可重复读可重复读 解决 不可重读 幻读串行化 解决一切问题 加锁 效率低一致性: 在事务开始之前和事务结束以后,数据库的完整性没有被破坏.例如: 我们多种方式对银行账户的余额进行

2022-01-22 15:05:15 458

原创 ConcurrentHashMap和HashTable的区别

Hashtable ConcurrentHashMap

2022-01-19 13:28:16 2330

原创 JVM面试总结高频考点

Java校招面试JVM常考考点 高频考点

2022-01-19 13:21:36 249

原创 并发编程总结

回顾线程基本内容程序: 静态代码 安装在硬盘上的进程: 运行中的程序 是操作系统分配内存空间的单位线程: 线程是进程中的一个最小执行单位, 是cpu调度单位 线程依赖于进程创建线程1.线程类 继承 Thread 类 实现 Runnable接口 重写 run( ) 创建Thread类的对象,为其分配任务 类 实现 Callable接口 重写 call( ) 有返回值 可以抛出异常 创建Thread类的对象,为其分配任务常用方法run() calll(

2022-01-19 13:16:08 90

原创 集合高频小结

一.集合1.HashMap的低层实现原理?线程不安全,存储null的key和valuejdk7:数组+链表(jdk7) HashMap map = new HashMap();在实例化之后就创建了一个长度为16的一维数组Entry[] table,map.put(key1,value1) 首先调用Key1所在类的hashCode()计算key1的哈希值,此哈希值经过某种算法计算后,得到在Entry数组存放的位置,如果此位置上的数据为空,此时的key1-value1添加成功,如果此位置上的数据不为

2021-11-20 23:29:30 481

原创 死锁概念的具体实现

一:线程概念:不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃 自己需要的同步 资源,就形成了线程的死锁. 出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于 阻塞状态,无法继续。synchronized:隐试加锁,释放锁,可以锁定代码块,也可以锁定方法。lock:可以显示的加锁,只能锁定代码块package day05.demo2;​import java.util.concurrent.locks.Lock;import java.util.concurre..

2021-06-29 20:59:32 130

原创 集合set和map总结

一:set不可以重复,值没有索引1.1:HashSet:无序 低层用哈希表+链表+红黑树package day01;import java.util.HashSet;public class HashSetDemo1 { public static void main(String[] args) { HashSet<Integer> set = new HashSet<>(); set.add(2); s

2021-06-25 21:14:39 78

空空如也

空空如也

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

TA关注的人

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