第一章
1 哪个组织负责监督审察 Java 相关技术规格的演进? ? A、JCP ? B、Apache ? C、EU ? D、W3C
2Java 技术规格必须以何种正式文件提交审察? ? A、RFC ? B、JSR ? C、ISO ? D、IEEE
3Java 的原始码扩展名为何?编译完后是哪个扩展名? ? A、*.txt、*.java ? B、*.c、*.class ? C、*.java、*.class ? D、*.cpp、*.java
4 对 JVM 来说,可执行文件案的扩展名为何? ? A、*.java ? B、*.class ? C、*.dll ? D、*.pyc
5 在 Java 下载页面中,可看到 JRE 下载选项,这是哪种 JRE? ? A、Web JRE ? B、Private JRE ? C、Server JRE ? D、Public JRE
6 在 Java 下载页面中,哪个下载选项安装后,会有 javac 编译程序可以使用? ? A、JDK ? B、JRE ? C、JavaDoc ? D、NetBeans
7 如果只是要运行 Java 程序,下载程序哪个安装即可 ? A、JDK ? B、JRE ? C、JavaDoc
? D、NetBeans
8Java 根据应用领域不同,区分为哪三大平台? ? A、Java SE ? B、Java EE ? C、Java ME ? D、Android
9 哪些平台不在 Java 规范之中? ? A、Java ME ? B、Android ? C、iOS ? D、AVI
10 以下哪些包括在 JRE 之中? ? A、开发工具程序 ? B、Java SE API ? C、JVM ? D、部署技术
第二章 1 如果在 hello.java 中撰写以下的程序代码: public class Hello {
publicstaticdmain(String[]args) { System.out.println("Hello World");
} } 以下描述何者正确?
? A、执行时显示 Hello World ? B、执行时出现 NoClassDefFoundError ? C、执行时出现出现找不到主要方法的错误 ? D、编译失败
2 如果在 Main.java 中撰写以下的程序代码: public class Main {
public static main(String[] args) { System.out.println("Hello World");
} } 以下描述何者正确?
? A、执行时显示 Hello World ? B、执行时出现 NoClassDefFoundError ? C、执行时出现找不到主要方法的错误 ? D、编译失败
3 如果在 Main.java 中撰写以下的程序代码: public class Main {
public static void main() { System.out.println("HelloWorld");
} } 以下描述何者正确?
? A、执行时显示 Hello World ? B、执行时出现 NoClassDefFoundError ? C、执行时出现出现找不到主要方法的错误 ? D、编译失败
4 如果在 Main.java 中撰写以下的程序代码: public class Main {
public static void main(string[] args) { System.out.println("Hello World");
} } 以下描述何者正确?
? A、执行时显示 Hello World ? B、执行时出现 NoClassDefFoundError ? C、执行时出现出现找不到主要方法的错误 ? D、编译失败
5 如果 C:\workspace\Hello\classes 中有以下原始码编译而成的 Main.class: public class Main {
public static void main(String[] args) { System.out.println("Hello World");
} } 文本模式下你的工作路径是 C:\workspace,那么如何执行 Main 类别?
? A、java C:\workspace\Hello\classes\Main ? B、java Hello\classes Main ? C、java –cp Hello\classes Main ? D、以上皆非
6 如果 C:\workspace\Hello\classes 中有以下原始码编译而成的 Main.class: package cc.openhome; public class Main {
public static void main(String[] args) { System.out.println("Hello World");
}
} 文本模式下你的工作路径是 C:\workspace,那么如何执行 Main 类别?
? A、java C:\workspace\Hello\classes\Main ? B、java Hello\classes Main ? C、java –cp Hello\classes Main ? D、以上皆非
7 如果有个 Console 类别的原始码开头定义如下: package cc.openhome; public class Console {
... } 其完全吻合名称为何?
? A、cc.openhome.Console ? B、https://www.wendangku.net/doc/5016893018.html,.openhome.Console ? C、cc.openhome.class.Console ? D、以上皆非 正确答案: A
8 如果 C:\workspace\Hello\src 中有 Main.java 如下: package cc.openhome; public class Main {
public static void main(String[]args) { System.out.println("Hello World");
} } 文本模式下你的工作路径是 C:\workspace\Hello,那么如何编译与执行 Main 类别?
? A、javac src\Main.java java C:\workspace\Hello\classes\Main ? B、javac –d classes src\Main.java java –cp classes Main ? C、javac –d classes src\Main.java java –cp classes cc.openhome.Main ? D、javac –d classes src\Main.java java –cp classesccopenhome Main
9 如果有个 Console 类别的原始码开头定义如下: package cc.openhome; public class Console {
... } 如何在另一个类别中撰写 import?
? A、import cc.openhome.Console; ? B、import cc.openhome; ? C、import cc.openhome.*; ? D、import Console;
10 关于包以下何者正确? ? A、要使用 Java SE API 的 System 类别必须 import https://www.wendangku.net/doc/5016893018.html,ng.System; ? B、在程序中撰写 import https://www.wendangku.net/doc/5016893018.html,ng.System;会发生编译错误,因为 https://www.wendangku.net/doc/5016893018.html,ng 中的类别 不用 import ? C、import 并不影响执行效能 ? D、程序中撰写了 import cc.openhome.Main,执行 java 指令时只要下 java Main 就可 以了
第三章
1 如果有以下的程序代码: int number; System.out.println(number); 以下描述何者正确?
? A、执行时显示 0 ? B、执行时显示随机数字 ? C、执行时出现错误 ? D、编译失败
2 如果有以下的程序代码: System.out.println(10 / 3); 以下描述何者正确?
? A、执行时显示 3 ? B、执行时显示 3.33333... ? C、执行时出现错误 ? D、编译失败
3 如果有以下的程序代码: float radius = 88.2; double area= 2 * 3.14 * radius * radius; System.out.println(area); 以下描述何者正确?
? A、执行时显示 48853.6272 ? B、执行时显示 48853 ? C、执行时出现错误 ? D、编译失败 正确答案: D
4 如果有以下的程序代码: byte a = 100; byte b = 200; byte c = (byte) (a + b);
System.out.println(c); 以下描述何者正确?
? A、执行时显示 300 ? B、执行时显示 127 ? C、执行时出现错误 ? D、编译失败
5 如果有以下的程序代码: System.out.println(Integer.MAX_VALUE + 1 == Integer.MIN_VALUE); 以下描述何者正确?
? A、执行时显示 true ? B、执行时显示 false ? C、执行时出现错误 ? D、编译失败
6 如果有以下的程序代码: System.out.println(-Integer.MAX_VALUE == Integer.MIN_VALUE); 以下描述何者正确?
? A、执行时显示 true ? B、执行时显示 false ? C、执行时出现错误 ? D、编译失败
7 如果有以下的程序代码: int i = 10;10 int number = i++; number = --i; 以下描述何者正确?
? A、执行后 number 为 10,i 为 10 ? B、执行后 number 为 10,i 为 11 ? C、执行后 number 为 11,i 为 10 ? D、执行后 number 为 11,i 为 11
8 如果有以下的程序代码: int i = 10; int number = ++i; number = ++i; 以下描述何者正确?
? A、执行后 number 为 11,i 为 11 ? B、执行后 number 为 11,i 为 12 ? C、执行后 number 为 12,i 为 11 ? D、执行后 number 为 12,i 为 12
9 如果有以下的程序代码: for(int i = 1; i < 10; i++) {
if(i == 5) { continue; } System.out.printf("i = %d%n", i); 以下描述何者正确?
? A、显示 i =1 到 4,以及 6 到 9 ? B、显示 i =1 到 9 ? C、显示 i =1 到 4 ? D、显示 i = 6 到 9
10 如果有以下的程序代码: for(int number = 0; number != 5; number = (int) (Math.random() * 10)) {
System.out.println(number); } 以下描述何者正确?
? A、执行时显示数字永不停止 ? B、执行时显示数字 0 后停止 ? C、执行时显示数字 5 后停止 ? D、执行时显示数字直到 number 为 5 后停止
第四章
1 如果有以下的程序代码: int x = 100; int y = 100; Integer wx = x; Integer wy = y; System.out.println(x == y); System.out.println(wx == wy); 在 JDK5 以上的环境编译与执行,请问显示结果为何?
? A、true、true ? B、true、false ? C、false、true ? D、编译失败
2 如果有以下的程序代码: int x = 200; int y = 200; Integer wx = x; Integer wy = y; System.out.println(x == wx); System.out.println(y == wy); 在 JDK5 以上的环境编译与执行,请问显示结果为何?
? A、true、true ? B、true、false ? C、false、true ? D、编译失败
3 如果有以下的程序代码: int x = 300; int y = 300; Integer wx = x; Integer wy = y; System.out.println(wx.equals(x)); System.out.println(wy.equals(y)); 以下描述何者正确?
? A、true、true ? B、true、false ? C、false、true ? D、编译失败
4 如果有以下的程序代码: int[] arr1 = {1, 2, 3}; int[] arr2 = arr1; arr2[1] = 20; System.out.println(arr1[1]); 以下描述何者正确?
? A、执行时显示 2 ? B、执行时显示 20 ? C、执行时出现 ArrayIndexOutOfBoundException 错误 ? D、编译失败
5 如果有以下的程序代码: int[] arr1 = {1, 2, 3}; int[] arr2 = new int[arr1.length]; arr2 = arr1; for(int value : arr2) {
System.out.printf("%d", value); } 以下描述何者正确?
? A、执行时显示 123 ? B、执行时显示 12300 ? C、执行时出现 ArrayIndexOutOfBoundException 错误 ? D、编译失败
6 如果有以下的程序代码: String[] strs = new String[5]; 以下描述何者正确?
? A、产生 5 个 String 实例 ? B、产生 1 个 String 实例 ? C、产生 0 个 String 实例 ? D、编译失败
7 如果有以下的程序代码: String[] strs = {"Java", "Java", "Java", "Java", "Java"}; 以下描述何者正确?
? A、产生 5 个 String 实例 ? B、产生 1 个 String 实例 ? C、产生 0 个 String 实例 ? D、编译失败
8 如果有以下的程序代码: String[][] strs = new String[2][5]; 以下描述何者正确?
? A、产生 10 个 String 实例 ? B、产生 2 个 String 实例 ? C、产生 0 个 String 实例 ? D、编译失败
9 如果有以下的程序代码: String[][] strs = {
{"Java", "Java", "Java"}, {"Java", "Java", "Java", "Java"} }; System.out.println(strs.length); System.out.println(strs[0].length); System.out.println(strs[1].length); 以下描述何者正确?
? A、显示 2、3、4
? B、显示 2、0、1
? C、显示 1、2、3
? D、编译失败
10 如果有以下的程序代码: String[][] strs = {
{"Java", "Java", "Java"}, {"Java", "Java", "Java", "Java"} }; for(________row : strs) { for(________str : row) {
.... } } 空白处应该分别填上什么?
? A、String、String
? B、String、String[]
? C、String[]、String
? D、String[]、String[]
第五章
1 如果有以下程序片段: public class Some {
private Some some; private Some() {} public static Some create() {
if(some == null) { some = new Some();
} return some; } } 以下描述何者正确? ? A、 编译失败 ? B、 客户端必须 new Some()产 Some 生实例 ? C、 客户端必须 new Some().create()产生 Some 实例 ? D、 客户端必须 Some.create()产生 Some 实例
2 如果有以下程序片段: int[] scores1 = {88, 81, 74, 68, 78, 76, 77, 85, 95, 93}; int[] scores2 = Arrays.copyOf(scores1, scores1.length); 其中 Arrays 完全吻合名称为 java.util.Arrays,以下描述何者正确?
? A、 Arrays.copyOf()应该改为 new Arrays().copyOf() ? B、 copyOf()是 static 成员 ? C、 copyOf()是 public 成员 ? D、 Arrays 被宣告为 public
3 如果有以下程序片段: public class Some {
public int x; public Some(int x) {
this.x = x; } } 以下描述何者正确? ? A、 建构 Some 时,可使用 new Some()或 new Some(10)形式 ? B、 建构 Some 时,只能使用 new Some()形式 ? C、 建构 Some 时,只能使用 newSome(10)形式 ? D、 没有无自变量建构式,所以编译失败
4 如果有以下程序片段: public class Some {
public int x; public Some(int x) {
x = x; } } 以下描述何者正确? ? A、 new Some(10)建构对象后,对象成员 x 值为 10 ? B、 new Some(10)建构对象后,对象成员 x 值为 0 ? C、 Some s = new Some(10)后,可使用 s.x 取得值 ? D、 编译失败
5 如果有以下程序片段: public class Some {
private int x; public Some(int x) {
this.x = x; } } 以下描述何者正确? ? A、 new Some(10) 建构物件后,成员 x 值为 10 ? B、 new Some(10) 建构物件后,成员 x 值为 0 ? C、 Some s = new Some(10) 后,可使用 s.x 取得值 ? D、 编译失败
6 如果有以下程序片段: package cc.openhome.util; class Some {
public int x; public Some(int x) {
this.x = x; } } 以下描述何者正确? ? A、 cc.openhome.util 套件中其它程序代码可以 new Some(10) ? B、 cc.openhome.util 套件外其它程序代码可以 new Some(10) ? C、 可以在其它套件 import cc.openhome.util.Some; ? D、 编译失败
7 如果有以下程序片段: public class Some {
private final int x;
public Some() {} public Some(int x) {
this.x = x; } } 以下描述何者正确? ? A、 new Some(10)建构对象后,对象成员 x 值为 10 ? B、 new Some(10)建构对象后,对象成员 x 值为 0 ? C、 Some s = new Some(10)后,可使用 s.x 取得值 ? D、 编译失败
8 如果有以下程序片段: public class Some {
public static int sum(int... numbers) { int sum = 0; for(int i = 10; i < numbers.length; i++) { sum += numbers[i];20 } return sum;
} } 以下描述何者正确?
? A、 可使用 Some.sum(1, 2, 3)加总 1、2、3 ? B、 可使用 new Some.sum(1, 2, 3)加总 1、2、3 ? C、 可使用 Some.sum(new int[1,2, 3])加总 1、2、3 ? D、 编译失败,因为不定长度自变量只能用增强式 for 循环语法
9 如果有以下程序片段: public class Some {
public static void someMethod(int i) { System.out.println("int 版本被呼叫");
} public static void someMethod(Integer integer) {
System.out.println("Integer 版本被呼叫"); } } 以下描述何者正确? ? A、 Some.someMethod(1)显示「int 版本被呼叫」 ? B、 Some.someMethod(1)显示「Integer 版本被呼叫」 ? C、 Some.someMethod(new Integer(1))显示「int 版本被呼叫」 ? D、 编译失败
10 如果有以下程序片段: public class Main{
public intsome(int... numbers) { int sum = 0; for(int number : numbers) { sum += number; } return sum;
} public static void main(String[] args) {
System.out.println(sum(1, 2, 3)); } } 以下描述何者正确? ? A、 显示 6 ? B、 显示 1 ? C、 无法执行 ? D、 编译失败
第六章
1 如果有以下程序片段: class Some {
void doService() { System.out.println("some service");
} } class Other extends Some {
@Override void doService() { System.out.println("other service");
} } public class Main {
public static void main(String[] args) { Other other = new Other(); other.doService();
} } 以下描述何者正确?
? A、 编译失败 ? B、 显示 some service ? C、 显示 other service ? D、 先显示 some service、后显示 other service
2 承上题,如果 main()中改为: Some some = new Other(); some.doService(); 以下描述何者正确?
? A、 编译失败 ? B、 显示 some service ? C、 显示 other service ? D、 先显示 some service、后显示 other service
3 如果有以下程序片段: class Some {
String ToString() { return "Some instance";
} } public class Main {
public static void main(String[] args) { Some some= new Some(); System.out.println(some);
} } 以下描述何者正确?
? A、 显示 Some instance ? B、 显示 Some@XXXX,XXXX 为 16 进位数字 ? C、 发生 ClassCastException ? D、 编译失败
4 如果有以下程序片段: class Some {
int hashCode() { return 99;
} } public class Main {
public static void main(String[] args) { Some some = new Some(); System.out.println(some.hashCode());
} } 以下描述何者正确?
? A、 显示 99 ? B、 显示 0 ? C、 发生 ClassNotFoundException ? D、 编译失败
5 如果有以下程序片段: class Some {
@Override String ToString() {
return "Some instance"; } } public class Main { public static void main(String[] args) {
Some some = new Some(); System.out.println(some); } } 以下描述何者正确? ? A、 显示 Some instance ? B、 显示 Some@XXXX,XXXX 为 16 进位数字 ? C、 发生 ClassCastException ? D、 编译失败
6 如果有以下程序片段: class Some {
abstract void doService(); } class Other extends Some {
@Override void doService() {
System.out.println("other service"); } } public class Main { public static void main(String[] args) {
Some some = new Other(); some.doService(); } } 以下描述何者正确? ? A、 编译失败 ? B、 显示 other service ? C、 执行时发生 ClassCastException ? D、 移除@Override 可编译成功
7 如果有以下程序片段: class Some {
protected int x; Some(int x) {
this.x = x; } } class Other extends Some { Other(int x) {
this.x = x; } } 以下描述何者正确? ? A、 new Other(10)后,物件成员 x 值为 10 ? B、 new Other(10)后,物件成员 x 值为任意值 ? C、 Other 中无法存取 x 的编译失败 ? D、 Other 中无法呼叫父类别建构式的编译失败
8 如果有以下程序片段: public class IterableString extends String {
public IterableString(String original) { super(original);
} public void iterate() {
//... } } 以下描述何者正确? ? A、 String s = new IterableString("J")可通过编译 ? B、 IterableString s = new IterableString("J")可通过编译 ? C、 因无法呼叫 super()的编译失败 ? D、 因无法继承 String 的编译失败
9 如果有以下程序片段: class Some {
Some() { System.out.println("Some()"); this(10);
} Some(int x) {
System.out.println("Some(int x)"); }
} class Other extends Some {Other() {
super(10); System.out.println("Other()");
} Other(int y) {
System.out.println("Other(int y)"); } } 以下描述何者正确? ? A、 new Other()显示"Some(int x)"、"Other()" ? B、 new Other(10)显示"Other(int y)" ? C、 newSome()显示"Some(int x)"、"Some()" ? D、 编译失败
10 如果有以下程序片段: class Some {
Some() { this(10); System.out.println("Some()");
} Some(int x) {
System.out.println("Some(int x)"); } } class Other extends Some { Other() {
super(10); System.out.println("Other()"); } Other(int y) { System.out.println("Other(int y)"); } } 以下描述何者正确? ? A、 new Other()显示"Some(int x)"、"Other()" ? B、 new Other(10)显示"Some()"、"Some(int x)"、"Other(int y)" ? C、 new Some()显示"Some(int x)"、"Some()" ? D、 编译失败
第七章
1 如果有以下程序片段: interface Some {
protected void doSome(); } class SomeImpl implements Some {
public void doSome() { System.out.println("作一些事");
} } public class Main {
public static void main(String[] args) { Some s = new SomeImpl(); s.doSome();
} } 以下描述何者正确?
? A、 编译失败 ? B、 显示"作一些事" ? C、 发生 ClassCastException ? D、 执行时不显示任何讯息
2 如果有以下程序片段: interface Some {
int x = 10; } public class Main {
public static void main(String[] args) { System.out.println(Some.x);
} } 以下描述何者正确?
? A、 编译失败 ? B、 显示 10 ? C、 必须建构 Some 实例才能存取 x ? D、 显示 0
总结一:javaweb课程总结刚开始学的时候,感觉这两门课程好高大上的样子,因为自从学软件工程这个专业以来,一直都是学的理论性、框架性的东西,就没有接触到编程的实质性的部分,终于开始学编程了,感觉蛮兴奋的,也是精神饱满,信心十足,怀着一腔热血来听课。 由于JAVAWEB和JSP两门课是同时上的,而且每次都是一整上午,上课时间很长,老师一直有条不紊的讲着,虽然时间很长,但是每当大家上完课,心中都是有一种充实的感觉,大家都觉得有所收获,所以也就不曾觉得累了。 JAVAWEB这门课让我认识了以前见所未见闻所未闻的专业术语,Web应用程序的概述。我从中了解到Web应用程序的三层体系结构:表示层、业务层、数据存取层。从而想到了学数据库设计时的数据库设计三大范式,它们同是叙述在编写代码时应做的规划和应遵循的规则,这种规划在以后的学习中时有出现,说明编程并不是一味地进行循环判断、死记硬背,而需要在技术上有所加强、在效率上有所提高。做任何事都是如此,事先必须有目标、有计划,有统筹,这样执行时才不会盲目,才不会事倍功半。学习编程对综合能力都是一种培养。 接下来是JSP知识。要学JSP,就必须会HTML,如果HTML学不通,这对以后的学习都是一个瓶颈。基础一定要打扎实,吃透,否则上层建筑的建起就不会很顺利甚至没法起步。然后是JavaBean。以下是个人对JavaBean的一点学习体会。JavaBean里有set()和get()方法,用这些方法能很容易地传值,逻辑上更标准,代码看起来也更规范。但set()和get()方法只是用来对属性进行操作的,所以如果是进行复杂的逻辑或对数据库进行操作等,那么就不要写成set()和get()方法,只用一个有返回值的方法就足以。这样直观方便,且符合规范。总之,set()和get()方法不要没有效率地滥定义。 接着是Servlet。Servlet是一个用Java编写的应用程序,在服务器上运行,用来处理请求和响应,也可以单独做为一个Web页面。然后讲的是标签,包括自定义标签和JSP标准标签库。用一般的Java代码都几乎能实现它们的功能。它们的好处是提高了代码的重用性。 我们需要配置的坏境有JDK,Tomcat,还要用到Myeclips这一基础的编程工具。在学习JSP之前,由于没有网页编程的基础,便学习了HTML这种文本标记语言,自己试着去做简单的静态网站。后来学做JSP动态网站时,就涉及到了多方面的知识,JSP内部对象及内部对象所涉及的方法,JSP与数据库连接,如何去引用数据库。这门课更是巩固了JAVA 这一基础编程语言,要求对JAVA掌握的要透彻,每门语言要学扎实,深入理解,都要花费很大的功夫,不是容易的事情。 Jsp与servlet有一定的区别,Servlet可以看作是HTML的Java代码,而JSP可看作是包含Java代码的HTML。共同点:JSP和Servlet实际上是一回事。JSP页面最终要转换成Servlet,并进行编译,在请求期间执行的实际上是编译后的Servlet。因此,JSP页面不过是编写Servlet的另一种方式。各自应用的范围:Servlet比较适合于做处理任务,如做业务逻辑;JSP适合于表示任务,如网页制作,生成动态网页。 对JAVAWEB和JSP课程的知识就简单介绍到这里,本学期的这两门课程让我对软件工程这门课有了一个全新的认识,我真切的学到了能用的东西,大学里的很多课是浪费时间,而
一、填空题(每题1分,共50分) 1.Java程序可以分为两种基本的类型,分别是_________________和_________________。 2.如果一个类不显示地写上其继承的父类,则它的默认的直接父类是系统类_______________。 3.Java对内存的释放是采用____________________机制。 4.接口的所有成员方法都具有________________和________________属性。 5.设有一个Java应用程序,其源程序文件名为Test.java,则编译该源程序的命令是_________________________,运行该应用程序的命令为_________________________。 6.如果线程类A需要继承类B,而类B不是线程类,则需要通过接口类Runnable构造线程类A,类A的具体定义为 ___________________________________________________。 7.Java系统提供了方法____________________来强制立即回收垃圾。 8.运行以下语句后b的值是__________________。 String s1=“1234”; String s2=new String(“1234”); Boolean b=(s1 = = s2); 9.通过Connection实例对象的_____________________方法可以创建出Statement的实例对象。 10.JAVA小应用程序一般是_____________的子类。 11.JAVA语言通过____________机制简化了程序的内存管理。 12.JAVA字符(char)采用的是___________字符集。 13.面向对象的计算机语言一般应具有3个基本特性:____________、____________和______________。 14.JAVA语言中,捕获异常是通过________________语句结构来实现的。 15.编写线程程序主要是构造线程类,而构造线程类的方式主要有以下两种:(1)____________________________________________ (2)____________________________________________ 16.假设用JAVA语言为清华大学(网址为https://www.wendangku.net/doc/5016893018.html,)编写了图像处理包image,那么按照SUN公司的建议,这个包的名称最好为_________________。 17.JAVA数据类型中,具体包括哪三种引用数据类型:___________、____________、______________。 18.JAVA程序以________为单位进行组织的。 19.如果没有显式的定义类的构造方法,则系统会为该类定义一个默认的构造方法,这个默认的构造方法的作用是_____________________________________。
史上最全Java基础知识点归纳 写这篇文章的目的是想总结一下自己这么多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java 程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE 相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1.JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资
深开发者来说,不会JVM几乎是不可接受的。 JVM作为Java运行的基础,很难相信对于JVM一点都不了解的人可以把Java语言吃得很透。我在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证Java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump,分析内存结构 class二进制字节码结构,class loader体系,class加载过程,实例创建过程 方法执行过程 Java各个大版本更新提供的新特性(需要简单了解) 2.Java的运行(基础必备) 这条可能出看很简单,Java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行Java程序,底层IDE又是如何执行Java程序呢?很多人并不了解。
第一章Web开发基础知识(简单描述)表单(续) 表单元素