要点记录:java
2.String有不可变性,每次链接按键中读取的字符串都会构建一个新的String,浪费空间,因此使用StringBuilder。数组
3.extends 是继承接口,implement 是一个类实现一个接口的关键字。
extends 是继承父类,只要那个类不是声明为 final 或者那个类定义为 abstract 的就能继承,JAVA 中不支持多重继承,可是能够用接口来实现,这样就要用到implements,继承只能继承一个类,但 implements 能够实现多个接口,用逗号分开就好了,好比 class A extends B implements C,D,E。
implements,实现父类,子类不能够覆盖父类的方法或者变量。即便子类定义与父类相同的变量或者函数,也会被父类取代掉。这两种实现的具体使用,是要看项目的实际状况,须要实现,不能够修改,用implements,只定义接口须要具体实现,或者能够被修改扩展性好,用 extends。安全
4.建立套接字模板,注意端口号直接写数字服务器
// 建立 Socket 客户端对象 Socket s = new Socket("127.0.0.1",6666); // 建立 ServerSocket 服务器端对象。 ServerSocket ss = new ServerSocket(6666); // 监听服务器链接 s = ss.accept();
5.若是 finally 块中有 return 语句的话,它将覆盖掉函数中其余 return 语句。多线程
6.static 表示 “全局” 或者 “静态” 的意思,用来修饰成员变量和成员方法,也能够造成静态 static 代码块,可是 Java 语言中没有全局变量的概念。app
static 变量在第一次使用的时候初始化,但只会有一份成员对象。jsp
7.内存泄露的直接表现
java 是自动管理内存的,一般状况下程序运行到稳定状态,内存大小也达到一个 基本稳定的值。可是内存泄露致使 Gc 不能回收泄露的垃圾,内存不断变大.
最终超出内存界限,抛出 OutOfMemoryExpection。函数
8.已有构造方法A(int a)
调用普通方法:this.A(x);
显式调用父类构造方法:super(x);
在A的其它构造方法中调用该构造方法:this(x)性能
9.java 语言是强类型语言,支持的类型分为两类:基本类型和引用类型。
基本类型包括 boolean 类型和数值类型,数值类型有整数类型和浮点类型。
整数类型包括:byte、short、int、long 和 char;浮点类型包括:float 和 double
引用类型包括类、接口和数组类型以及特殊的 null 类型。学习
10.JEE5.0中的Servlet相关的就下面这几个包:
javax.servlet
javax.servlet.jsp
java.servlet.jsp.el
java.servlet.jsp.tagext
而最用得多的就是
javax.servlet
javax.servlet.http
这两个包了.
11.==的做用
针对基本类型:比较的是值是否相同
针对引用类型:比较的是引用是否相同
12.equals本质上就是==只不过String和Integer等重写了equals方法,因此变成了值的比较,要否则equals比较具备相同值的两个对象,结果仍是false。
13.final在java中的做用
14.java 中的 Math.round (-1.5) 等于多少?
等于 -1,由于在数轴上取值时,中间值(0.5)向右取整,因此正 0.5 是往上取整,负 0.5 是直接舍弃。
15.String不属于基础数据类型,是一个对象。
16.java 中操做字符串都有哪些类?它们之间有什么区别?
操做字符串的类有:String、StringBuffer、StringBuilder。
String 和 StringBuffer、StringBuilder 的区别在于 String 声明的是不可变的对象,每次操做都会生成新的 String 对象,而后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 能够在原有对象的基础上进行操做,因此在常常改变字符串内容的状况下最好不要使用 String。
StringBuffer 和 StringBuilder 最大的区别在于,StringBuffer 是线程安全的,而 StringBuilder 是非线程安全的,但 StringBuilder 的性能却高于 StringBuffer,因此在单线程环境下推荐使用 StringBuilder,多线程环境下推荐使用 StringBuffer。
17.String str="i" 与 String str=new String ("i") 同样吗?
不同,由于内存的分配方式不同。String str="i" 的方式,java 虚拟机会将其分配到常量池中;而 String str=new String ("i") 则会被分到堆内存中。
18.字符串反转示例代码
// StringBuffer reverse StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append("abcdefg"); System.out.println(stringBuffer.reverse()); // gfedcba // StringBuilder reverse StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("abcdefg"); System.out.println(stringBuilder.reverse()); // gfedcba
19.String 类的经常使用方法都有那些?
20.抽象类不必定要有抽象方法
普通类不能包含抽象方法,抽象类能够包含抽象方法。抽象类不能直接实例化,普通类能够直接实例化。
21.抽象类不能使用final修饰
定义抽象类就是让其余类继承的,若是定义为 final 该类就不能被继承,这样彼此就会产生矛盾,因此 final 不能修饰抽象类。
22.Files 的经常使用方法都有哪些?