在 k8s 中使用 rook-ceph 发表于 2020-08-30 分类于 Ceph , Container , Kubernets Valine: 相关链接rook-ceph官方指导: https://rook.io/docs/rook/v1.1/ceph-examples.html github项目地址: https://github.com/rook/rook/tree/master/cluster/examples/kubernetes/ceph 阅读全文 »
Java 的 JIT 知识整理 发表于 2020-08-28 分类于 Java Valine: JIT 介绍JIT 编译器(just in time 即时编译器),当虚拟机发现某个方法或代码块运行特别频繁时,就会把这些代码认定为 热点代码(Hot Spot Code),为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各层次的优化,完成这项任务的正是 JIT 编译器。 阅读全文 »
Java 字节码操纵框架 ASM 发表于 2020-08-27 分类于 Java , JavaJar Valine: ASM 介绍ASM 是一个 java 字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。 ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。 阅读全文 »
Arthas 之热更新原理,并实现简易版热更新功能 发表于 2020-08-26 分类于 Java , Arthas Valine: 热更新原理Arthas 热更新功能看起来很神奇,实际上离不开 JDK 一些 API,分别为 instrument API 与 attach API。 阅读全文 »
使用 lambda 表达式进行集合类型转换 发表于 2020-08-24 分类于 Java , JavaClass Valine: 目标类型 List转 ListList<String> list1 = Lists.newArrayList(); List<String> list2 = list1.stream().map(string -> { return "stream().map()处理之后:" + string; }).collect(Collectors.toList()); 阅读全文 »