摘要: java的枚举倒是一直在使用,但没有深究过,最近看guava的代码里,发现大量使用枚举,于是详细看了下。 首先java的枚举实际上是语法糖,本质上还是class,编译之后就与class无异。那既然是class,当然也具有class的一些特性,如继承,实现接口等。 关键字enum定义的枚举类型,实际上 阅读全文
posted @ 2021-10-26 08:46 Nooooone 阅读(44) 评论(0) 推荐(0) 编辑
摘要: java线程池干了些什么事 主要是维持一些常驻的线程,避免每次执行任务新建线程的开销 将线程的执行和提交解耦,用户只用关心线程的提交,而不用关心线程的执行 我们通常怎么使用线程池 ExecutorService threadPoolExecutor = Executors.newFixedThrea 阅读全文
posted @ 2021-07-18 17:21 Nooooone 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 先看几个case public class SimpleTest { @Test public void threadThrowException() { Thread thread = new Thread(()->{int a = 1/0;}); thread.start(); } @Test 阅读全文
posted @ 2021-07-18 15:33 Nooooone 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 上周因为项目中的线程池参数设置的不合理,引发了一些问题,看了下代码,发现对JUC中的一些概念需要再清晰些。 Runnable @FunctionalInterface public interface Runnable { /** * When an object implementing inte 阅读全文
posted @ 2021-07-04 17:17 Nooooone 阅读(139) 评论(0) 推荐(0) 编辑
摘要: mysql架构 锁 为了解并发问题,引入锁,mysql中锁分为读锁和写锁,即share lock和exclusive lock。故名思义,share lock之间不互斥,share lock和exclusive lock之间互斥,exclusive lock之间互斥。mysql 提供行锁row lo 阅读全文
posted @ 2021-06-27 22:37 Nooooone 阅读(318) 评论(0) 推荐(0) 编辑
摘要: mysql索引结构: mysql索引使用B+tree,为什么使用B+tree呢,首先,使用索引是为了加快查找的速度,B+tree的查找时间复杂度为log(n).那为什么不用o(1)的hashMap呢。mysql是有使用hashMap结构的hash索引的,但大部分情况下,我们使用的索引并不是hash索 阅读全文
posted @ 2021-06-20 16:55 Nooooone 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 都知道虚拟机和docker的区别,虚拟机是每个虚拟机内跑独立的os,os层面隔离。docker是同一个os上,使用linux的namespace机制做资源隔离,为什么我们docker image还需要依赖一个linux的发行版,一般最小是busybox呢,那我的进程跑起来,到底是用我容器内的os还是 阅读全文
posted @ 2021-05-13 22:07 Nooooone 阅读(40) 评论(0) 推荐(0) 编辑
摘要: DDD, domain-driven-develop,领域驱动设计。最近看了一些文章和eric evans那本《领域驱动设计:软件复杂性之道》,谈谈我从DDD中学到了什么。 DDD中的几个概念 valueObject: 无状态,纯pojo的一些类,一般是不可变的,不可变意味着安全和简单,所以能归为v 阅读全文
posted @ 2021-05-13 21:54 Nooooone 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 首先看对jdk中对java.lang.LinkageError的定义 Subclasses of {@code LinkageError} indicate that a class has some dependency on another class; however, the latter 阅读全文
posted @ 2020-08-30 16:50 Nooooone 阅读(873) 评论(0) 推荐(0) 编辑
摘要: powerMock和mockito powermock和mockito都是做mock的框架,powermock在mockito的基础上扩展而来,支持mockito的操作(也支持别的mock框架比如easyMock)。因此在maven引入powermock的时候,需要引mockito的包。powerm 阅读全文
posted @ 2020-08-16 18:35 Nooooone 阅读(1283) 评论(0) 推荐(0) 编辑