摘要: arrayList实际上是一个可变长度的数组,它有一些属性 我们来看下ArrayList的初始化过程 ArrayList有三个构造函数 第一种方式是将元素数据设置为默认的空Object数组对象 第二种方式是传入初始容量initialCapacity,大于0则创建这个数值大小的数组,等于0等同第一种方 阅读全文
posted @ 2018-05-20 17:04 佳琪如梦 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 线程六种状态 1. new状态 线程创建,还没有执行 2.runnable状态 线程正常执行 3.teminated状态 线程终止 4.block状态 阻塞状态,例如等待锁释放 5.timed_waiting状态 有时间的等待状态,线程仍在等待没有释放cpu 6.wating 等待状态 packag 阅读全文
posted @ 2023-03-11 18:38 佳琪如梦 阅读(15) 评论(0) 推荐(0) 编辑
摘要: redo log 重做日志,记录事务提交时对数据页的修改,用来实现事务的持久性. 事务提交时,数据会在缓冲区脏页更新,然后定时刷新到磁盘ibd文件,这个持久化过程是随机写操作,耗时比较久,如果刷新脏页到磁盘文件这个过程因为系统故障断电停机等失败了,会导致数据没有持久化. 引入redolog 事务提交 阅读全文
posted @ 2023-03-06 16:56 佳琪如梦 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 设计原则 solid 1、开闭原则(Open Close Principle) 开闭原则的意思是:对扩展开放,对修改关闭。 2、里氏代换原则(Liskov Substitution Principle) 里氏代换原则是面向对象设计的基本原则之一。里氏代换原则中说,任何基类可以出现的地方,子类一定可以 阅读全文
posted @ 2023-03-06 16:49 佳琪如梦 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 最近在公司项目上遇到一个问题,客户使用某个功能经常出现重复数据,后面经排查,发下这个功能因为设计到递归,而且是一个粒度比较大的事务, 操作比较耗时,mysql数据库使用了默认的隔离级别RR,因此上一个用户操作后事务没有完成,下一个用户又重复操作了,数据被重复写入了. 解决方案是后来在事务执行之前加了 阅读全文
posted @ 2023-03-01 15:45 佳琪如梦 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 简介 当我们需要使用某个对象的功能,但是我们没有这个对象时,我们可以用适配器和替换对象来实现这个功能.比如我们手机有typec接口,但是我们没有这个接口的耳机,我们可以用typec转3.5mm的线和耳机和手机连上,我们就可以用3.5mm耳机听到音乐 模式应用 类图 源码实现 点击查看代码 packa 阅读全文
posted @ 2023-02-25 13:36 佳琪如梦 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 简介 在某些场景下,我们需要增强某个对象的使用,比如我们在执行某个方法前加输出一条日志,但是我们不能直接改这个类,我们可以用代理对象来实现这个功能 模式应用 Spring AOP/日志/事务 等 类图 源码实现 静态代理 jdk动态代理 点击查看代码 package designpattern.pr 阅读全文
posted @ 2023-02-25 12:03 佳琪如梦 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 简介 单例模式是表示在一个程序中,某个类具有唯一的实例. 模式应用 类图 源码实现 第一种:饿汉式,优点是代码简单,缺点是资源过早创建,不用的话浪费资源. 点击查看代码 package designpattern.singleton; //饿汉式 public class Singleton1 { 阅读全文
posted @ 2023-02-24 17:38 佳琪如梦 阅读(11) 评论(0) 推荐(0) 编辑
摘要: easyes 是一个国产的开源软件,提供类似于mybatis-plus查询数据的方式来查询es数据,极大提高了实现es增删改查功能的开发效率 使用方式如下 1.工程导入依赖 <dependency> <groupId>cn.easy-es</groupId> <artifactId>easy-es- 阅读全文
posted @ 2023-02-23 14:45 佳琪如梦 阅读(1652) 评论(0) 推荐(0) 编辑
摘要: 1. 在github搜索 elasticsearch-analysis-ik 找到与es对应版本下载 我的是7.14.0 将zip包上传到es的plugins目录下解压,重启es 在kibana的开发工具测试是否成功 阅读全文
posted @ 2023-02-23 14:28 佳琪如梦 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 安装 wget https://artifacts.elastic.co/downloads/logstash/logstash-7.14.0-linux-x86_64.tar.gz 解压 tar -zxvf logstash-7.14.0-linux-x86_64.tar.gz 移动 mv log 阅读全文
posted @ 2023-02-22 18:06 佳琪如梦 阅读(219) 评论(0) 推荐(0) 编辑