- 博客(13)
- 收藏
- 关注
原创 一个简单的 DOCKERFILE示例
docker优点更高效的利用系统资源更快速的启动时间一致的运行环境持续交付与部署更轻松的迁移于linux 容器二次封装 用go语言重做数据es,redis,mysql不使用docker 容器化。在CentOs上安装Docker官网doc即可docker run/pulldockerfileFROM 来源于哪个基础镜像MAINTAINER (过时)LABELRUNADD 拷贝文件 wget+自动解压COPY 不支持自动下载ENV 设置环境变量CMD 启动容器时候
2021-06-07 09:14:46
268
原创 spring bean生命周期在bean初始化常用的三个接口 BeanPostProcessor,InstantiationAwareBeanPostProcessor和InitializingBea
spring bean生命周期在bean初始化常用的三个接口 BeanPostProcessor,InstantiationAwareBeanPostProcessor和InitializingBeanBeanPostProcessor和InstantiationAwareBeanPostProcessor public Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName) throws B
2021-06-04 16:17:22
321
原创 线程池执行过程
1 先判断线程池中的核心线程们是否空闲,如果空闲,就把这个新的任务指派给某一个空闲线程去执行。如果没有空闲,并且当前线程池中的核心线程数还小于 corePoolSize,那就再创建一个核心线程。2 如果线程池的线程数已经达到核心线程数,并且这些线程都繁忙,就把这个新来的任务放到等待队列中去。3 如果等待队列又满了,那么查看一下当前线程数是否到达maximumPoolSize,如果还未到达,就继续创建线程。如果已经到达了,就交给RejectedExecutionHandler来决定怎么处理这个任务。拒
2021-05-11 13:52:34
258
原创 线程的六种状态
public enum State { NEW, RUNNABLE, ##################synchronized,抢占同步锁的时候,线程会进入blocked状态 BLOCKED, WAITING, TIMED_WAITING, TERMINATED; ...
2020-03-11 21:43:30
120
原创 多线程的四种实现简单源码分析
继承Thread类步骤1:实现run方法public class myThread extends Thread { @Override public void run() { for (int i = 0; i < 10000; i++) { System.out.println("run=" + Thread.currentT...
2020-03-09 22:59:54
155
原创 HashMap源码分析之get方法
public V get(Object key) { Node<K,V> e; return (e = getNode(hash(key), key)) == null ? null : e.value; } final Node<K,V> getNode(int hash, Object key) { ...
2020-03-09 22:22:00
107
原创 HashMap源码分析之put方法
首先,看HashMap的属性: static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // 默认初始容量,是2的倍数,1左移四位,就是1 0000 结果就是16 static final int MAXIMUM_CAPACITY = 1 << 30; //最大容量,2的30次幂,1 073 741 ...
2020-03-08 17:26:00
121
原创 重写equals方法不重写hashcode方法分析
重写equals方法需要遵循Java如下规则,否则编码行为会难以揣测:自反性:对于任意的对象x,x.equals(x)返回true(自己一定等于自己);对称性:对于任意的对象x和y,若x.equals(y)为true,则y.equals(x)亦为true;传递性:对于任意的对象x、y和z,若x.equals(y)为true且y.equals(z)也为true,则x.equals(z)亦...
2020-03-08 11:51:57
420
原创 ¥%%……#%&E%Sql调优笔记:基本概念
表:test字段:seqno name sex habitinsert into Test (seqno, name,sex,habit) select rownum as seqno, dbms_random.string('i', 3) as name, trunc(dbms_random.value(0,2)) as sex, ...
2020-03-07 11:50:11
357
原创 redis学习1
Redis是单进程线程的服务(实际上一个正在运行的Redis Server肯定不止一个线程,但只有一个线程来处理网络请求),避免了不必要的上下文切换,同时不存在加锁/释放锁等同步操作。linux下redis的安装$ wget http://download.redis.io/releases/redis-5.0.0.tar.gz$ tar -zxvf redis-5.0.0.tar.gz$...
2020-03-01 15:56:14
91
原创 001 简单的springboot整合mybatis
首先新建一个springboot项目右边可以看到挑选的依赖配置application.yml ![.properties与yml,yml相当于简化书写的.properties](https://img-blog.csdnimg.cn/20200206115927425.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdG...
2020-02-06 12:35:06
143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人