金戈大王吧 关注:27贴子:1,729
JRE(Java Runtime Environment Java运行环境)
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库。
JDK(Java Development Kit Java开发工具包)
提供给Java开发人员使用,包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用再单独安装JRE了。
其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)


IP属地:北京1楼2014-04-19 16:56回复


    IP属地:中国香港2楼2014-04-20 16:04
    收起回复
      Java变量
      整数类型
      byte——1字节
      short——2字节
      int——4字节
      long——8字节


      IP属地:北京3楼2014-05-02 14:08
      回复
        浮点类型
        float——4字节
        double——8字节
        字符类型
        char——2字节(可以放中文)


        IP属地:北京4楼2014-05-02 14:12
        回复
          内存的划分:
          1、寄存器
          2、本地方法区
          3、方法区
          4、栈内存
          存储的都是局部变量(函数内部变量)。
          而且变量所属的作用域一旦结束,该变量就自动释放。
          5、堆内存
          存储的是数组和对象(其实数组就是对象),凡是new的都建立在堆中。
          特点:(1)每个实体都有首地址值;(2)堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同,整数是0,小数是0.0或者0.0f,boolean false,char ‘\u0000'。
          (3)垃圾回收机制。


          IP属地:北京5楼2014-05-03 21:36
          回复
            this:代表一个本类对象的引用。
            super:代表一个父类空间。


            IP属地:北京6楼2014-05-04 19:22
            回复
              一个对象的实例化过程:
              Person p = new Person();
              1.JVM会读取指定路径下的Person.class文件,并加载进内存,并会先加载Person的父类(如果有直接父类的情况下)。
              2.在堆内存中开辟空间,分配地址。
              3.并在对象空间中,对对象中的属性进行默认初始化。
              4.调用对应的构造函数进行初始化。
              5.在构造函数中,第一行会先调用父类中的构造函数进行初始化。
              6.父类初始化完毕后,再对子类的属性进行显示初始化。
              7.再进行子类构造函数的特定初始化。
              8.初始化完成后,将地址值赋值给引用变量。


              IP属地:北京7楼2014-05-05 00:13
              回复
                Zi()
                {
                super();
                //显示初始化
                //构造代码块初始化
                show();
                }


                IP属地:北京8楼2014-05-19 00:27
                回复


                  IP属地:北京通过百度相册上传9楼2014-06-08 12:55
                  回复
                    线程安全问题出现的原因:
                    1、多线程共享数据。
                    2、对数据的处理代码不止一句。


                    IP属地:北京10楼2014-06-09 10:29
                    回复
                      wait() 冻结线程,并放入线程池中。
                      notify() 从线程池中唤醒一个线程。
                      notifyAll() 唤醒所有线程。


                      IP属地:北京11楼2014-06-09 10:43
                      回复
                        wait 和 sleep 区别?
                        1、wait可以指定时间也可以不指定
                        sleep必须指定时间。
                        2、在同步中,对CPU的执行权和锁的处理不同。
                        wait:释放执行权,释放锁
                        sleep:释放执行权,不释放锁


                        IP属地:北京12楼2014-06-11 20:13
                        回复
                          增强for循环只适合取数据,要改变数字或集合中的数据,请使用传统for循环


                          IP属地:北京13楼2014-09-06 20:12
                          回复
                            可变参数,可以看成数组
                            public void testSum() {
                            sum{1,2,3,4,5,6};
                            }
                            public void sum(int ...nums) {
                            int sum = 0;
                            for(int i : nums) {
                            sum += i;
                            }
                            System.out.println("sum = " + sum);
                            }


                            IP属地:北京14楼2014-09-06 20:15
                            回复
                              枚举enum
                              枚举类是一种特殊的类;
                              每一个枚举值代表一个枚举类的对象;
                              枚举类的构造函数必须是私有的。


                              IP属地:北京15楼2014-09-06 20:53
                              回复