自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NoSQL中的“BASE”特性

BASE:基本可用(BA)、软状态(S)、最终一致性(E)1.基本可用(Basically Available):NoSQL允许分布式系统中某些部分出现故障,那么系统的其余部分依然可用。它不会像ACID那样,在系统出现故障时,进行强制拒绝,允许继续部分访问。2.软状态(Soft State):NoSQL在数据处理过程中,允许这个过程,存在数据状态暂时不一致的情况。但经过纠错处理,最终会一致的。3.最终一致性(Eventually Consistent):NoSQL的软状态允许数据处理过程的暂时不

2021-05-15 20:46:30 1664

原创 tomcat类加载隔离

2021-05-06 21:17:59 205

原创 jvm中指针压缩

指针压缩Java 对象的对象头是放在 Java 对象的内存起始处的,而一个对象的 MarkWord 在对象头的起始处,在 32 位系统中,它占用 4 个字节,而在 64 位系统中它占用 8 个字节,我使用的是 64 位系统,这毫无疑问会占用 8 个字节的偏移量。紧跟 MarkWord 的应该是 Test 类的类指针和数组对象的长度,数组长度是 4 字节,但 Test 类并非数组,也没有其他属性,数据长度可以排除,但在 64 位系统下指针也应该是 8 字节的啊,为什么只占用了 4 个字节呢?唯一的可能性

2021-05-03 13:33:52 131

原创 用完 ThreadLocal 都要调用 remove()

什么是内存泄漏内存泄漏指的是,当某一个对象不再有用的时候,占用的内存却不能被回收,这就叫作内存泄漏。因为通常情况下,如果一个对象不再有用,那么我们的垃圾回收器 GC,就应该把这部分内存给清理掉。这样的话,就可以让这部分内存后续重新分配到其他的地方去使用;否则,如果对象没有用,但一直不能被回收,这样的垃圾对象如果积累的越来越多,则会导致我们可用的内存越来越少,最后发生内存不够用的 OOM 错误。下面我们来分析一下,在 ThreadLocal 中这样的内存泄漏是如何发生的。Key 的泄漏在上一讲中,我

2021-05-03 12:23:28 764

原创 docker

docker build -t test-docker-image .产生一个名为 test-docker-image的镜像docker run -d --name user01 -p 6666:8080 test-docker-image产生一个名为 user01的容器创建一个v1的tag docker tag test-docker-image test-docker-image:v1[root@docker tomcat]# docker imagesREPOSITORY .

2021-04-08 00:19:07 47

原创 docker使用root身份进入容器

docker exec -it --user root /bin/bash

2021-03-31 21:59:19 788

原创 git处理tag

git checkout tag_name 此时git可能会提示你当前处于“detached HEAD” 状态。因为tag相当于一个快照,不能修改它的代码。需要在tag代码基础上做修改时,需要tag为基础创建一个新的分支,在新的分支上修改代码:git checkout -b branch_name tag_name...

2021-03-29 22:36:48 47

原创 maven项目中classpath

mavne项目classpath就是classes目录下可以使用相对路径也可以使用绝对路径使用/开头

2021-03-28 18:45:02 340

原创 mysql字符集

我仔细看看报错信息,应该是MySQL数据库报出来的,大意是说:collation不兼容,一个是 utf8mb4_0900_ai_ci,另一个是utf8mb4_general_ci。utf8mb4_general_ci这玩意儿我见过,是针对utf8mb4编码的collation,但是utf8mb4_0900_ai_ci是啥,我也没见过。于是我问他,这玩意儿从哪里出来的?他说:“我也不知道,我完全没见过啊。再说,我数据库编码已经是utf8mb4了,怎么还会有这么多名堂?”看他着急又不知所措的样子,我便花

2021-03-28 00:51:30 261 2

原创 mysql索引优化一

