Java对象的创建
发表于|JAVA
|总字数:0|阅读时长:1分钟|浏览量:
文章作者: edwin
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ING-BLOG!
相关推荐

2019-04-25
JVM运行时数据区域
1、运行时数据区域Java虚拟机所管理的内存主要包括以下几个运行时数据区域: 1.1 程序计数器 程序计数器是一块较小的内存空间,他可以看作是当前线程所执行的字节码的行号指示器。 在Java虚拟机的概念模型里,字节码解释器工作是就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、 跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。 程序计数器-线程私有 如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址; 如果正在执行的本地(Native)方法,这个计数器值则应为空(Undefined) 程序计数器是jvm内存区域中唯一一个在《Java虚拟机规范》中没有规定任何OutOfMemoryError的区域 1.2 Java虚拟机栈 线程私有,它的生命周期与线程相同。 虚拟机栈描述的是Java方法执行的线程的内存模型:每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧(Stack...

2019-05-03
JVM的类加载器
1. 类加载器层级1.1 自定义加载器(Custom ClassLoader)通过java.lang.ClassLoader的子类自定义的加载class, 属于应用程序根据自身需要定义的加载器。 如:tomcat/jboss都会根据j2ee规范自行实现ClassLoader 1.2 应用类加载器(AppClassLoader)加载classpath指定的jar包,及Djava.class.path所指定目录下的类和jar包 1.3 扩展类加载器(ExtClassLoader)加载Java平台中扩展功能的一些jar包,包括$JAVA_HOME 中jre/lib/ext/*.jar 或 -Djava.ext.dirs 指定目录下的jar包 1.4 启动类加载器(Bootstrap ClassLoader)加载$JAVA_HOME中 jre/lib/rt.jar、resource.jar等里面所有的class 或者 Xbootclasspath 选项指定的jar包 2. 双亲委派机制(父类委托) 向上查找、向下委派 My.class --①加载--> 应用类加载器 ...
2019-12-28
JVM配置参数
机器配置:8核16G 1、启动参数1234567891011121314151617181920212223242526272829303132333435VM Arguments: jvm_args: -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djava.io.tmpdir=/tmp -Djava.net.preferIPv6Addresses=false -Xss512k -Xmx12g -Xms12g -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -XX:+AlwaysPreTouch -XX:ReservedCodeCacheSize=240m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:InitiatingHeapOccupancyPercent=40 -XX:MaxGCPauseMillis=100 -XX:+TieredCompilation...

2019-05-02
JVM的类加载问题
1. 加载.class文件的方式 1)从本地系统中直接加载 2)通过网络下载.class文件 典型场景:Web Applet (小程序应用) 3)从zip,jar等归档文件中加载.class文件 典型场景:后续演变为jar/war格式 4)从专有数据中提取.class文件 典型场景:JSP应用从专有数据库中提取.class文件, 比较少见 5)将Java文件动态编译为.class文件,运行时计算而成 典型场景:动态代理 6)将Java文件动态编译为.class文件,运行时计算而成 典型场景:动态代理 7)从加密文件中获取 典型场景:典型的防Class文件被反编译的保护措施 2. 类加载流程 装载 -> 链接(验证、准备、解析) -> 初始化 所谓的类加载机制就是:虚拟机把Class文件加载到内存并对数据进行校验,转换解析和初始化形成虚拟机可以直接使用的Java类型,即java.lang.Class 2.1 装载(Load) 查找和导入.class文件1)通过一个类的全限定名获取定义此类的二进制字节流2)...
评论