Java程序设计概述

摘要:一九九六年Java第①回发布就挑起了人人的广大关心。本文简要地介绍一下Java语言的前行历史。

         第3章
Java程序设计概述
1.1
Java程序设计平台
 具有令人心情舒畅女士的语法和易于精晓的语言,与别的许多理想语言一样,Java满足那么些要求.
 可移植性
 垃圾收集
 提供大型的库
  假若想要有奇妙的绘图功效,互联网连接效用和数据仓库储存取功用无需本人入手工编织写代码
 功效齐全的可观语言
 高质量的施行环境,提供巨大的库。集四种优势于一身
 注:
  白皮书:www.oracle.com/technetwork/java/langenv-140151.html
  十一个重庆大学术语的论述:http://horstmann/corejava/java-an-overview/7Gosling.pdf

一 、Java程序设计平台

1.2 Java “白皮书”
的重庆大学术语
  1)简单性   2)面向对象  3)分布式  4)健壮性  5)安全性
  6)种类布局中立  7)可移植性  8)解释性  9)高质量  10)多线程 11)多态性
 1.2.1 简单性
  无需深奥的专业培养和锻炼就能够拓展的编制程序系统,并且符合现行的标准惯例
  尽大概地类似C++,以便系统更易于通晓 Java剔除了C++四川中国广播公司大很少用,难以领会,易混淆的特点(那个特色带来的麻烦远远多于其带来的裨益)
  匡助支付能够在小型计算机械上独立运转的软件(基本的解释器以及类援救大概仅为40KB)
  再添加基础的行业内部类库和对线程的补助(基本上是四个自包蕴的微内核)大致须要充实175KB
  由于绵绵的扩展,类库已经万分庞大
   以后有2个单身的有所较小类库的Java微型版(Java Micro
Edition),那么些版本适用于嵌入式设备
 1.2.2 面向对象
  面向对象设计是一种程序设计技术  它将根本放在数据(即对象)和指标的接口上
   面向对象:始终关怀的是所创建的椅子,第几人才是所使用的工具;
   非面向对象:首先考虑的是所用的工具
  在精神上,Java的面向对象能力与C++是同样的  旗鼓相当
  Java与C++的最首要分裂点在于多重继承,在Java中,取而代之的是更简便易行的接口概念
  Java提供了更丰裕的运行时自省空间
 1.2.3 分布式
  Java有三个拉长的例程库,用于拍卖像HTTP和FTP之类的TCP/IP协议
  Java应用程序能够因此U奥迪Q3L打开和做客互联网上的对象,其方便人民群众程度就像访问当三步跳件一律
 1.2.4 健壮性
  具有多地方的可信性
  Java与C++最大的两样在于Java接纳的指针模型能够裁撤重写内部存款和储蓄器和毁损数据的恐怕
  Java编写翻译器能够检查和测试许多在别的语言中仅运维时才能够检测出来的题材
 1.2.5
安全性 相对安全,凡事无相对
  适用于互连网/分布式环境
  能够创设防病毒,防篡改的系统
  防患各类攻击:
    运转时堆栈溢出。如蠕虫和病毒常用的攻拍手段
    破坏团结的经过空间之外的内部存款和储蓄器
    未经授权读写文件
  Java代码不论来自何地,都不能够脱离沙箱
   不可相信代码在2个沙箱中履行,在那边它不会潜移默化主系统
  安全模型很复杂
   Java浏览器插件不信任远程代码,除非代码有数字签名而且用户同意实施这几个代码
 1.2.6