CREATE TABLE `student` ( `s_no` int(11) DEFAULT NULL, `s_name` varchar(500) DEFAULT NULL, `s_age` int(11) DEFAULT NULL, `s_sex` varchar(10) DEFAULT NULL, KEY `index_student_s_no` (`s_no`), KEY `index_student_s_age` (`s_age`)) ENGINE=InnoDB DEF

2021-03-27 22:04:47 41

原创 springboot单元测试

spring boot单元测试Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库作为最新版本的JUnit框架,JUnit5与之前版本的Junit框架有很大的不同。由三个不同子项目的几个不同模块组成。JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit VintageJUnit Platform: Junit Platform是在JVM上启动测试框架的基础,不仅支持Junit自制的测试引擎,其他测试引擎也都可以接入。JUn

2021-03-25 22:43:09 67

原创 java 数组是对象

In Java, there is a class for every array type, so there’s a class for int[] and similarly for float, double etc.The direct superclass of an array type is Object. Every array type implements the interfaces Cloneable and java.io.Serializable.In the Java p

2021-03-24 23:06:20 36

原创 uml类图

1.继承聚合 个体独立于主体组合 部分不能存在与整体之外

2021-03-24 22:08:22 39

原创 mybatis源码第四课

mybatis插件扩展mybatis只能在这四个点扩展1.Executor2.StatementHandler3.ParameterHandler4.ResultSetHandler

2021-03-21 21:20:02 65 2

原创 maven

maven认为src/main/java只是java的源代码路径比如mybatis的mapper.xml文件,如果将mapper.xml文件和Mapper.java放一起,就需要修改pom.xml文件,来把mapper.xml文件一起打包。<resources> <resource> <directory>src/main/java</directory> <includes> &

2021-03-21 17:17:33 28

原创 通过反射获取静态变量和非静态变量的值的值

public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException { Field serialVersionUID = String.class.getDeclaredField("serialVersionUID"); serialVersionUID.setAccessible(true); Object o = serialVersion.

2021-03-21 13:18:49 563

原创 mysql中隔离级别和锁

1.在MVCC并发控制中,读操作可以分为两类:快照读与当前读。快照读(简单的select操作),读取的是记录中的可见版本(可能是历史版本),不用加锁。当前读(加锁的select操作、insert、delete和update):读取的是记录中最新版本,并且当前读返回的记录都会加上锁,这样保证了了其他事务不会再并发修改这条记录。2.Mysql默认级别是repeatable-read,间隙锁在某些情况下可以解决幻读问题要避免幻读可以用间隙锁在Session_1下面执行update account se

2021-03-19 23:49:58 64

原创 MySQL中单引号,双引号和反引号的区别

1.单引号(’)或双引号(")表示字符串。2.反引号区分MYSQL的保留字与普通字符。比如create table t1 (id int primary key ,desc varchar(10)); -- 这句报错 create table t1 (id int primary key,`desc` varchar(10)); -- 这句成功运行...

2021-03-19 01:14:16 211

原创 mybatis源码第三课

1.二级缓存从 MappedStatement中取出来cache当没有配置二级缓存时为null如下图synchronizedCache中含有多种同类型对象当sqlsession关闭时才会存储二级缓存并将对象序列化存储序列化存储前提是@CacheNamespace(readWrite = false)...

2021-03-18 00:27:05 32

原创 mybatis源码第二课

1.一级缓存

2021-03-17 23:20:19 52

原创 java中注解的继承

1.java中有四个元注解其中@Inherited允许子类继承父类中的注解@Inherited 只是可控制对类名上注解是否可以被继承,在接口方法上子类是不会继承注解的。

2021-03-13 01:21:55 571

原创 linux中login shell和non-login shell

linux中login shell和non-login shell1.non-login shell讲解1.1 创建一个non-login shell可以使用这个命令创建一个non-login shell的新用户www:useradd -s /sbin/nologin <username>使用cat /etc/passwd可以查看出创建的用户是否是non-login shell1.2 non-login shell的作用non-login shell用户不能使用ssh登陆服务

2021-03-12 22:24:26 186

空空如也

空空如也

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

TA关注的人

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