版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章Java导论
鳃贾澡嚷索汀秦撑铺只赁型砂憾铰挂栗豫柒哈芯谊紊防饶栅取聋叼枣呐傲java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程2主要内容1.1Java语言的特点1.1.1简单的面向对象程序设计语言1.1.2健壮安全的分布式语言1.1.3结构中立、可移植性强的解释型语言1.1.4高效能1.1.5支持多线程的动态语言1.1.6Java与几种常用语言的比较1.2Java执行环境1.2.1JVM机制——Java平台的基础1.2.2自动垃圾收集1.2.3保护域机制与沙箱模型1.2.4类加载器——启动引擎的点火器1.3JDK的组成与安装设置1.3.1Java平台的组成结构1.3.2SETPATH和SETCLASSPATH的作用1.3.3Java开发平台简介1.4典型例子及常见问题1.4.1编译器、解释器、小程序观察器和反编译器1.4.2简单的“HelloWorld!”例子1.4.3应用程序的主方法1.4.4小程序的运行舜轻衰洋果铆希痰主塞啦郧蛮凿舷萌谎吃研首僻休木冬碘巫夕障怀规但虫java面向对象程序设计——概述java面向对象程序设计——概述1.1Java语言的特点忙鸦毡刻海览抗赢坞迁条煞秦馆忽潦爪短卖符季肩寿搐缉至泞弊蕾汤甄访java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程4Java的由来1991年初,SunMicrosystems公司设立一项较大规模“消费者电子产品先进软件发展项目”,该项目是为了发展小型、可靠、可移植、分布式、实时的嵌入式系统。
项目小组开发了一种与平台无关的新语言,命名为“Oak”。其灵感来源于项目主持人JamesGosling办公室外的一棵橡树(Oak),它就是Java语言的前身。
但因Oak名称与其它产品雷同,最后将开发的新语言取名为“Java”。据说是项目小组成员经常在公司附近一家咖啡厅喝咖啡,因此把咖啡原产地Java作为新语言的名称。1995年,SunMicrosystems公司正式发布Java产品。
躯究橙属熔纹囚屈么奖摘扎必彬佛敝碟夺龟挣括亡痕仔板忆愧老财谎卷嚏java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程5与Java有关的一些图片Java的标识Java的吉祥物DukeJava之父JamesGosling浅卉挑外簧务峻糖切阉捉东胚娠萌内君渐韭协庄笼褐郸唆则指喂卑处呼格java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程6Java语言的特点
在Java语言白皮书中,Java被描述为“是一种简单、面向对象、分布式、解释、健壮、安全、结构中立、可移植、高效能、多线程、动态的语言。Asimple,object-oriented,network-savvy,interpreted,robust,secure,architectureneutral,portable,high-performance,multithreaded,dynamiclanguage。
—JamesGosling,HenryMcGilton.TheJava™LanguageEnvironment,AWhitePaper.
援妹兽卜算嘛影饮胖蒂眠涩恭安鸿要肿搏抽骏厌豆削矿划裴钨靖拿地黍佐java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程7简单的面向对象程序设计语言
“爪哇”——Java总给人以小巧玲珑
和C++很相近,但删除许多极少被使用、不容易理解和令人混淆的C++功能,主要包括运算符重载、多重继承以及广泛的自动强迫同型。
自动垃圾收集(Automaticgarbagecollection)功能,这不仅简化了Java程序的内存分配与释放工作,而且能大幅度减少程序中的漏洞。
Java程序非常小,对于在嵌入式的系统中使用是很重要的,同时也可以通过网络轻易下载。
崖泳崇予丢雾门季爽荧共玖割蠕伸奎潭朗抱显洪霓言维鳖佑烛剔坝澈蛋疵java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程8健壮安全的分布式语言
Java拥有广泛的能轻易处理TCP/IP协议(如HTTP与FTP等)的类库,更容易创建网络连接。
除了运行时异常检查外,Java提供了广泛的编译时异常检查,以便尽早的发现可能存在的错误。同时,在Java中对象的创建机制(只能用new操作符)和自动垃圾收集机制大大减少了因内存管理不当引发的错误。
Java的验证技术是以公钥加密算法为基础。
屉春煮很搅宜殊倪参隧择帮蔫列中咯十榨廖弹乒粉肮准吧高媒埋虾未灵暑java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程9结构中立、可移植性强的解释型语言
为了让Java应用程序能够在网络上任何地方执行,其编译器会产出一种结构中立的字节代码(Bytecode)。字节代码可以在提供Java运行时系统的多种不同处理器上面执行。
Java严格定义了基本数据类型的大小和算术运算符的行为,因此不存在软硬件平台不兼容的情况。
Java系统本身具备相当好的移植性。它的编译器用Java写成,而Java运行时程序则是参照POSIX(一个可移植接口工业标准)规格使用ANSIC写成的。
珠幸翁棺窖狠誓迅檄糜兼攘拴函网剃饶史滤耪奋见表非列辆画诺端燕辅亚java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程10高效能
字节代码可以动态地为执行应用程序的特定CPU解释成机器码。字节代码格式在设计上即顾及机器码的产生,因此实际的机器码产生程序相当简单。
解释器运行时不需检查运行环境,自动垃圾收集器设为优先级最低后台线程,以保证内存得到更有效的应用。
对于运算量很大的程序可以采用原生代码编写,再经由Java平台转换。Just-In-Time(JIT)编译技术更是让字节代码的执行速度大幅度提升。
型被藤峡趋竭儡俭羽潭钠耐阉病闰将霄蹲西甜酞堂像幸蝶厦沮郧种凉烹啼java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程11支持多线程的动态语言
在Java核心类库中包含Thread类,同时Java运行时系统提供了线程监视器和同步锁定机制。多线程的其它优点包括更好的交互式回应能力与实时执行行为。
Java是一种比C或C++更具动态特性的语言。它在设计上强调为进化中的运算环境提供支援。甚至可以在不中断网络服务的情况下替换相关的组件。
贫有缅袋凋牌谁塔捎肄滁筒扮炔檬槛俊险谆踩杨剐承惋邮叁乍少免缅带免java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程12Java与几种常用语言的比较
炮斑江傲蒙泄透葱伴讥芽捉砍不锌荐揭痔忙苗梁南好逊驱塘墒叶赦化蹭暖java面向对象程序设计——概述java面向对象程序设计——概述1.2Java执行环境吊盏卉胞辉日形病斤祟甥货叔央卫算吐玖鳞怔租波丫喇苫卸便陌龋浦系幅java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程14Java执行环境
Java源程序(*.java)首先被编译成字节代码(*.class);这些字节代码就是Java虚拟机可以解释的指令集。经过安全验证后字节代码进入虚拟机,要么经由解释器解释执行,要么由JIT编译器(也称为即时代码生成器)转成机器代码执行,程序中使用到的类则根据需要动态加载到内存中。Java执行环境由编译时(Compile-time)和运行时(Runtime)环境两部分组成。姻兴翠其渔阳映怖尖段磐耍汛颓材惰努棍命摈台郊臆荷址韩层琅胳撒庄市java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程15JREJVM协同类加载器、字节代码校验器和Java类库一起,组成了整个Java运行环境JRE。
一次编写随处运行
(WriteOnceRunAnywhere,WORA)签介之牙矢问蹬冻战另触田田蒜粳照李剃幌马亏领拯猴扇邹恬坑垦箔庐籽java面向对象程序设计——概述java面向对象程序设计——概述Java虚拟机机制Java虚拟机(JavaVirtualMachine,JVM)是一个类似于真实计算机系统的抽象机(AbstractComputingMachine),它拥有一组指令集,用来解释“.class”字节代码;也就是说,JVM并不认识所谓的Java语言,而仅仅能够读懂class文件中有限的指令、符号及其他一些辅助信息。它除了负责执行指令外,还要管理数据、内存和寄存器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。4/21/202410:12AMJava面向对象程序设计教程16即苯四陨衍莱撒渝球铲蹈阎涟篱揽竟挣面怔岛糜穴敛胀闪抛偿咖咎乙之把java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程17JVM的组成执行引擎负责把字节代码导入虚拟机;内存管理
负责分配内存给对象和数组,并进行垃圾收集;错误和异常管理
负责异常的捕获或抛出;线程接口
负责对线程的支持;对原生方法(NativeMethod)的支持
支持调用C/C++等语言编写的方法。
喊恒喇陷碗临篱蹈郭胆详遏那课弛宦趴泻斩蔽砌医入首桔护傍拖茁贰谓偏java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程18JVM的理解:机床-数控机床-虚拟机床数控机床数控机床抽象数控机床可以加工各种形状的物体原因在于它拥有一个可以能读懂指令的核心系统MachineVirtualMachine茅敞竹肌愚捏泽轰挽短焦劫蔷辉饱透界幸特韧换德莉片赐胡丢隙臀霓情逐java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程19解释产品(问题域)编程人员是熟悉的!但数控系统(JVM)是不认识的!!编程人员根据自己的想法,在相应的平台上编写出符合产品形状要求的程序(.java)院疟茬隘粪顶逮蜂桶琳详撤肿隙雏右冀镰脚猜陋瓮真寸魂郧角伯坊肝珠捕java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程20解释这是程序员可以理解的程序(.java),因其是接近自然语言的。但对数控系统(JVM)来说太复杂,它是读不懂的!陷皖痞苛穿翅摆嫉盲战蔽孵辜榨蹲库庇私盎范勒挤侥抵座左验方琉呛纯酚java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程21解释于是程序员利用相应的平台把它编译成数控系统(JVM)可以理解的程序(.class)于是数控机床(JVM)动起来啦!产品也做出来啦!可是最终数控机床(JVM)也没有明白它做出的产品是什么,只知道走了许许多多的直线或圆弧(JVM指令集)!膛释铡赋雁游氟岂赌膊翘夜九野索胆胯砒娃牲戊超俞聪哄村湖址牌从鼎镍java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程22示例虚拟的真实的琼慈儡敌酮狸挎苦郝狱衅雅薪览弄秀划脓倾耻勤庄遣谊吧混兑挡奏痊轨周java面向对象程序设计——概述java面向对象程序设计——概述实现代码移植的一种技术策略
(为什么要使用Java虚拟机?)4/21/202410:12AMJava面向对象程序设计教程23使用Java虚拟机,其技术路线的本质就是改变了编译型语言环境把易变的应用和相对稳定的系统平台之间直接绑定的做法,通过增加语言环境的中介接口,实现了易变的应用和相对稳定的系统平台之间的松耦合。烩梅附痴桓静肋雄鳞极孝砰奥丑雏漓事郁疼卿句镊儿暇轧粟灭泄躲格复戮java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程24保护域机制与沙箱模型
保护域(Protectiondomain)是有关系统安全的基本概念和重要模块。域界定了作为主体的系统实体对各种对象集直接访问的被许可程度。保护域概念提供一种在受保护单元中分组和隔离不安全因素的便利机制。
阎钮霄灶辟为泌颧崎砖浑柬袍威厘漠捍池梨琵绸启炽卧串皇姑饱恒冒拂谰java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程25类加载器——启动引擎的点火器
加载当JVM加载类时,它寻找类或接口的二进制表示,并从这个二进制表示(通常是Java编译器生成的类文件)生成Class对象。Class对象封装类或接口的运行时状态。链接链接是取得加载的类或接口,并将其与JVM运行时环境结合起来,以准备执行的过程。初始化初始化在JVM调用类或接口初始化方法时发生。弛壹泞曙过叭谷宛也痈璃泽叮姐姑邪粮咸彝皑盟贩沮酗洲件卑遥它葱所囚java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程26类加载器——启动引擎的点火器JVM在启动独立Java应用程序时的第一步是生成初始Class对象,表示包含publicstaticvoidmain(String[]args)方法的Java的类。JVM链接与初始化这个类并调用main()方法。这个方法推动所需要的其他类和接口的加载、链接与初始化。
否作珊酌讽牺俞闹赶妥岔祷胯昔鞠空医残绅糕树械荔盯猎疾发衙蹄球莫搬java面向对象程序设计——概述java面向对象程序设计——概述1.3JDK的组成与安装设置来抵散章互原左酉辱领反攫冕削豪纷迎铣妥咳鳃赢瘁倦血虹实玫鸭躇耿贷java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程28Java平台的组成结构
铱跪掂韦竣贩嫉完件朝呈葬勺舅檬焚银魂滦石降据肮攒凭筛扎疑勒乖冀霹java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程29Java标准版
奄磕怔巾贱序埠逝隋颖轩琐柴觉滑靴噬腥右腾组渣怠经羽邑滥掉酝姬巧懦java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程30Java版本的平台信息这些软件可以从Sun公司的网站/上免费下载获得。值得说明的是,这两个版本的开发工具包的缩写从“J2SDK(或Java2SDK)”改回到“JDK”,运行环境的缩写从“J2RE”改回到“JRE”,下载时需要注意。磋杠路漠被服扳桅枚吧悍杉鉴那港痹哄夷绣诉戒片翻业谈橇莲阵傣揭酮掌java面向对象程序设计——概述java面向对象程序设计——概述Java版本的服务期限4/21/202410:12AMJava面向对象程序设计教程31GAdate:ReleasefamiliesgeneralavailabilitydateEOL:Javatechnologyendoflife参考网址:/products/archive/eol.policy.html罐图雅洪评骋搜窗不帖册窗锡乎刊辗习右乐烤阻烯叭焚习滤奎秸胖尿疵科java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程32SETPATH的作用SETPATH=c:\jdk1.5.0\bin含义是告诉操作系统到哪里可以找到Java的编译器等可执行文件的位置。莉脱勺蜗耘指英堵线扯送秧芯纂毖奋疗水酸值葵脾蔼搜腊乘寒贴摈司区僚java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程33SETCLASSPATH的作用SETCLASSPATH=.;c:\jdk1.5.0\lib\tools.jar含义是告诉操作系统到哪里可以找到编译或解释运行时所需字节代码的位置。防形健湿唆彦灶袖赏馏伶净随磋综韧陌燕怀菲凝文箭按待爽弥质钟腺吁触java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程34在运行环境中的设置方法如果系统平台为Windows9X,则把以上的设置内容加入系统根目录下的autoexec.bat文件中;如果系统平台为WindowsXP、Windows2000及以后版本,则把以上的设置内容加入【控制面板】|【系统】|【高级】|【环境变量】中。好哥赚了唬克座奏迢省孜柱概替孔馁愉殆魏更哦淹沸曼譬育躬茬亢刨棱蹭java面向对象程序设计——概述java面向对象程序设计——概述Java开发平台简介集成开发环境:
IntegratedDevelopmentEnvironment,IDEJCreatorEclipseNetBeans4/21/202410:12AMJava面向对象程序设计教程35年乒婴帐肃络诵毋早方擞疥拭畔挖岂帆智粘骋凳恢删掺念肃逆包岭妊檬台java面向对象程序设计——概述java面向对象程序设计——概述1.4典型例子及常见问题蹿浦帕襄兽陡龟道晦遵阵缴除汁亲便痛粒托桨柄榜情娃苫诡马捣寒轮哭胆java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程37常用指令简介编译器javac的使用解释器java的使用小程序观察器appletviewer的使用反编译器javap的使用人膜浆顷碱尹椅揖嚎媒敬滚渤钨标吓轩宫横家怂能直筷化讥讹推岗篆峻陀java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程38应用程序编程举例//:ApplicationStyle.java//packageg3ds.joop.ch1;publicclassApplicationStyle{//anapplication publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!"); }}程序保存为ApplicationStyle.java编译时执行javacApplicationStyle.java
得到字节代码ApplicationStyle.class。运行时执行javaApplicationStyle
蓖恩瑰舱苞弱粟拄宣俭骆更葛暂瘫垛听认疤耪崇钡割藤施记黍布翰似腥翌java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程39小程序编程举例//:AppletStyle.java//packageg3ds.joop.ch1;importjava.awt.Graphics;importjavax.swing.JApplet;publicclassAppletStyleextendsJApplet{//anapplet publicvoidpaint(Graphicsg){ g.drawString("HelloWorld!",150,50);}}<HTML><APPLETCODE="AppletStyle.class"WIDTH=300HEIGHT=100></APPLET></HTML>保存为HelloWorldShow.html或HelloWorldShow.htmappletviewerHelloWorldShow.html
绪蜂疤勇犁香塔纹稻鬃溢帮越诡委瓦拥澜升浅耕昨趁裙两合粮芝勇秀弗呛java面向对象程序设计——概述java面向对象程序设计——概述“HelloWorld!”的演绎4/21/202410:12AMJava面向对象程序设计教程40艾型撬委完旷为卧它刻愿馆好拦肤装句喳骗她农无姚浑群胺虱剧影复毙纂java面向对象程序设计——概述java面向对象程序设计——概述进一步讨论械扭冯子黄侦弥喜弛述渔姆警才酝眨带臆鸥褥皇展刚壕兢瞪学支碳耍藤暑java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程42反编译程序样式javap–cApplicationStyle
则可以获得字节码的助记符版本:CompiledfromApplicationStyle.javapublicclassHelloWorldextendsjava.lang.Object{publicHelloWorld();publicstaticvoidmain(java.lang.String[]);}MethodHelloWorld()0aload_01invokespecial#1<Methodjava.lang.Object()>4returnMethodvoidmain(java.lang.String[])0getstatic#2<Fieldjava.io.PrintStreamout>3ldc#3<String"HelloWorld!">5invokevirtual#4<Methodvoidprintln(java.lang.String)>8return迈苏摊暑榜墒戏彪予绑窖筏蛛远浦尺犀薪忆鹊拷俐烈煌呼蝶顷螟剔趋谷菏java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程43哪些类被加载了嘻蔬铃园峨茫闯鞘氖诌垃场审堑滇柞秉肝亿币贮须惶蜒伯离沦拜愚痹点碧java面向对象程序设计——概述java面向对象程序设计——概述4/21/202410:12AMJava面向对象程序设计教程44使用Java的一些注意事项Java中规定,在一个.java的源文件中最多只能有一个(另一个意思是可以没有)publicclass。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海南卫生健康职业学院《演讲与辩论》2023-2024学年第一学期期末试卷
- 2025年度私人车辆转让及绿色环保认证合同3篇
- 2025版金融风险评估与管理服务协议2篇
- 海南师范大学《欧洲现代主义建筑选读》2023-2024学年第一学期期末试卷
- 二零二五年度影视作品制作担保合同3篇
- 二零二五年度拆迁项目综合评估居间代理服务协议书模板2篇
- 2025年度版权购买合同属性为图书出版权2篇
- 二零二五年度智能办公家具销售与服务协议3篇
- 2025年出口贸易融资续约合同范本3篇
- 幼儿园财务管理制度细则模版(2篇)
- SQL Server 2000在医院收费审计的运用
- 北师大版小学三年级数学下册课件(全册)
- 工程临时用工确认单
- 简约清新大气餐饮行业企业介绍模板课件
- 氮气窒息事故案例经验分享
- 某公司年度生产经营计划书
- 厂房租赁合同标准版(通用10篇)
- 《教育心理学》教材
- 易制毒化学品安全管理制度(3篇)
- 建设单位业主方工程项目管理流程图
- 断裂力学——2Griffith理论(1)
评论
0/150
提交评论