背包问题
对于背包问题,我们需要使用动态规划的思想来解决问题。
例如一个问题, 选择n个物品重量w不超过n的最大价值v
首先是集合表示,可以表示为前 i 个物品 不超过 j 的重量的集合
集合的属性:最大/最小值
状态的计算: 对于[i,j] 我们需要对此进行一个集合的划分
一般来说,取最后一部进行划分:
以01 背包为栗:每个物品 选择和不选 , 划分为...
ThreadLocal存储数据是使用ThreadLocalMap来存的,ThreadLocalMap基于Entry[]实现,存储数据时,本身ThreadLocal作为key来存取value数据。
key内存泄露:
ThreadLocal对象本事就是一个强引用,当方法弹栈后,因为线程池中线程还在,对ThreadLocal引用的Key还在,这会导致这个Threa...
创建 - 线程创建,分配地址
runnable - 就绪和运行统称Runnable
阻塞block - 没有拿到资源,synchronize等待
等待waiting - 挂起线程池,或者wait(),需要手动唤醒
time waiting - sleep(1000)睡眠的状态,到时间自动唤醒
终止terminated - 结束
public enum ...
使用docker部署
部署elasticsearch
# 拉取镜像
docker pull elasticsearch
# 创建容器
docker run --name es -p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64...