2007-01-12

java类加载机制

关键字: java.lang.ClassLoader
ClassLoader 是一个抽象类。为了扩充 Java 虚拟机动态装载类的方法,应用程序可实现 ClassLoader 的继承类。 通常,Java 虚拟机以与平台有关的方式,从局部文件系统中装载类。例如,在 UNIX 系统,虚拟机从 CLASSPATH 环境变量中定义的路径中装载类。 但是, 某些类可能不是来自文件,而是来自其它资源,诸如网络,或者它们可能是由应用程序创建的。 defineClass 方法将一字节数组转换为 Class 类的实例。采用 Class 类中的 newInstance 方法创建新定义的类的实例。 类装载器创建的方法和构造子可以引用其它类。为确定引用 ...
2007-01-12

深入Java字节码加密

关键字: 字节码加密
问: 如果我把我的class文件加密,在运行时用指定的类加载器(class loader)装入并解密它,这样子能防止被反编译吗? 答: 防止JAVA字节码反编译这个问题在java语言雏形期就有了,尽管市面上存在一些反编译的工具可以利用,但是JAVA程序员还是不断的努力寻找新的更有效的方法来保护他们的智慧结晶。在此,我将详细给大家解释这一直来在论坛上有争议的话题。 Class文件能被很轻松的重构生成JAVA源文件与最初JAVA字节码的设计目的和商业交易有紧密地联系。另外,JAVA字节码被设计成简洁、平台独立性、网络灵活性,并且易于被字节码解释器和JIT (just-in-time)/HotSp ...
Java中public、package、protected、private的访问权限如下表所示 注:package权限就是默认的访问权限,也就是default package 只能被同类或者同一个包中的类访问 prtected 只能被同类,同一包中的类,或者不同包中的子类访问 同一个类 同一个包 不同包的子类 不同包的非子类 public 可访问 可访问 可访问 可访问 protected 可访问 可访问 可访问 package 可访问 可访问 private 可访问
2007-01-10

Java类装载体系中的隔离性

关键字: Java类装载体系中的隔离性
正文 Java中类的查找与装载出现的问题总是会时不时出现在Java程序员面前,这并不是什么丢脸的事情,相信没有一个Java程序员没遇到过ClassNotException,因此不要为被人瞅见自己也犯这样的错误而觉得不自然,但是在如果出现了ClassNotFoundException后异常后一脸的茫然,那我想你该了解一下java的类装载的体制了,同时为了进行下面的关于类装载器之间的隔离性的讨论,我们先简单介绍一下类装载的体系结构。 1. Java类装载体系结构 装载类的过程非常简单:查找类所在位置,并将找到的Java类的字节码装入内存,生成对应的Class对象。Java的类装载器专门用来实 ...
2007-01-10

Java类加载机制

关键字: 类加载
一、在jdk1.2以后,类加载是通过委托来完成的,这意味着如果 ClassLoader 不能找到类,它会请求父代 ClassLoader 来执行此项任务,所有 ClassLoaders 的根是系统 ClassLoader,它会以缺省方式装入类 -- 即,从本地文件系统。今天我们就来探讨一下在jvm中这些机制是怎样运行的。让我们假设有一个class字节码文件(比如Hello.class文件),那么在应用程序中,他是如何被加载进来,并形成一个类对象的呢?我们这篇文章的目的就是为了解释这个问题。   在java.lang包里有个ClassLoader类,ClassLoader 的基本目标是对类的请 ...
jspengxue
  • 浏览: 36240 次
  • 性别: Icon_minigender_1
  • 来自: 天堂和地狱的中间
  • 详细资料
搜索本博客
我的相册
Cc633e28-4d67-45e5-8c05-c9b34db1a53d-thumb
烦人的老婆
共 1 张
最近加入圈子
存档
最新评论
评论排行榜