1,java类的加载java类的加载是指将.class文件(可能在磁盘,也可能在网络)加载到内存中,并为之生成java.lang.class对象的实例java中类以其全限定包名作为唯一标识,jvm中则以全限定包名和类加载器作为唯一标识。jvm中的类加载器有三个层次:根类加载器、扩展类加载器、系统类加...
分类:
编程语言 时间:
2014-08-08 01:31:24
阅读次数:
296
java的类加载有两个重点,一是动态加载,一是父类加载。动态加载是指只有首次构建某个类的对象或者访问某个类的静态方法或者静态域的时候该类才会被加载。
那么这些类在java中又是怎么被加载的呢?就是Classloader。Java中一般有三种Classloader:Bootstrap Classloader,它被称为启动类加载器,它主要负责加载Java核心类,一般是指jre/lib下的...
分类:
编程语言 时间:
2014-08-06 19:27:22
阅读次数:
205
0.简介
Scala(发音为 /?skɑ?l?,
?ske?l?/)是一种多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。
Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。Scala的编译模型(独立编译,动态类加载)与Java和C#一样,所以Scala代码可以调用Java类库(对于.NET实现则可调用.NET类库)。
Scala包包...
分类:
其他好文 时间:
2014-08-04 02:05:46
阅读次数:
420
先回顾一下classpathclasspath的作用: classpath的作用是指定查找类的路径:当使用java命令执行一个类(类中的main方法)时,会从classpath中进行查找这个类。指定classpath的方式一: 设置环境变量CLASSPATH,多个路径之间使用英文的分号隔...
分类:
移动开发 时间:
2014-08-03 22:52:46
阅读次数:
324
周末闲来无事,做个小例子去看一下JAVA代码初始化的过程JAVA代码初始化分为两个步骤:类初始化,对象初始化。类初始化1 类初始化是指类加载器将类加载到内存时,对类成员的初始化过程(其中包括static修饰的变量)。2 对于加载完的类,它的类变量都会赋一个默认值,即使你定义时就赋值了。3 例如int...
分类:
编程语言 时间:
2014-08-03 15:11:15
阅读次数:
274
publicclassMyClassLoaderextendsClassLoader{
Stringpath;//自定义类加载器所负责的文件夹
publicMyClassLoader(Stringpath){
super();
this.path=path;
}
@SuppressWarnings("deprecation")
@Override
protectedClass<?>findClass(Stringname)throwsClass..
分类:
其他好文 时间:
2014-08-01 23:21:32
阅读次数:
466
publicclassMyClassLoaderextendsClassLoader{
privateStringclassDir;//自定义类加载器所查找的目录
MyClassLoader(StringclassDir){
this.classDir=classDir;
}
@Override@SuppressWarnings("deprecation")
//findClass的主要作用就是把class文件读取到内存中那么涉..
分类:
其他好文 时间:
2014-08-01 23:21:12
阅读次数:
276
public class ReflectTest { public static void main(String[] args) throws Exception { ?? ?//config.properties 与当前类在不同包下; ?? ?InputStream is=ReflectTest.class.getResourceAsStream("/co...
分类:
编程语言 时间:
2014-08-01 16:21:42
阅读次数:
210
DirectMemory容量可通过-XX:MaxDirectMemorySize指定,如果不指定,则默认与Java堆的最大值(-Xmx指定)一样。代码中越过了DirectByteBuffer类,直接通过反射获取Unsafe实例并进行内存分配(Unsafe类的getUnsafe()方法限制了只有引导类加载器才会返回实例,也就是设计者希望只有r..
分类:
其他好文 时间:
2014-07-28 16:43:04
阅读次数:
281
当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三个步骤来对该类进行初始化。 类加载指的是将类的class文件读入到内存,并为之创建一个java.lang.Class对象,也就是说,当...
分类:
其他好文 时间:
2014-07-26 15:41:12
阅读次数:
206