1 / 353

SCJP 课程

SCJP 课程. Sun Certified Java Programmer. Java 的历史. 1991 年, sun 公司在 “ Green ” 项目中,开发一种基于 C++ ,并且可以满足对平台独立性和安全性的要求的新语言,该语言的创始人 James Gosling 把它命名为 oak (橡树),后来发现已经有一种计算机语言叫 oak, 便改名叫 Java (咖啡) ;

donkor
Download Presentation

SCJP 课程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SCJP课程 Sun Certified Java Programmer

  2. Java的历史 • 1991年,sun公司在“Green”项目中,开发一种基于C++,并且可以满足对平台独立性和安全性的要求的新语言,该语言的创始人James Gosling把它命名为oak(橡树),后来发现已经有一种计算机语言叫oak, 便改名叫Java(咖啡); • 1995年,随着Internet和WWW的迅猛发展,需要一种简练、小巧、与平台无关的语言。Sun公司看准时机,在5月的一次重大会议上正式发布了Java, 由于当时大家对万维网的浓厚兴趣,Java迅猛的发展起来; • 1996年到现在,从JDK1.0~JDK1.6,发展异常迅速,遍布从大型企业应用到个人终端的各个方面。

  3. Java的历史

  4. Java的应用 • 对众多Java追随者而言,“Java无处不在”的理念在最近的一年中已经不仅仅是一句口号了,我们惊喜地看到,基于Java技术的内容已呈现在700多万Web网页上,可以在6.5亿多台桌面系统上观看这些内容,全球已有93家运营商采用Java技术配置移动通信应用,有3.5亿部Java电话,全球60%的PC桌面采用了最新Java版本,而Java技术也已一跃成为全球第一大领先开发平台。Java技术广泛用于各类器件,从智能卡和手持器件,到工作站和服务器。Java已成为网络计算的统一平台,这一全球性的发展趋势已成为不容纷争的事实。 • 来自第七届中国Java技术及应用学术交流会

  5. Java的应用 • “现在,第一个火星探测器已经成功登陆,国家宇航局的科学家们开始采用他们在地球上的控制系统,”JamesGosling说,“这显然是迄今为止Java应用中最酷的一举。” • Java之父James Gosling说,现在Java已经帮助我们到达了火星,谁知道“Java Everywhere”在将来会意味着什么呢?

  6. Java的应用(J2SE)

  7. Java的应用(J2SE)

  8. Java的应用(J2SE)

  9. Java的应用(J2EE) J2EE Model 2 Architecture

  10. Java的应用(J2EE)

  11. Java的应用(J2EE)

  12. Java的应用(J2EE)

  13. Java的应用(J2EE)

  14. Java的应用(J2EE)

  15. Java的应用(J2EE)

  16. Java的应用(J2ME) • Mobile Phone、PDA • JavaCard

  17. Java认证考试

  18. SCJP课程 SCJP开始

  19. 课程概述 本课程将描述: • Java编程语言的语法; • 面向对象概念在java中的实现; • 图形用户界面编程(AWT,Swing,SWT); • 多线程和I/O流 • 网络编程。

  20. 课程框图 • Java编程语言基础 入门 面向对象编程 标示符、关键字和数据类型 表达式和流程控制 数组

  21. 课程框图(续) • 高级面向对象编程 类设计 高级类特性

  22. 课程框图(续) • 建立应用程序 异常和断言 基于文本的应用程序

  23. 课程框图(续) • 开发图形用户界面 建立Java GUI GUI事件处理 基于 GUI的应用程序

  24. 课程框图(续) • 高级Java编程 多线程 高级I/O流 网络编程

  25. 各章概述 • 第1章: 入门 • 第2章:面向对象编程 • 第3章:标示符、关键字和数据类型 • 第4章:表达式和流程控制 • 第5章:数组 • 第6章:类设计 • 第7章:高级类特性

  26. 各章概述(续) • 第8章:异常和断言 • 第9章:基于文本的应用程序 • 第10章:建立Java GUI • 第11章:GUI事件处理 • 第12章:基于GUI的应用程序 • 第13章:多线程 • 第14章:高级I/O流

  27. 各章概述(续) • 第15章:网络编程

  28. 课程目标 • 描述主要的语言特性 • 编译和运行Java应用程序 • 使用Java API文档 • 描述Java语言的语法元素和程序结构 • 描述面向对象模式 • 使用Java编程语言的面向对象特性 • 使用异常

  29. 课程目标(续) • 使用集合API • 读写文件 • 开发图形用户界面(GUI) • 描述Java抽象窗口工具包(AWT) • 开发一个从GUI获取输入的程序 • 描述Java的事件处理机制 • 使用java.io软件包,进行I/O编程

  30. 课程目标(续) • 阐述多线程的基本内容 • 开发Java技术的多线程应用程序 • 用TCP/IP开发Java的C/S应用程序

  31. 不包括的主题 • 一般编程概念 • 一般面向对象概念

  32. 第1章:入门 完成本章学习后,应该能够: • 描述Java技术的关键特性 • 编写、编译和运行一个简单的Java应用程序 • 描述Java虚拟机(JVM)的功能 • 定义垃圾收集(gc) • 列出Java在保证代码安全方面的三个任务

  33. 第1章:入门 什么是Java技术?它是: • 一种编程语言 • 一种开发环境 • 一种应用程序环境 • 一种部署环境

  34. 第1章:入门 Java技术的主要目标: • 提供一种易于编程的语言,因为: 1.消除了其他语言(c/c++)的缺陷 2.是完全面向对象的 3.能使编程者创建更新型的、简化的代码

  35. 第1章:入门 • 提供一种解释环境: 1.提高了开发速度 2.代码更易于移植 • 使用户能够运行多个活动线程 • 可动态加载需要的类 • Java起源于网络,提供了很好的安全性

  36. 第1章:入门 Java语言通过以下技术实现了上述目标: • Java虚拟机(JVM) • 垃圾收集(GC) • 代码安全(CS)

  37. 第1章:入门 Java虚拟机是: • 提供了硬件平台规范 • 读取平台独立的编译好字节码(byte code) • 可作为硬件或软件来实现 • 在Java SDK和Web浏览器中都有实现

  38. 第1章:入门 JVM提供以下定义: • 一套指令系统(CPU) • 一组寄存器 • 类文件格式 • 堆栈 • 垃圾收集堆 • 内存区

  39. 第1章:入门 JVM的功能: • 编译时完成大部分的类型检查 • 符合Sun公司的JVM规范的虚拟机必须能够运行任何满足类文件格式的字节码

  40. 第1章:入门 垃圾收集是: • Java提供了一个系统级的线程来跟踪内存分配 • 垃圾收集是自动进行的 • 在不同的JVM实现中,垃圾收集机制大不相同

  41. 第1章:入门 • 虽然有garbage collection,但应用程序还是有可能内存溢出; • 要让一个对象满足垃圾回收,必须移掉该对象上的所有引用,通常是置null; • 定义在方法中的对象当退出方法时该对象满足垃圾回收,除非该对象被返回;

  42. 第1章:入门 • Given: • 1. class Test { • 2. • 3. public static void main (String [] args) { • 4. String first = "Greetings "; • 5. String second = "human."; • 6. String third = "Grok."; • 7. first = second; • 8. second = first; • 9. third = second; • 10. • 11. System.out.println("Now what?"); • 12. } • 13. } • Which of the following objects are eligible for collection at line 10? (Choose all that apply.) • A. "Greetings " B. "human." C. "Grok."

  43. 第1章:入门 • Given: • 1. class Example { • 2. public static void main(String args[]) { • 3. new Example().useObject(); • 4. System.out.println("Done!"); • 5. } • 6. private void useObject() { • 7. String anObject = allocateObject(); • 8. System.out.println(anObject); • 9. } • 10. private String allocateObject(){ • 11. String myObject = new String("When will I be deleted?"); • 12. return myObject; • 13. } • 14. } • When will the object created as myObject become eligible for deletion? • A. When the allocateObject() method completes. B. When the call to System.out.println() completes in line 8. C. When the useObject() method completes. D. When the main program completes.

  44. 第1章:入门 Java运行时环境执行三个主要任务: • 加载代码 • 校验代码 • 执行代码

  45. 第1章:入门 类加载器完成: • 加载程序执行需要的全部类 • 使用“名子空间”来使得类文件和本地文件系统分离 • 防止欺骗

  46. 第1章:入门 字节码校验器完成: • 代码符合JVM规范 • 代码不要违反系统的完整性 • 代码未引起操作数堆栈的上溢或下溢 • 所有操作代码的参数类型是正确的 • 无非法数据类型转换

  47. 第1章:入门 Java运行时环境JRE:见书P1-12 编译 TestGreeting.java javac TestGreeting.class Java 类加载器 字节码校验器 解释器 运行时 硬件 从硬盘、网络或其他资源下载

  48. 第1章:入门 一个基本的Java应用程序: //Sample “hello world” application public class TestGreeting{ public static void main(String[] args){ Greeting hello = new Greeting(); hello.greet(); } } public class Greeting{ public void greet(){ System.out.println(“hi”); } }

  49. 第1章:入门 编译和运行TestGreeting程序 • Compile TestGreeting.java >javac TestGreeting.java • Greeting.java自动编译 • Run >java TestGreeting • check

  50. 第1章:入门 注意: 1.一个Java源文件最多只能包含一个公有类; 2.公有类的类名必须和文件名相同; 3.主方法的形式必须是如下: public static void main(String[] a){} 4.垃圾收集。

More Related