摘要:
运行时数据区结构概览 运行时数据区由方法区、堆、程序计数器、本地方法栈、虚拟机栈组成。 其中方法区只有Hotspot虚拟机才有,方法区 JDK 7 以前叫做永久代,JDK 8以后叫做元空间。 每个线程:独立包括程序计数器、栈、本地方法栈;线程间共享:堆、堆外内存(永久代或元空间、代码缓存) 阅读全文
摘要:
在JVM中表示两个class对象是否是同一个类存在两个必要条件: 类的完整类名必须一致,包括包名 加载这个类的ClassLoader(ClassLoader实例对象)必须相同 换句话说,在JVM中,即使这两个类对象(class对象)来源于同一个class文件,被同一个虚拟机加载,但只要加载他们的Cl 阅读全文
摘要:
原文链接 第一种方式 这种方式适合在安装操作系统的时候进行设置, 点击 Tab,打开kernel启动选项, 增加内核参数: net.ifnames=0 biosdevname=0 输入完成之后回车正常安装操作系统就好了。 第二种方式 修改网卡配置文件中的 DEVICE= 参数的关于 eth0 ? [ 阅读全文
摘要:
依赖于Apache的ant.jar包 package com.chinaoly.job.utils; import java.io.*; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; 阅读全文
摘要:
状况描述:将工作区代码存入stash,一不小心 git stash clear了,新修改的工作区代码没有了。 恢复操作: git log --graph --oneline --decorate $(git fsck --no-reflog | awk '/dangling commit/ {pri 阅读全文
摘要:
1.docker pull 镜像(docker hub 或者国内镜像源地址) 2.安装docker-compose 3.复制配置文件并进行修改 4.docker-compose up 备注: es1.yml如下: cluster.name: "dali" node.name: node1 node. 阅读全文
摘要:
在使用ArrayList时,尽可能初始化时给出容量大小,避免频繁的扩容 以下给出三种方式对比: 不指定容量,使用自动扩容模式 1 ArrayList<Object> list = new ArrayList<Object>(); 2 final int N = 10000000; 3 long st 阅读全文
摘要:
Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会对它的class文件加载到内存生成class对象。而且加载某个类的class文件时,Java虚拟机采用的是双亲委派机制,即把请求交给父类处理,它是一种任务委派模式。 工作原理 如果一个类加载器收到类加载请求,他并不会先 阅读全文
摘要:
Java日常开发过程中,类的加载几乎是由引导类加载器和系统类加载器配合执行,在必要的时候我们还可以自定义类加载器。 为什么要自定义类加载器 隔离加载类 修改类加载的方式 扩展加载源 防止源码泄露 如何实现自定义类加载器 通过继承抽象类java.lang.Classloader ,实现自己的类加载器, 阅读全文