易截截图软件、单文件、免安装、纯绿色、仅160KB

java中类的加载机制

1.     预先加载与依需求加载
Java 运行环境为了优化系统,提高程序的执行速度,在 JRE 运行的开始会将 Java 运行所需要的基本类采用预先加载(
pre-loading )的方法全部加载要内存当中,因为这些单元在 Java 程序运行的过程当中经常要使用的,主要包括 JRE 的
rt.jar 文件里面所有的 .class 文件。
当 java.exe 虚拟机开始运行以后,它会找到安装在机器上的 JRE 环境,然后把控制权交给 JRE , JRE 的类加载器会将 lib
目录下的 rt.jar 基础类别文件库加载进内存,这些文件是 Java 程序执行所必须的,所以系统在开始就将这些文件加载,避免以后的多次 IO
操作,从而提高程序执行效率。
图( 2 )我们可以看到多个基础类被加载, java.lang.Object,java.io.Serializable 等等。
图( 2 )
相对于预先加载,我们在程序中需要使用自己定义的类的时候就要使用依需求加载方法( load-on-demand ),就是在 Java 程序需要用到的时候再加载,以减少内存的消耗,因为 Java 语言的设计初衷就是面向嵌入式领域的。
在这里还有一点需要说明的是, JRE 的依需求加载究竟是在什么时候把类加载进入内部的呢?
我们在定义一个类实例的时候,比如 TestClassA testClassA ,这个时候 testClassA 的值为 null
,也就是说还没有初始化,没有调用 TestClassA 的构造函数,只有当执行 testClassA = new TestClassA()
以后, JRE 才正真把 TestClassA 加载进来。
2. 隐式加载和显示加载
Java 的加载方式分为隐式加载( implicit )和显示加载( explicit
),上面的例子中就是用的隐式加载的方式。所谓隐式加载就是我们在程序中用 new 关键字来定义一个实例变量, JRE 在执行到 new
关键字的时候就会把对应的实例类加载进入内存。隐式加载的方法很常见,用的也很多, JRE
系统在后台自动的帮助用户加载,减少了用户的工作量,也增加了系统的安全性和程序的可读性。
相对于隐式加载的就是我们不经常用到的显示加载。所谓显示加载就是有程序员自己写程序把需要的类加载到内存当中,下面我们看一段程序:
class TestClass{
public void method(){
        System.out.println("TestClass-method");
}
}
public class CLTest {
public static void main(String args[]) {
        try{
    &n


相关文档:

JAVA处理日期时间常用方法


Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
例:
Calenda ......

java 联动

 JSP:javascript 和 struts部分
<table width="100%" border="0" cellspacing="0" cellpadding="6">
<tr>
<td>
<span class="txt1">三级单位:</span>
<html:select property="oilarea" style="width:182" styleId="area" onchange="javascript:fillWell()"&g ......

Java从web服务器下载文件到本地

/*从服务器中下载文件到本地*/
/*url:文件存放在服务器的地址;target:要保存的路径*/
 
public String DownloadFile(String url,String target){
URLConnection con=null;
URL theUrl=null;
try {
theUrl=new URL(url);//建立地址
......

java Native Method初涉

 一. 什么是Native Method
   简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函 ......

java中加密算法的应用一:DES

第一种DES加密算法
import java.security.Key;
 
import java.security.SecureRandom;
 
import javax.crypto.Cipher;
 
import javax.crypto.KeyGenerator;
 
 
/**

*

* 使用DES加密与解密,可对byte[],String类型进行加密与解密 密文可使用 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号