体系布局中立
  很简单地在其它机器上表明施行
  能够动态地翻译成本地机器代码
  Java虚拟机优点:
   能够检查和测试指令类别的行事,从而进步安全性
 1.2.7 可移植性
  Java规范中并未 “以来现实贯彻” 的地点
  基本数据类型的大大小小以及有关运算都做了显明的声明
  在Java中,数据类型具有定位的轻重,那化解了代码移植时让人头疼的主要难题
  二进制数据以稳住的格式举行仓库储存和传导,消除了字节顺序的烦扰
   int为世代的三十八人的整数
   字符串是用规范的Unicode格式储存的
  作为系统组成都部队分的类库,定义了可移植的接口
  Java库很好地支撑平台独立性
   处理文件,正则表达式,XML,日期和时间,数据库,互连网连接,线程等
  不仅先后是可移植的,Java API往往也比原生API品质更高
 1.2.8 解释型
  java虚拟机能够在任何安装了jre的环境中运营
  Java解释器能够在其他移植了然释器的机械上举办Java字节码
  链接是叁个增量式且轻量级的进度(开发进度变得愈加飞快,越发具有开拓性)
 1.2.9 高性能
  越发高效的质量
  字节码能够(在运维时刻)动态地翻译成对应那几个利用的一定CPU的机器码 即时编写翻译器可以监察和控制日常进行代码,并且优化那些代码以升高速度。更为复杂的优化是驱除函数调用(即
“内联”) 知道什么样类已经加载 基于当下加载的类集,要是一定函数不会被覆盖,就能够利用内联 (要求时,还足以裁撤优化)
 1.2.10 多线程
  四线程能够带来更好的并行响应和实时行为
  并发性 穆尔定律 更加多的微处理器
  第③个扶助并发程序设计的主流语言
  java提供接口,操作接口以便操作系统四个计算机
 1.2.11 动态性
  库中得以自由地添加新点子和实例变量(对客户端却不曾其余影响)
  可随机找到运维时类型音信(12分粗略)
  10分关键的特性
  引入主流程序设计语言中
  注:
   J++ Java 有大约如出一辙的编制程序语言以及虚拟机
   C# Java 有很多相似之处,但是使用的却是完全两样的虚拟机
1.3 Java
applet与Internet
 从Internet下载Java字节码,并在友好机器上运维(在网页上运营的Java程序成为applet)
  动态: 利用鼠标举办旋转,调焦等操作
 applet:http://jmol.sourceforge.net
 “近日,要在浏览器中动用applet,不仅须要自然的水准,而且要提交努力”
1.4 Java的发展史
 语言只是完毕指标的工具,而不是指标自个儿  –Gosling
 Oak –> Java
 万维网 关键 把超文本页面转换成显示屏上的浏览器
 一处编写,四处运营 

Java是一种名牌产品特产产品新品优质产品精的次第设计语言。一旦一种语言使用于有个别世界,与现存代码的包容性难点就摆在了人人的近期。那就招致Java在进步之初没有那么完美无瑕,不过,Java的上进是频频追求升高与周详的历程。在率先次公布时,Java的问世引起了产业界的高大关心,举个忠实的板栗,当时关怀Java的人物不仅限于总结机出版界,还有诸如《London时报》《华盛顿邮报》《商业周刊》那样的主流媒体。

                       Java语言的上扬情况

Java是个一整机的阳台,有三个庞然大物的库,个中饱含了无数的代码和二个提供诸如安全性、跨操作系统的可移植性以及活动垃圾手提式无线电话机等劳务的进行环境。

 版本

作为一名先后设计职员,很愿意能有一种语言,它的语法易于掌握、可操作性强,Java满意那么些供给的。Java有着功能齐全的美妙语言,和高质量的履行环境,还提供了天翻地覆的库。这个就是它的魔力所在。

 年份

② 、探索Java的神奇所在

 语言天性

1.简单性

 类与接口数量

Java剔除了C++中许多很少使用、难以知晓、易混淆的特点。相当于,Java是C++语法的3个“纯净”版本。那里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等。当然,Java并没有完全退出掉与C++语法上的共同性。比如,switch语句的语法在Java中就从不变动。

 1.0

除此以外,Java的简单性还映将来,Java的对象之一是帮忙开发能够在小型总计机械上单独运营软件。基本的解释器以及类帮衬大概仅为40KB;再添加基础标准类库和对线程的支持(基本上是三个团结饱含的微内核)大约需求充实175KB。

 1996

在当下,那早正是远大的敏捷了。近期,由于绵绵的增加,库类已经相当巨大了。以往有五个独自的具有较小库类的Java微型版(Java
Micro 艾德ition),这一个版本适用于嵌入式设备。

 语言自身

2.面向对象

 211

面向对象设计是一种程序设计技术。它将根本放在数据(即对象)和对象的接口上。

 1.1

3.分布式

 1997 

Java有二个抬高的例程序,用于拍卖像HTTP和FTP之类的TCP/IP协议。Java应用程序能够由此U牧马人L打开访问网络上的对象,其操作性就好像访问当麻芋果件那么粗略。

 内部类 

(补充多少个名词解释:1.Sandboxie:即沙箱或沙盘,是一个虚构系统程序,允许你在模板环境中运营浏览器或其余程序,由此y运行时所发生的变型能够跟着删除它。其为单身的虚拟环境,能够用测试不受信任的应用程序或上网行为。2.Visual
Basic:是由微软公司开发的结构化模版化的、面向对象的,包蕴开发条件的事件驱动为编写制定的可视化程序设计语言。)

 477

