读书人

Java-杂

发布时间: 2013-02-28 11:33:09 作者: rapoo

Java--杂

JRE:Java Runtime Enviroment Java 运行时环境

JVM:Java Virtual Machine Java虚拟机

Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、

一个垃圾回收堆和一个存储方法域。

JVM屏蔽了与具体操作系统平台相关的信息,

使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),

就可以在多种平台上不加修改地运行。

JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。

JDK:Java Development Kit,JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。

Java运行过程:

Java源文件(*.java)——>Java编译器——>字节码文件(*.class)——>

类装载器——>字节码校检器——>解释器——>操作系统(Windows、Linux等)

Java基本数据类型(4,2,1,1):

Java中所有数据均为有符号数据

整型

Java中所有整数均为整型

byte 字节 -2^7 ~ +2^7 - 1

short 短整 -2^15 ~ +2^15 - 1

int 整型 -2^31 ~ +2^31 - 1

long 长整 -2^63 ~ +2^63 - 1

浮点型

在java中,所有浮点数均为double

float 点精度有效数字7~8

dobule 双精度有效数字15~16

字符型

char 最少占2个字节

GBK GB2312

UTF-8

布尔型

boolean 表示真或假

true false

如果是Windows2000、XP或Win7系统,使用鼠标右击“我的电脑”->属性->高级->环境变量

/*选择排序。内循环结束一次,最值出现头角标位置上。*/public static void selectSort(int[] arr){for (int x=0; x<arr.length-1 ; x++){for(int y=x+1; y<arr.length; y++){if(arr[x]>arr[y]){int temp = arr[x];arr[x] = arr[y];arr[y]= temp;
}}}}/*冒泡排序*/public static void bubbleSort(int[] arr){for(int x=0; x<arr.length-1; x++){for(int y=0; y<arr.length-x-1; y++)//-x:让每一次比较的元素减少,-1:避免角标越界。{if(arr[y]<arr[y+1]){int temp = arr[y];arr[y] = arr[y+1];arr[y+1] = temp;
}}}}


常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。

接口可以继承接口。抽象类可以实现(implements)接口,抽象类可继承实体类,但前提是实体类必须有明确的构造函数。

泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。

==和equals的实质。

在JAVA中利用"=="比较变量时,系统使用变量在"栈"中所存的值作为比较的依据。

基本数据类型在"栈"中存的是其内容值,而对象类型在"栈"中存的是地址,这些地址指向"堆"中的对象。

java.lang包中的Object类有public boolean equals(Object obj)方法,它比较两个对象是否相等。

其它对象的equals方法仅当被比较的两个引用指向的对象内容相同时,对象的equals()方法返回true。

总之,"=="和"!="比较的是地址.也可认为"=="和"!="比较的是对象句柄;而equals()比较的是对象内容.或者说,,"=="和"!="比较的是"栈"中的内容,而equals()比较的是"堆"中的内容.

==操作符。专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相当,只能用==操作符。

Java的基本数据类型为(char,byte,short,int,long,float,double,boolean)。

如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(对内存),变量本身也占用一块内存,例如Object obj = new Object()变量obj是一个内存,new Object()是一个内存,此时,变量所对应的内存中存储的数据就是对象占用的那块内存的首地址。对于指向对象内存的变量,如果要比较两个变量是否指向同一个对象,即要看这两个变量所对应的内存中的数值是否相等,这时候就需要用==操作符进行比较。

读书人网 >移动开发

热点推荐