JAVA学习日记

161 阅读3分钟
记学习Java知识要点:

1、jdk是开发工具包

2、jre是运行环境,包括jvm。jvm是Java运行虚拟机。

3、可设置变量JAVA_HOME,然后去path设置路径%JAVA_HOME%/bin。   

4、Java内部默认整数为int型,当byte类型赋值右边为byte类型变量时会编译出错

5、&&和&的区别就是&&只要有一个为假就不会算剩下的

6、位运算是二进制运算,一个数异或两次还是同一个数;6&3=2,110&011=010;3<<2=12=3*2(2);6>>2 =6/2(2)=1,高位是什么就用什么补,即符号不变;<<<无论高位是什么都用0补

7、(条件表达式)?表达式1:表达式2

8、for(初始化表达式;循环条件表达式;循环后操作表达式){循环体}

9、函数(方法)重载和返回值类型无关

10、内存的划分:1、寄存器。2、本地方法区。3、方法区。4、栈内存。5、堆内存

11、栈内存:存储的都是局部变量,而且变量所属的作用域一旦结束,该变量就自动释放。

12、堆内存:存储的是数组和对象(其实数组就是对象)凡是new建立,在堆中。

       特点:1、每一个实体都有首地址。

                 2、堆内存中每一个变量都有默认初始值,根据类型不同而不同。整数为0,小数为                                         0.0或0.0f,boolean为false,char为'\u0000'。

                 3、垃圾回收机制

 方法区:方法区在虚拟机启动的时候被创建,它存储了每一个类的结构信息,例如运行时常量池、字段和方法数据、构造函数和普通方法的字节码内容、还包括在类、实例、接口初始化时用到的特殊方法。


存储方式如下:

                              

13、二维数组的内存方式:二维数组里面储存一维数组的地址,变量储存二维数组的内存值。

   可以分别对里面的一维数组进行定义 

   int [] [] arr = new int [3][];

   arr [0] = new int[1];

   arr [1] = new int[3]; 

   arr [2] = new int[2]; 


14、成员变量和局部变量的区别

      1、成员变量定义在类中,整个类的可以访问。

            局部变量定义在函数,语句,局部代码块中,只在所属的区域有效。

       2、成员变量存在于堆内存的对象中。

             局部变量存在于栈内存的方法中(局部代码块)。

        3、成员变量随着对象的创建而存在,随着对象的消失而消失。

             局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。