1>java语言提供一种系统级线程跟踪存储空间的分配情况。并在JVM的空闲时,检查并释放那些可以被释放的存储器空间;
2>java中各个内存分配情况:
a、heap(堆)-------new出来的东西;
b、stack(栈)------局部变量(方法和语句块内部定义的变量包括形参)
c、数据寄存器-----静态变量字符串常量;
d、代码寄存器-----存放代码
3>容量小的数据类型自动转换成容量大的数据类型(安全的):byte,short,char->int->long->float->double
容量大的数据类型转换为容量小的数据类型时,要强制转换而且可能会造成精度降低或溢出:
注意:1.2默认为double类型,而不是float类型;
4>递归调用指在方法执行过程中出现该方法本身的调用例如:
求Fibonacci数列:1,1,2,3,5,8,...。
代码如下:
public class TestFibonacci(){
public static void main(String args[]){
System.out.println(f(n));
}
public static int f(int n){
if(n==1||n==2){
return 1;
}else{
return f(n-1)+f(n-2);
}
}
}
5>java中进行函数调用中传递参数时,遵守值传递的原则:基本类型传递的是该数据值本身,引用类型传递的是对象的引用,而不是数据本身;
6>J2SDK中主要的包介绍:
java.lang----java核心类,String,Math,Integer,System和Thread;
java.awt-----包括构造工具集和图形用户界面GUI类;
java.applet--applet运行所需的一些类;
java.net-----执行与网络相关的操作的类;
java.io------提供多种输入输出功能的类;
java.util----包括一些使用工具类,如定义系统特性,使用日期日历相关的函数;
7>面向对象更加强调运用人类在日常的思维逻辑中经常采用的思想方式裕原则,如抽象、分类、继承、聚合、多态等。
8>java语言中除了基本类型之外的变量类型都称之为引用类型。java中对象通过引用类型对其操作的。
9>类是静态的概念,是位于代码区中;对象是new出来的,位于堆内存,类的每个成员变量在不同的对象中都有不同的值(除了静态变量)而方法只有一份,执行的时候才占用内存。
10>构造函数没有返回值哦。
11>通过对象的引用或类名(不需要实例化)可以访问静态成员。
12>在进行String与其它类型数据的连接操作时(如:System.out.println("info"+person)),将会自动调用该对象类的toString()方法。
13>x.equals(y),当x和y所引用的对象的同一个类对象而且属性内容相等时(并不一定是相同对象),返回true否则返回false。
14>基类的引用可以指向其子类的对象。
15>动态绑定是指在执行期间(而并非编译期间)判断所引用对象的实际类型,根据其实际的类型调用其相对应的方法。多态的要求:1、要有继承。2,要有重写。3,要有父类的引用指向子类的对象;
16>abstract:含有抽象方法的累必须声明为抽象类,抽象类必须必继承,抽象方法必须被重写;抽象类不能实例化;抽象方法只需声明而不需实现;
17>final的方法不能被重写。final的类不能够被继承;
18>接口中声明属性默认为public static final的,也只能是public static final的;
接口的方法默认为public,也只能是public的;
19>异常扑捉和处理运行期出现的错误;
20>数组中的元素可以是任何数据类型,包括基本类型和引用类型。
21>java语言中声明数组是不能指定其长度,例如:int a[5];// 非法的。创建数组的时候可以指定其长度,例如:s=new int[5];//合法;
22>Collection接口定义了存取一组对象的方法,子接口Set和List分别定义了存储方式。
Set中数据对象没有顺序而且不可以重复。
List中的数据对象有顺序而且可以重复。
Map接口定义了存储“键(key)--值(value)映射对”的方法。
2>java中各个内存分配情况:
a、heap(堆)-------new出来的东西;
b、stack(栈)------局部变量(方法和语句块内部定义的变量包括形参)
c、数据寄存器-----静态变量字符串常量;
d、代码寄存器-----存放代码
3>容量小的数据类型自动转换成容量大的数据类型(安全的):byte,short,char->int->long->float->double
容量大的数据类型转换为容量小的数据类型时,要强制转换而且可能会造成精度降低或溢出:
注意:1.2默认为double类型,而不是float类型;
4>递归调用指在方法执行过程中出现该方法本身的调用例如:
求Fibonacci数列:1,1,2,3,5,8,...。
代码如下:
public class TestFibonacci(){
public static void main(String args[]){
System.out.println(f(n));
}
public static int f(int n){
if(n==1||n==2){
return 1;
}else{
return f(n-1)+f(n-2);
}
}
}
5>java中进行函数调用中传递参数时,遵守值传递的原则:基本类型传递的是该数据值本身,引用类型传递的是对象的引用,而不是数据本身;
6>J2SDK中主要的包介绍:
java.lang----java核心类,String,Math,Integer,System和Thread;
java.awt-----包括构造工具集和图形用户界面GUI类;
java.applet--applet运行所需的一些类;
java.net-----执行与网络相关的操作的类;
java.io------提供多种输入输出功能的类;
java.util----包括一些使用工具类,如定义系统特性,使用日期日历相关的函数;
7>面向对象更加强调运用人类在日常的思维逻辑中经常采用的思想方式裕原则,如抽象、分类、继承、聚合、多态等。
8>java语言中除了基本类型之外的变量类型都称之为引用类型。java中对象通过引用类型对其操作的。
9>类是静态的概念,是位于代码区中;对象是new出来的,位于堆内存,类的每个成员变量在不同的对象中都有不同的值(除了静态变量)而方法只有一份,执行的时候才占用内存。
10>构造函数没有返回值哦。
11>通过对象的引用或类名(不需要实例化)可以访问静态成员。
12>在进行String与其它类型数据的连接操作时(如:System.out.println("info"+person)),将会自动调用该对象类的toString()方法。
13>x.equals(y),当x和y所引用的对象的同一个类对象而且属性内容相等时(并不一定是相同对象),返回true否则返回false。
14>基类的引用可以指向其子类的对象。
15>动态绑定是指在执行期间(而并非编译期间)判断所引用对象的实际类型,根据其实际的类型调用其相对应的方法。多态的要求:1、要有继承。2,要有重写。3,要有父类的引用指向子类的对象;
16>abstract:含有抽象方法的累必须声明为抽象类,抽象类必须必继承,抽象方法必须被重写;抽象类不能实例化;抽象方法只需声明而不需实现;
17>final的方法不能被重写。final的类不能够被继承;
18>接口中声明属性默认为public static final的,也只能是public static final的;
接口的方法默认为public,也只能是public的;
19>异常扑捉和处理运行期出现的错误;
20>数组中的元素可以是任何数据类型,包括基本类型和引用类型。
21>java语言中声明数组是不能指定其长度,例如:int a[5];// 非法的。创建数组的时候可以指定其长度,例如:s=new int[5];//合法;
22>Collection接口定义了存取一组对象的方法,子接口Set和List分别定义了存储方式。
Set中数据对象没有顺序而且不可以重复。
List中的数据对象有顺序而且可以重复。
Map接口定义了存储“键(key)--值(value)映射对”的方法。