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

Java的main方法与类的加载的联系

鉴于许多同学对这个main方法的迷惑!我这里提供一些意见,希望对大家有帮助!呵呵!
     ****我们说加载先:
      Java的类是用到才开始加载的,并且在每个类的构造器调用之前,类的每个域(成员变量)都要首先被编译器初始化一次,然后才轮到构造器来干活儿。但是,Java的初始化是惰性的,它没有C++构造函数的苛刻的要求,Java编译器会保证每个变量在使用之前会被初始化,因此Java中只要求程序员在合适的地方为类成员给一个有效的值即可。
      一个static变量在没有类实例的时候也是可以使用的,这就要求static必须被恰当地初始化,也就是说,在构造器的调用之前,加载类的时候,Java编译器会允许JVM运行一段代码,至少可能会有几行。
     ****程序开始的时候类加载的时候所做的工作流程是怎样的?
     每当执行Java编译器的时候,编译器会寻找指定的类,当它找到类时,首先需要初始化static变量,因为这些成员可以在没有实例的情况下运行,接着,再按照变量的声明顺序依次初始化类的成员,成员初始化完毕之后才为自己调用构造器,一切进行完毕之后,才可以调用方法。但主类比较特殊,主方法会在构造器之前,static变量初始化之后调用,这是由于Java的惰性初始化,在main方法被调用之前无法知道是否存在主类的实例。
     Java的初始化和构造的分离使得Java提供了代码块作为初始化成员的工具和支持无名类的利器,而这样一来,初始化的工作就不免会被扩展,程序员可以嵌入额外的初始化步骤。由于Java的成员分普通成员和static成员,初始化代码块也分static的,例如:
public class Foo{
      int a;
      int b;
      static int c;
     {
            a=-1;
            b=1;
     }//这个就是所谓的初始化代码块
     static {
             c=100;
     }//static成员有专属的static初始化代码块
    


相关文档:

根据经纬度求两点间距离实现源码(java)


研究了一下Google
Map上的根据经纬度求地球表面两点间距离的实现, 用java实现了一把,对我国境内的Beijing54, Xian80,WGS84三种坐标系的空间距离计算感觉这个实现是比较准确的。当然,这里只是个人的感觉而已。。。可能我还没有遇到那种对精度要求非常严格的地方,或许,本身我这个方式就是错误的。。。呵呵 ......

5.5笔记 java基础增强

今天是来传智播客的第一天,幸亏之前看过thinking in java 感觉理解不是很吃力,但是感觉挺累的
1。外挂插件的步骤:
1,在eclipse的目录下建立links目录。
2,在links目录下,建立一个文件,内容为插件eclipse目录的父目录;
 path=插件eclipse目录的父目录  path=F:\\Eclipse\\NLpack1-eclipse-SDK-3.2.1-w ......

linux 中关于java的环境

 安装环境:
1.上传jdk-6u17-linux-i586.bin和apache-tomcat-6.0.20.tar.gz到/usr
2.安装JDK
  $chmod a+x jdk-6u17-linux-i586.bin
  $ ./jdk-6u17-linux-i586.bin
  $ vi /etc/profile
  #添加如下
  export JAVA_HOME=/usr/jdk1.6.0_17
  export PATH=$JAVA_HOME/bin:$PATH
  $echo $JAVA_H ......

java中的main你知道吗

   如果你去面试的时候,面试官考你,为什么要在java中的main方法前加public static void这些修饰符,你知道如何去回答吗?下面我为大家讲解一下吧!如果有什么缺漏的话!欢迎大家的指点!
   首先,为什么要用public:
   因为在运行程序时,jvm要调用main方法,但我们都应该知道jvm ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号