jvm内存模型 1.执行过程 Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎执行。在整个程序执行过程中,JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息,这段空间 ...
分类:
其他好文 时间:
2019-03-08 16:58:44
阅读次数:
206
CommonJS 一种规范 AMD/CMD 基于commonJS演变而来的 规范 requirejs 是加载器对规范的实现 遵循AMD规范 seajs 遵循CMD规范 一、CommonJS Node.js是CommonJS规范的实现,webpack 也是以CommonJS的形式来书写。 node.j ...
分类:
Web程序 时间:
2019-03-07 00:38:10
阅读次数:
225
面向对象进阶 JVM内存分配 1.xxx.java xxx.class (编译器进行) 2.xxx.class 类加载器(三种) 在内存分配空间 3.JVM会将内存分为5块① 栈: Java栈区域比较小,空间大约1M,特点:(存取数据)速度非常快,在栈里边执行的基本上都是快速的任务:基本数据类型和对 ...
分类:
其他好文 时间:
2019-03-06 13:23:41
阅读次数:
154
概述 每一个应用都会引入很多依赖jar包,而且其中大多数都是相同的,这样会导致部署时会花费很长的时间。瘦身部署指的是将第三方jar包依赖剔除,只保留业务接口依赖jar包进行打包部署。 剔除第三方依赖jar包 Tomcat共享类加载器 【1】catalina.properties 文件 【2】创建 s ...
分类:
其他好文 时间:
2019-03-06 10:35:07
阅读次数:
203
参考链接 Parcelable接口相对Serializable接口比较复杂,但是有一套模板代码可以参考,所有的实现Parcelable接口的类都跟模板代码类似。 序列化之后可使用Bundle的putParcelable的方法,将实现Parcelable接口的对象放进bundle打包进Intent然后 ...
分类:
其他好文 时间:
2019-03-06 01:18:58
阅读次数:
283
类加载器是把编译后的class文件加载到内存,加载器可以分为启动类加载器和其他类加载器,而其他类加载器有可以分为扩展类加载器和应用程序类加载器 启动类加载器(BootStrap ClassLoader):加载java_home/lib或者指定目录下的类库文件,由封C++语言编写实现。 扩展类加载器( ...
分类:
其他好文 时间:
2019-03-05 11:18:05
阅读次数:
178
1.类的加载、连接和初始化 当程序使用某个类时,如果该类还未被加载到内存中,则系统会通过加载、连接、初始化三个步骤来对类进行初始化。如果没有意外,jvm将会连续完成这三个步骤,有时也把这三个步骤统称为类的加载和类初始化。 1.1 类的加载 类加载指的是将类的class文件读入内存,并且为之创建一个j ...
分类:
编程语言 时间:
2019-02-27 22:08:49
阅读次数:
241
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。理解ClassLoader的加载机制,也有利于我们编写出更高效的代码。ClassLoader的具体作用就是将class ...
分类:
编程语言 时间:
2019-02-27 14:38:08
阅读次数:
168
JDK动态代理 说到java自带的动态代理api,肯定离不开反射。JDK的Proxy类实现动态代理最核心的方法: 这个方法的作用:在运行时,动态创建一组指定接口的实现类对象。其中的三大参数: ClassLoader loader 类加载器,主要作用是用来加载类的,把.class文件加载到jvm的方法 ...
分类:
其他好文 时间:
2019-02-27 01:18:36
阅读次数:
169
一、JVM结构 根据《java虚拟机规范》规定,JVM的基本结构一般如下图所示: 从左图可知,JVM主要包括四个部分: 1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。(右图表示了从java源文件到JVM的整个过程,可配合理解。 关于类的加载机制 ...
分类:
编程语言 时间:
2019-02-23 11:04:07
阅读次数:
221