三种方式取得类的字节码,取得类的类装载器,使用字节码.getClassLoader()方法获得
分类:
编程语言 时间:
2014-05-24 05:37:06
阅读次数:
217
在一个类编译完成之后,下一步就需要开始使用类,如果要使用一个类,肯定离不开JVM。在程序执行中JVM通过装载,链接,初始化这3个步骤完成。类的装载是通过类加载器完成的,加载器将.class文件的二进制文件装入JVM的方法区,并且在堆区创建描述这个类的java.lang.Class对象。用来封装数据。...
分类:
编程语言 时间:
2014-05-18 19:36:27
阅读次数:
350
JVM加载class文件的原理机制1.Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中2.java中的类大致分为三种:
1.系统类 2.扩展类 3.由程序员自定义的类3.类装载方式,有两种 1.隐式装载, ...
分类:
其他好文 时间:
2014-05-18 19:23:57
阅读次数:
354
openwrt是由Cisco放出源代码的开放无线路由平台。由于是基于linux内核,所以可以将很多linux平台下的软件移植到此平台下,然后让无线路由拥有很多意想不到的功能,例如拿来做BT下载器,音乐播放器,小型数据库处理等等。环境:Ubuntu
10.04,subversion,VMware wo...
分类:
Web程序 时间:
2014-05-15 16:16:41
阅读次数:
492
java的类加载机制默认情况下是采用委托模型:当加载某个类时JVM会首先尝试用当前类加载器的父类加载器加载该类,若父类加载器加载不到再由当前类加载器来加载,因此这种模型又叫做“父优先”模型。
但是在实际项目中我们可能会要求先从当前类加载加载再从父类加载器加载,如项目中的某类的版本可能和contain...
分类:
编程语言 时间:
2014-05-15 02:14:45
阅读次数:
330
一、自定义类加载器的一般步骤Java的类加载器自从JDK1.2开始便引入了一条机制叫做父类委托机制。一个类需要被加载的时候,JVM先会调用他的父类加载器进行加载,父类调用父类的父类,一直到顶级类加载器。如果父类加载器加载不了,依次再使用其子类进行加载。当然这类所说的父类加载器,不一定他们之间是继承的...
分类:
编程语言 时间:
2014-05-15 02:00:35
阅读次数:
256
我们知道,在JVM编译期和加载器,甚至运行期已经做了大量的调优操作,但是那些都是JVM针对Java程序所做的通用的、简单的优化,程序在运行时由于运行环境的复杂性、业务逻辑的复杂性,很多JVM是无法进行优化处理的,这就需要我们自己在写代码的时候就注意,以便我们的程序在特定的业务场景发挥到最佳性能。要进...
分类:
其他好文 时间:
2014-05-15 01:59:58
阅读次数:
275
1、用户自定义的类加载器:要创建用户自己的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的findClass(String
name)方法即可,该方法根据参数指定类的名字,返回对应的Class对象的引用。findClassprotected Class findClas...
分类:
编程语言 时间:
2014-05-14 23:38:14
阅读次数:
649
在ListView中加载图片是非常常见的场景,图片的加载要满足下面的几个要求:
(1)不管图片是位于网络还是本地,加载都不应该是同步的,而是应该异步去加载,比如用AsyncTask。
(2)为了避免重复下载图片和页面展示的速度,一般要做缓存,比如最常见的LruCache。
(3)为了提高Listview的性能,我们一般会用holder来重用Listview的item。...
分类:
移动开发 时间:
2014-05-09 15:02:53
阅读次数:
441
应用服务器一般都支持热部署(Hot Deployment),更新代码时把新编译的确类
替换旧的就行,后面的程序就执行新类中的代码。这也是由各种应用服务器的独 有的类加载器层次实现的。那如何在我们的程序中也实现这种热加载功能呢?即
要在虚拟机不关闭的情况下(比如一个),换个类,JVM 就知道加载这个新...
分类:
编程语言 时间:
2014-05-09 09:33:09
阅读次数:
483