docker 安装前提条件 运行64位CPU构架的计算机(目前只能是x86_64和amd64) 运行Linux 3.10或更高版本内核 内核必须支持一种适合的存储驱动(storage driver) 内核必须支持并开启cgroup和命名空间(namespace)功能 Docker团队推荐在Ubuntu、Deb...
API Specification Interface Stream Class Collectors Stream中新增方法 dropWhile 从流起始处丢弃匹配Predicate的元素至第一个不匹配的。如果都匹配则返回空流,如果第一个就不匹配那么就是返回原始流。形式接近Stream<T> sk...
对groupingBy的结果做缩减(flatMap a groupingBy result)
收集器与多级缩减示例。 IntBox.java 对于类似IntBox(有属性为集合)的对象的集合List<IntBox>,常有需要获得Map<String, List<Integer>>这样的数据结构。 考虑到name可能重复,所以不可以使用toMap(Function&...
概述clone方法位于Object中,该方法用于创建并返回此对象的一个副本。Object类是所有Java类的父类,因此所有的Java类都继承了clone方法,该方法的访问控制修饰符为protected。 需要注意的是,想要调用该方法,被复制的对象的类必须实现java.lang.Cloneable接口。如果没有实现...
Builder模式建造者模式属于创建型模式,通常用于组装具有复杂结构的实例。 实现 登场角色 Builder(建造者):负责定义用于生成实例的接口。ConcreteBuilder(具体的建造者):负责实现Builder角色的接口的类。Director(监工):负责使用Builder角色的接口的类。 建造者模...
博客目前使用的SSL证书是免费的Let’s Encrypt。Let’s Encrypt的证书有效期是3个月,可以通过certbot renew来更新证书,但是只会更新还有30天才会过期的证书。 为了避免新添加域名,或是给证书更新时敲一堆命令,可以尝试使用Acme来申请、维护从letsencrypt生成的免费的...
先来回顾一下默认堆的大小。 操作系统及JVM类型 Xms Xmx Linux 32位 Client 16MB 256MB Linux 32位 Server 64MB 取1GB和物理内存大小1/4二者中的最小值 Linux 64位 Server 取512MB和物理内存大小1/64二者中的最小值...
Young GC过程 Young Generation Eden Survivor(Survivor1 & Survivor2) Old Generation JVM将堆划分为新生代、老年代,新生代又被划分为Eden区、Survivor1区、Survivor2区(两个Survivor区相对地作为 ...
Java内存模型Java内存模型在Java Virtual Machine Specification, in the chapters “2.5 Runtime Data Areas” and “2.6 Frames”中有详细的说明。对象和类的数据存储在3个不同的内存区域:堆(heap space)、方法区(m...
指令重排序指令重排序是 JVM 为了优化指令,提高程序运行效率,在不影响 单线程 程序执行结果的前提下,尽可能地提高并行度。 重排序分为两类: 编译期重排序 运行期重排序 编译期重排序的典型就是通过调整指令顺序,在不改变程序语义的前提下,尽可能减少寄存器的读取、存储次数,充分复用寄存器的存储值。假设第一条指...
第 7 页 / 共 8 页