4.健壮性

 1.2

Java编写翻译器能够检查和测试出过多别样语言中仅在运作时才能够检查和测试出来的题材。Java和C++最大的比不上在于Java采纳的指针模型能够防除重写内部存款和储蓄器和毁损数据的可能性。

 1998

5.安全性

 strictfp修饰符

Java适用于网络/分布式环境。从一起首,Java就统一筹划可避防止各样攻击:

 1524

1)运营时推栈溢出。

  1.3

2)破坏团结的历程空间之外的内部存款和储蓄器。

 2000

3)未经授权读写文件。

 无 

早期,Java开发包(Java Development
Kit,JDK)的第②本子问世不久,就被察觉存在bug,也反复被黑客攻击。为修复bug,sun以及随后的Oracle公司走过了很难堪的时日。Java浏览器插件不再信任远程代码,除非代码有数字签名而且用户同意实施那段代码。

 1840

6.系统布局中立

 1.4

编写翻译器生成贰个系统布局中立的靶子文件格式,那是一种编写翻译进度的代码,只要有Java运营时系统,这么些编写翻译后的代码能够在诸多电脑上运转。

 2002

7.可移植性

 断言

与C和C++区别,Java规范中尚无“看重具体完成”的地点。其基本数据类型的深浅以及有关运算都做了强烈的表达。Java库能够很好的支撑平台独立性。你能够拍卖文件、正侧表明式、XML、日期和岁月、数据库、网络链接、线程等,而并非顾虑底层操作系统。

 2723

8.解释型

  5.0

Java解释器能够在其余移植了然释器的机器上执行Java字节码。由于链接是3个增量式且轻量级的经过,使得开发环境越发方便人民群众。

 2004

9.高性能

 泛型类,”for eath”循环,可变元参数, 自动装箱,元数据,枚举,静态导入

Java更高品质的展现,字节码能够(在运营时刻)动态地翻译称对应运作那个利用的特定CPU的机器码。

 3279

10.多线程

 6

十二线程能够更好的竞相相应和实时行动。

 2006 

例如,在并发程序设计那块。Java在出版之初,当时,多核处理器还很神秘,而WEB编程才刚好启航,处理器要花不短日子等待服务器响应,必要并发程序设计来保险用户界面不会被“冻住”。Java在那上头表现优良,在立即就能很好的处理此事。

 无

11.动态性

 3793

Java比C或C++更具动态性。它亦可适应不断升华的环境。库中能够自有的添加心方法和实例变量,而对客户端不会有影响。

 7

三、Java applet与Internet

 2011 

在网页中运作的Java程序名为applet。有使用applet,必要运行Java的Web浏览器执行字节码。在Adobe的Flash技术变得流行时,Java遭到了深重的汉中题材,浏览器和Java浏览器插件变得限制愈多。近日,要在浏览器中选用applet,是有一定的难度的。

 基于字符串的switch,钻石操作符,二进制字面量,很是处理革新

四 、Java发展历史

 4024

1.Java言语的前身:Oak(橡树)

 8

2.Java言语的本子:

 2014

-JavaSE:(java2 Stardard
艾德ition)标准版,定位客户端,首要用于桌面程序的支出

   lambda表明式,蕴含,私下认可方法的接口,流和日期/时间库

-JavaME:(java2 Micro
艾德ition)微型版,首要用来嵌入式系统开发。(今后,不怎么用了!)

 4240

-JavaEE:(Java2 Enterprise
艾德ition)公司版,定位在服务端,主要用于分布式系统,一些重型的电子商务系统的支出。

1.5
关于Java的广泛误解
 1.Java是HTML的扩展?
  Java是一种程序设计语言;HTML是一种描述网页结构的主意。除了用于在网页上停放Java
applet的HTML扩充之外,两者没有其余共同之处。
 2.用到XML,所以不必要Java?
  Java是一种程序设计语言;
  XML是一种描述数据的点子。
  能够行使其它一种程序设计语言处理XML数据,而Java
