转至:http://sllereak.blog.163.com/blog
--JDK--也叫J2SDK--Java2-Software-Development_kit--开发工具(并且JDK本事就包含了JRE)
--JRE-----JAVA_Runtime_Environment--运行时环境
--如果只是运行JAVA程序而不作为开发则只需要JRE就可以了
--j2se--java2_standard_edition
--j2me--java2_mobile_edition
--j2ee--java2_enterprise_edition
jdk_1.5更名为java 5.0 也就是在这个版本中引入
泛型的概念
java的运行机制(大致)
*将.java编译成.class字节码文件--(loader--解释字节码文件)---操作系统API
*实现了一次编译多次运行,跨平台运行
GC
*当JVM空闲时候调用垃圾收集器
eclipse的中断效应就是垃圾收集过程
--java中的main()方法是完全固定的:public static void main(String[] xxx)
当然也可以public static void main(String xxx[])这是数组的问题了
--一个.java文件只能有一个public class 并且类名必须和.java的文件名一致
--java中的标识符只能有字母,数字,下划线,$四种字符组成,并且不能用数字开头,长度不限制!随便写
--goto const虽然java没有用这两个作为关键字,但它也作为关键字保留
--常量这个词注意有两个含义其一:123为整形常量,“HELLO”为字符串常量,其二:值不可变的变量也叫常量
--double i , j = 0.01 其中i为0.0(前期条件是成员变量,局部变量是必须给初始值的)
--0.01默认是double类型的,所以float a=0.01;是错误的,应该是float a=0.01f;
--程序运行时将内存分为四个区
*code segment--代码区,存放.class代码
*data segment--数据区,存放静态变量,字符串常量,这里说的字符串常量,注意123不存放在data segment中,
*stack--栈 , 存放局部变量
*heap--堆,存放new出来的东西
--java使用unicode编码,所以一个字符占两个字节(一个字节(byte)8个比特bit),所以可以char a='中' ,也可以char = '\n' 还可以char='\u0061'
*其中'\u0061'是\u什么呢?表示16进制的unicode编码,0061是一个字符,所以有16个bit刚好能这样表示
如果char只是用一个字节完全不能存所有的中文,但是两个字节就够了
每一个字符都占用两个字节(unicode又分为UTF-8和UTF-16,JAVA使用的是UTF-16)
--java里面没有无符号的整数
所以byte的范围是-128-127
jav