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

Java 程序内存分析

   java程序内存主要分为了2个部分,包括 stack segment(栈内存)、heap segment(堆内存)。
    在分析Java程序内存分配情况时,我们从下面这个经常被使用的例子开始吧。
    下面程序将打印什么呢?
   
Java代码
String s1 = new String("abc");   
        String s2 = new String("abc");   
        System.out.print(s1.equals(s2)); // 1   
        System.out.print(s1 == s2); // 2   
      
String s1 = new String("abc");
String s2 = new String("abc");
System.out.print(s1.equals(s2)); // 1
System.out.print(s1 == s2); // 2

    可能大家心中已经有答案了,第1条语句打印的是true,第二条语句打印的false,没错,正如大家所想,打印结果就是这样。那么,大家是否知道为什么第2条语句打印的是false呢?让我们来看看这个程序中的数据在内存中分配的情况吧。
    首先,我们分析第一条语句String s1=new String("abc");
    其实这条语句是下面两条语句的缩写,
    String s1; //1
    s1=new String(“abc”); //2
    1. 在栈内存中定义一个名为s1的对String类的对像引用变量
    2. 在堆内存开辟了一块空间用于存放字符串“abc”,将1定义的引用变量s1指向该空间。
    同理,第二条语句String s2=new String("abc");也做了同样的事情,定义引用变量,指向新开辟出来的空间。说到这里大家可能心中已经有答案了,为什么s1!=s2呢?因为它们指向的是两块不同的堆内存空间。
    其实,在java中new过程分配内存情况都和上面类似,先在栈内存中定义引用,然后在堆内存中开辟空间,存放数据,最后让引用指向该空间,如果一个引用没有指向任何空间,那么在使用这个引用变量时,程序将抛出著名的NullPointerException,其实从这个异常名字我们也能清晰知道产生该异常的原因,不是吗


相关文档:

如何用Java平台访问开源云存储?

 
尽管云计算这一术语并不新鲜(Amazon在2006年就开始提供它的云服务),但从2008年起它才开始真正成为流行词,这期间,Google和
Amazon的云服务逐渐获得了公众的关注。 Google的App Engine使用户能够在Google基础设施上构建和托管 Web 应用程序。
  连同S3,AmazonWeb Services还包括Elastic Cloud Compute
(EC2) ......

java与c#通信数据转换问题

//由于JAVA语言的数据类型都是有符号类型,而C# C++一般数据类型都是分有符号和无符号,
//因此在通信过程中传递的Byte[]无法直接转换成C#需要的类型,
//以前倒是没注意这些细节,因为一般用一种语言编程,
//大都有内置的转换方法。跨语言环境的转换就的自己动手想办法了。
1、java的Byte[]转换成c#的Int32
private i ......

Java之父:为Java发展惊奇 和脚本语言走得更近

十年前,Sun微系统公司将Java搬到了世人面前,这是首次协助企业建立具有前瞻性的思想的一款软件,随后Java迅猛扩散,深入到计算机业的几乎每个角落。这项技术的幕后英雄,就是本文采访的James Gosling。
上个世纪90年代初,Gosling发起并领导了一个名为Green的项目,此项目最终演变为Java。Java 的基本理念是创造一种可以 ......

JAVA读取资源文件的N种方法

 
如何读取资源文件:
(一)
Properties props = new Properties();   
props.load(new FileInputStream("db.properties"));
(二)
blog.properties文件如下
dbdriver=oracle.jdbc.driver.OracleDriver
dburl=jdbc:oracle:thin:@127.0.0.1:1521:ora92
dbuser=blog
dbpwd=blog
- ......

从java jar文件包中读资源的常用方法

 
在你的代码里调用了一些资源文件,如图片,音乐等,在调试环境或单独运行的时候可以正常显示或播放,而一旦打包到jar文件中,这些东东就再也出不来了,除非把这个jar放到原来未打包以前的目录下,但通常jar是单独发布的。
[关键字] java jar文件包 资源
  可能有不少初学者会有这样的困惑:在你的代码里调用了 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号