On the way

zookeeper基本数据模型

基本数据模型 树形结构,类似于 linux/unix的文件目录。 每个节点称之为znode,可以有子节点,也可以有数据。 每个节点分为临时节点和永久节点,临时节点在客户端断开后消失。 每个zk节点有各自的版本号 节点数据变化时,节点的版本号累加(乐观锁)?? 删除修改过时节点,版本号不匹配则会报错 每个节点的数据不宜过大,几k即可。节点可以设置权限acl 作用体现 ...

docker部署spring-boot项目

参考官网:https://spring.io/guides/gs/spring-boot-docker/ Dockerfile FROM openjdk:8-jdk-alpine VOLUME /tmp COPY ./target/controlserver-0.0.1-SNAPSHOT.jar app.jar EXPOSE 8080 ENTRYPOINT ["java","-Djava...

Mac 安装 zookeeper

brew安装 $ brew install zookeeper 因为之前装过,这里再重新装一下: $ brew reinstall zookeeper ==> Downloading https://homebrew.bintray.com/bottles/zookeeper-3.4.12.el_capitan.bottle.tar.gz ###################...

docker部署前端项目

以下测试环境均在mac上,windows使用docker需要win10专业版(如果是家庭版,需要在网上搜个可用的秘钥升级到专业版) 以以下vue-cli 创建的项目为例: 项目运行 npm run build构建后生成的文件在 dist 目录。 在当前项目目录下创建 Dockerfile 文件,写入如下内容: FROM nginx COPY ./dist /usr/sha...

java hashcode

如果没有重写 hashcode,则是继承自Object,是native JNI 方法,实现如下: http://hg.openjdk.java.net/jdk8/jdk8/hotspot/file/tip/src/share/vm/runtime/synchronizer.cpp // hashCode() generation : // // Possibilities: // * MD...

使用dom4j解析xml

配置 dom4j 使用 jaxen 来解析 xpath,如果不加上的话,在使用 document.selectNodes 解析xpath的时候会报错 java.lang.NoClassDefFoundError: org/jaxen/JaxenException <dependencies> <!-- https://mvnrepository.com/arti...

jvm性能监控工具

内存堆转储快照分析 public class HeapOOM { static class OOMObject { } public static void main(String[] args) { List<OOMObject> list = new ArrayList<OOMObject>(); while (true) { list.a...

java并发

马士兵老师高并发编程系列 学习: https://www.bilibili.com/video/av11076511/ 源代码:https://github.com/EduMoral/edu/blob/master/concurrent/src/yxxy/ 001 public class T { private int count = 10; private Object o ...

java 垃圾回收

内容来自《深入理解java虚拟机》 第3章 垃圾收集器与内存分配策略 永久代? 怎么判断对象是否存活? 引用计数算法 会有循环引用的问题 可达性分析算法(✔️) 从 GC Roots 节点开始向下搜索,搜不到的则判定为可回收的对象。 可以作为GC Roots 的对象: 虚拟机栈中引用的对象 方法区中类静态对象属性引用的对象 方法区常量引用的对象 本地方法栈J...

join、CountDownLatch、CyclicBarrier

join、CountDownLatch、CyclicBarrier join public class Test { public static void main(String[] args) throws Exception { Thread thread = (new Thread(() -> { try { ...