发布了文章2021-03-31
java注解注解是什么?注解是元数据的一种形式,,为程序提供了一些数据,但是并不是程序的一部分。注解对代码并不直接地提供操作。作用:告知编译器一些信息,例如检查重写(@Override)、抑制警告(@SuppressWarnings)编译器以及部署期 的处理: 软件工具可以处理...
发布了文章2021-03-20
接口类: {代码...} 实现类 {代码...} 代理类 {代码...} {代码...}
发布了文章2021-03-05
公平锁与非公平锁是指,多个线程在获取同一把锁的策略,是按照先到先得还是直接竞争。先到先得的策略就是公平锁,排队对所有的线程来说是公平的,直接竞争的策略则是非公平的。
发布了文章2021-01-05
JMM即为JAVA 内存模型(java memory model)。本身是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。是为了屏蔽系统和硬件的差异,让一套代码在不同平台下能...
发布了文章2020-11-27
事务:事务就是一组原子性的SQL查询,或者说一个独立的工作单元。 也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。事务的特征:A(atomicity)原子性C(consistency)一致性I(isolation) 隔离性D(durability) 持久性四种隔离级别READ UNCOMMITTED...
赞了文章2020-11-23
最近正在啃《高性能MySQL》这本书, 当看到事务相关知识时,决定对该知识点稍微深入一下, 《高性能MySQL》中在介绍事务相关知识点时, 显然不是特别深入, 很多比较底层的知识点并没有太多的深入, 当然此处并不是要对本书做什么评判,言归正传, 这里主要先说一下本人在啃...
发布了文章2020-11-22
在MySQL中只有Memory引擎显示支持哈希索引,也是memory引擎表的默认索引类型。memory引擎是支持非唯一哈希索引的。如果多个列的哈希值相同,索引会以链表 的方式存放多个记录指针道同一个哈希条目中。
发布了文章2020-11-21
B-Tree 索引不同的存储引擎也可能使用不同的存储结构,i如,NDB集群存储引擎内部实现使用了T-Tree结构存储这种索引,即使其名字是BTREE;InnoDB使用的是B+Tree。
发布了文章2020-11-06
第一步当然是创建一个springBoot项目,并导入依赖嘛。这就不多说了。这儿我们就不用jedis了,spring对redis也有支持,我们就用spring-boot-starter-data-redis来整合redis。
发布了文章2020-11-05
1.导入依赖 {代码...} 2.创建配置类 {代码...} 注意配置类上的@EnableSwagger2注解3.编写测试controller {代码...} 打开swagger页面http://localhost:8080/swagger-ui/index.html
发布了文章2020-10-30
首先从dockerhub上搜索redis然后即将docker pull到本地 docker pull redis ,待同步完镜像后。我们需要对容器进行端口映射,以及文件映射,让redis读取本地的redis.conf文件。redis.conf问价可以去redis官网下载一份redis,然后提取。我们 修改好redis.conf文件,并...
发布了文章2020-10-27
其实可以看看谷歌的开源框架kaptcha,就是一个产生验证码的框架根据别人的代码稍稍修改了,实现在web页面展示原帖地址:[链接]生成验证码代码: {代码...} Controller {代码...} 前端页面 {代码...}
发布了文章2020-10-16
在阅读《Java 8 实战》的过程中,遇到一种写法 {代码...} 以前都是如下的形式: {代码...} 在《Java 8 核心技术卷I》中486页中对这个有解释总结一句话就是try()这种方式会自动调用关闭资源的方法,不需要显示地关闭资源。
赞了文章2020-10-07
我们在MySQL中的数据一般是放在磁盘中的,读取数据的时候肯定会有访问磁盘的操作,磁盘中有两个机械运动的部分,分别是盘片旋转和磁臂移动。盘片旋转就是我们市面上所提到的多少转每分钟,而磁盘移动则是在盘片旋转到指定位置以后,移动磁臂后开始进行数据的读写。那...
发布了文章2020-10-04
new Integer(123) 与 Integer.valueOf(123) 的区别在于:new Integer(123) 每次都会新建一个对象;Integer.valueOf(123) 会使用缓存池中的对象,多次调用会取得同一个对象的引用。 {代码...} 编译器会在自动装箱过程调用 valueOf() 方法,因此多个值相同且值在缓存池...
发布了文章2020-09-20
TreeMap 的接口几继承树中,有两个与众不同的接口:NavigableMap、SortedMap。SortedMap接口表示它的key是有序不能重复的,支持获取头尾Key-Value 元素,或者更具key指定范围获取子集合等。插入的key 必须实现Comparable 或者提供额外的Comparator,所以key不允许为n...
发布了文章2020-09-18
一个类只能有一个实例构造器私有化必须自行创建这个实例含有一个该类的静态变量来保存这个唯一的实例必须自行向整个系统提供这个实例对外提供获取该实例对象的方式直接暴露用静态变量的get方法获取几种常见形式:饿汉式:直接创建对象,不存在线程安全问题直接实例化...
发布了文章2020-09-17
Java开发人员都认识synchronized,使用它来实现多线程的同步操作是非常简单的,只要在需要同步的对方的方法、类或代码块中加入该关键字,它能够保证在同一个时刻最多只有一个线程执行同一个对象的同步代码,可保证修饰的代码在执行过程中不会被其他线程干扰。使用syn...
发布了文章2020-09-16
当前元素tmp之前是已经排好序,那么将当前元素和前面元素一个一个地去比较,如果但钱元素更小,说明该元素应该放到前面,也就是说需要交换这两个元素的位置。然后循环执行,直到tmp元素的值比前面的元素要大。这时候,前面的元素就是有序的了。
发布了文章2020-09-15
快速失败 也就是fail-fast ,它是java 集合的一种错误检测检测机制。当多个线程对集合进行结构上的改变操作时,就有可能发生fail-fast 时间。例如,假设两个线程A,B。线程A 通过迭代器(Iterator)在遍历集合X 中的元素时,线程B修改了集合X 的结构,删除或新增元素...