API对XML处理提供了很好的支撑。
  其余,许多至关心器重要的第2方XML工具采取Java编写。
 3.Java是一种万分不难学习的顺序设计语言?
  像Java那种效用强大的语言大都不太容命理术数习。 首先,必须将编辑玩具式程序的轻松和开发实际项指标勤奋区分开来。 Java类库包括了数千种类和接口以及数万个函数。幸运的是,并不须要知道它们中的每三个,然则,要想Java消除实际难题,还是需求精晓很多内容的。
 4.Java将变成适用于拥有平台的通用性编制程序语言?
  从理论上讲,那是一心有只怕的。
  但在实际中,有个别圈子别的语言有更尽善尽美的变现,比如,Objective
C和新生的斯维夫特在iOS设备上就有所无可取代的地点。 浏览器中的处理大致全盘由JavaScript掌握控制。
  Windows程序常常都用C++或C#编写。
  Java在劳动器端编程和跨平台湾旅客户端应用领域则很有优势。
5.Java只可是是别的一种程序设计语言?
  Java是一种很好的先后设计语言,很多先后设计职员喜欢Java胜过C、C++或C#。有
  上百种好的程序设计语言没有大规模地盛行,而带有强烈缺陷的语言,如:C++和Visual
Basic却风靡。
  程序设计语言的成功更多地在于其帮衬种类的力量,而不是美观的语法。
  人们根本关切:
   是不是提供了不难落到实处有个别意义的易用、便捷和标准的库?
   是不是有开发工具提供商能建立强有力的编制程序和调剂环境?
   语言和工具集是还是不是能够与此外计量基础框架结构整合在协同?
  Java的成功来源于其类库能够让芸芸众生轻轻松松地成功原本有必然难度的业务。
   例如: 联网Web应用和产出。Java收缩了指针错误,那是七个分外的好处,因而利用Java编制程序的作用更高。但那些并不是Java成功的任何缘由。
 6.Java是专用的,应该制止选取?
  最初创立Java时,Sun为销售者和最后用户提供了免费许可。 就算Sun对Java拥有最后的控制权,可是在语言版本的不停进步和新库的布置性过程中还论及诸多别的公司。 虚拟机和类库的源代码能够防费获得,可是仅限于查看,而不可能修改和再发表。
  Java是“闭源的,可是能够很好地动用”。  
  依照GPL,任何人都能够得到专利许可,允许其使用和改动Java,但是仅限于桌面和服务器平台。
  如若你想在嵌入式系统中选取Java,就必要其余多少个不一的批准,那很或然须要付费。
  不过,这个专利在未来十年就会到期,那时Java就完全免费了。
 7.Java是解释型的,因而对此第二的应用程序速度太慢了?
  以往Java虚拟机使用了立时编写翻译器,由此使用Java编写的“热点”代码其运转速度与C++相差无几,有个别情况下仍然更快。
  昨天的电脑速度远比人们发出抱怨的时候快了无数。
  2个较慢的Java程序与几年前一定快的C++程序相比还要快一些。
ca88手机版登录网页, 8.全体的Java程序都以在网页中运维的?
  全部的Java applet皆以在网页浏览器中运作的。
  那也恰好是applet的定义,即一种在浏览器中运作的Java程序。
  大多数Java程序是运作在Web浏览器之外的单身应用程序。
  实际上,很多Java程序都在Web服务器上运维并转移用于网页的代码。
 9.Java程序是关键的平安风险?
  就算距离Java诞生已经20年之久,与此外常用的施行平台相比,Java仍然高枕无忧得多。
 10.JavaScript是Java的简易版?
  JavaScript是一种在网页中应用的脚本语言,它是由Netscape发明的,原来的名字称为LiveScript
  JavaScript的语法类似Java,除此而外,两者无其余涉及。
  JavaScript的3个子集已经正式化为ECMA-262。
  与Java applet相比较,JavaScript更连贯地与浏览器集成在共同。
  尤其是JavaScript程序可以修勘误在展现的文书档案,而applet只幸亏简单的区域内决定外观。
 11.应用Java能够用廉价的Internet设备代替桌面电脑
  当Java刚刚宣布的时候,一些人打赌:肯定会有这么的好工作产生。一些供销合作社曾经生产出Java网络总结机的原型,可是用户还不打算舍弃功效强大而方便的桌面电脑,而去行使没有地点存款和储蓄而且意义有限的互联网设施。当然,如今世界已经发生变更,对于大部分最终用户,常用的阳台往往是手提式有线电话机或平板总结机。那些设施大多采纳安卓平台,那是Java的衍生产物。学习Java编制程序肯定也对Android编制程序很有辅助。

2017-05-27 14:11:27

 

 

 

 

~~★房上的猫★~~

相关文章

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图