Java语言的12大特色

Java语言的12大特色,第1张

1Java是简单的

Java与C++极为相似,但却简单得多。高级编程语言的所有特性中,不是绝对需要的都已删去了。例如,Java没有算符过载、标题文件、预处理、指针运算、结构、联合、多维数组、模板及隐式类型变换。如果你知道一点C、C++或Pascal,你很快就会驾驭Java这里是一个简单的 JavaHelloWorld程序

publicclassHelloInternet{publicstaticvoidmain(Stringargv[]){Systemoutprintln(“HelloIn-ternet!”)}}

2Java是面向对象的

Java是一种面向对象的编程语言。除了简单的类型,如数字和布尔算子之外,Java中的大部分都是对象。

正如任何面向对象的语言一样,Java代码也按类组织。每个类定义一组规定对象行为的方法。一个类可以继承另一个类的行为。在类的根层次上,通常是类对象。

Java支持单继承类层次结构。这就是说,每个类一次只能继承一个别的类。有些语言允许多继承性,但这可能造成混乱,使语言不必要地复杂化。例如,难以想像,一个对象会继承两个完全不同的类的行为。

Java还支持摘要类的接口。这允许编程人员先定义接口的方法,而不必急于马上确定方法的实现。一个类可以施行多个接口,从而具有真正多继承性的许多优点。一个对象也可实施任意数量的接口。Java接口与IDL接口极其相似。很容易建立IDLJ编译器。这就是说,Java可用于CORBA对象系统来建立分布式对象系统。鉴于在许多计算机系统中都采用IDL接口和CORBA对象系统,这种兼容性是重要的。

3Java是静态类型的

在一个Java程序中,必须定义所用对象(数字、字符、数组等)的类型。这有助于编程人员很快发现问题,因为当程序编译时可以检测类型错误。

不过,Java系统中的对象也有动态类型。要求一个对象为动态类型往往是可能的,所以编程人员写的程序可以对不同类型的对象做不同的事。

4Java是编译型的

当运行Java程序时,它首先被编译成字节代码。字节代码非常类似于机器指令,所以Java程序非常高效。然而,字节代码并不专对一种特定的机器,所以Java程序无需重新编译便可在众多不同的计算机上执行。

Java源程序被编译成类文件,它相当于程序的字节代码表现。在一个Java类文件中,所有对方法及实例变量的参照均按名进行,并在第一次执行代码时加以分辨。这使得代码更通用,更不易受修改的影响,而仍具高效。

5Java是体系结构中立的

Java语言对每种计算机都一样。比如,简单的类型都是不变的:整数总是32位,长整数总是64位。令人奇怪的是,诸如C及C++等时髦的编程语言却不是这样。由于这些语言定义如此自由,每种编译器及开发环境便各有不同了,这使程序的移植成为讨厌的问题。Java程序的移植却很容易,而且不需要进行重新编译。

6Java是健全的

Java程序不可能造成计算机崩溃。Java系统仔细检测对内存的每次访问,确认它是合法的,而且不致引起任何问题。

不过,即使Java程序也可能有错误。如果出现某种出乎意料之事,程序不会崩溃,而把该例外抛弃。程序会发现这类例外,并加以处理。

传统的程序可以访问计算机的全部内存。程序可能(无意识地)修改内存中的任何值,这就会造成问题。Java程序只能访问内存中允许它们访问的那些部分,所以Java程序不可能修改不拟修改的值。

7Java是小巧的

由于Java的设计是要在小的计算机上运行,作为一种编程语言来说其系统是相对较小的。它能有效地在4MB以上RAM的PC机上运行。Java翻译器只占用几百KB这种翻译器对Java的平台无关性和可移植性是可靠的。

由于Java很小,它对内存很小的计算机,如基于Java的PC机,以及电视机、烤箱、电话机及家用计算机等,是很理想的。

8Java是多线程的

Java程序可以执行一个以上的线程。比如,它可以在一个线程中完成某一耗时的计算,而其它线程与用户进行交互对话。所以用户不必停止工作,等待Java程序完成耗时的计算。

在多线程环境中的编程通常是困难的,因为许多东西可能同时出现。但是,Java提供了易于使用的同步特性,使编程更为方便。

Java线程通常被映射为实际的 *** 作系统线程,只要底层 *** 作系统支持这种映射。因此,用Java写的应用程序可说是“MP热”。这就是说,如果它们在多处理器机器上运行,它们更将表现不凡。

9Java是可收集无用的存储单元的

用C及C++写软件的编程人员必须仔细跟踪所用的内存块。当一个块不再使用时,他们务必让程序释放它,从而方可再用。在大的项目中,这可能很困难,并往往成为出错和内存不足的根源。

在Java的情况下,编程人员不必为内存管理 *** 心。Java系统有一个叫做“无用单元收集器”的内置程序,它扫描内存,并自动释放那些不再使用的内存块。

10Java是快速的

Java比典型的脚本语言大为有效,但它比C慢20倍。这对大多数应用是可接受的。

不久的将来,代码生成器就可供利用了,这将使Java程序几近于用C或C++编写的程序那么快。

11Java是安全的

Java程序没有指针,而且象这样的字节代码程序强在类型上,所以在执行之前它可能验证Java程序。被验证的Java程序得以保证不突破Java语言的任何限制,而且可以安全地执行。Java字节代码验证被Web浏览器用来确保小程序不含病毒。

12Java是可扩展的

Java程序可与用其它语言编写的现存程序库连接。由于Java数据结构与C的数据结构的类型极为相似,这是相当方便的。的问题在于,现有多线程程序库为数不多。

Java程序可以声明某些方法是内部的,然后,把这些内部方法映射成软件库所定义的功能,从而动态地链接到虚拟机。

Java程序的运行机制可以分为以下几个步骤:

编写Java源代码:首先,程序员需要使用Java编程语言编写源代码。Java源代码是以java为扩展名的文本文件,包含了Java程序的逻辑和功能。

编译Java源代码:Java源代码需要通过Java编译器进行编译,生成字节码文件。字节码文件是以class为扩展名的二进制文件,包含了Java程序的指令、变量和方法。

解释执行字节码文件:Java虚拟机(JVM)负责解释执行字节码文件。JVM是一个虚拟的计算机,它模拟了实际计算机的硬件和 *** 作系统,能够运行字节码文件。

类加载:当Java程序被执行时,JVM会根据需要动态加载所需的类。Java类库和自定义类都会被加载到内存中。

执行Java程序:JVM会按照程序的逻辑和功能执行Java程序。程序员可以在程序中使用Java类库和自定义类提供的方法和变量。

垃圾回收:JVM还负责垃圾回收,它会自动回收不再使用的内存空间,防止程序出现内存泄漏等问题。

总的来说,Java程序的运行机制可以概括为:编写源代码 -> 编译生成字节码文件 -> 解释执行字节码文件 -> 加载所需类 -> 执行Java程序 -> 垃圾回收。

d

abcd

c

d

ad

a

ad

a

ad

cd

b

1.Sun公司提供的Java开发工具包共有三类:其中用于工作站和个人计算机的标准开发工具包称为____;主要应用于企业级开发的工具包称为

_____;主要用于开发智能消费型电子产品(如移动电话和汽车导航系统等)的工具包称为___

J2SE,J2EE,J2ME

2.Java程序可分为两种基本的类型,分别是____和_____

应用程序和小应用程序

3.Java语言通过____机制简化了程序的内存管理。

垃圾回收

4.Java提供的两个日期类:____和____。

Calendar,Date

5.String类和StringBuffer类都被定义为____,不能有子类。

final

6.建立Java 2 SDK 150开发环境,一般需要设置环境变量:___和____

path,classpath

7.在Java程序中,每一行____之后的内容是程序的注释,另外介于____和____之间的内容也是注释。

//,/,/

8.任何一个Java程序都默认引入了一个包,这个包的名字是_____。

javalang

9.类Applet含有五个基本的方法。在小应用程序执行的生命周期中,当小应用程序在第一次被加载时,Applet成员方法____会被调用;当浏

览器离开小应用程序所在的网页时,Applet成员方法____会被调用。

init(),destory()

10.HTML网页文件通常以______开头,以_____结尾。介于______和_____之间的内容将显示为网页的头部。网页标题由______和_____界定。

位于____和_____之间的内容是网页的正文。将小应用程序嵌入到网页的关键字是______

<html>,</html>,<head>,</head>,<title>,</title>,<body>,</body>,<applet >,

11.如果一个Java程序既是应用程序,又是小应用程序,那么它必定含有类____的子类,同时含有成员方法______

Applet,init()

12. 当声音文件被载入后,就可以使用AudioClip类中的相关方法对其进行 *** 作,这些方法包括:____、____和____。

play(),stop(),loop()

13. 设有一个Java应用程序,其源程序文件名为J_Testjava,则编译该源程序的命令为_____,运行该应用程序的命令为_____

javac J_Testjava,java J_Test

14.编写小应用程序一般需要编写两种类型的文件,它们分别是_____和_____

java文件,html文件

15. 面向对象的计算机语言一般应具有的3个基本特性为:___ ____ _____

封装,抽象,多态

16. 接口中定义的常量默认具有_____ ____ _____的属性

public,static,final,

接口中定义的方法默认具有_____ ____ _____的属性

public,abstract,final,

17.构成菜单三个基本要素是____、____和____。

Menu,MenuBar,MenuItem,

18 数组对象的长度在数组对象创建之后,就____改变,数组元素的下标总是从____开始。

不可以,0

已知数组a的定义是int a[]={1,2,3,4,5};则a[2]=____。已知数组b的定义是int b[]=new int [5];则b[2]=_____; 已知数组c的定义是

Object c[]=new Object[5];则c[2]=____。

3,0,null

在Java语言中,字符串常量是用____括起来的字符序列,字符串不是字符数组,而是类_____的实例对象。

"",String

22 接口ActionListener的方法actionPerformed的返回值类型是____

void

23 接口MouseMotionListener的方法mouseDragged的参数类型是_____

MouseEvent

要重新绘制组件,通常不直接调用update或paint方法,而是通过调用方法_____通知系统重新绘制组件。

repaint()

问题补充:

27 类Vector添加元素的方法是______,移走元素的方法______,访问指定位置处的方法是______;类Stack中可实现入栈的方法是_____,实

现出栈的方法是______

add(Object obj),remove(int i),get(i),push(Object obj),pop(int i)

28.Java语言中,有一个类是所有类或接口的父类,这个类的名称是_____。

Object

29.Java语言是_____年由____公司第一次正式公布的,James Gosling被誉为Java之父。

1990,Sun

30. 在一个合法的Java源程序文件中定义了3个类,则其中属性为public的类可能有______个。

1

31.编译一个定义了两个类和三个方法的Java源文件,总共会产生_____个字节码文件,这些字节码文件的扩展名是_______

2,class

32.Java标识符是由字母、____、_____和_____组成,其中_____不能放在开头

下划线,数字,符号,数字

33.Java字符采用的是ISO规定的____字符。

Unicode

36.请列举出三类容器:_____ _____ _____

Vector,Stack,Map

37.请列举出三种没有事件适配器的事件监听器接口______ _____ _____

38.在Java语言中,____是用来包装常用的鼠标事件的类;_____是用来包装鼠标移动事件的;_____是用来包装按钮事件的类;______是用

常用菜单项事件的类。

MouseAdapter,MouseMotionAdapter,ActionEvent,

Java是一种跨平台的 解释型语言 Java 源代码编译中间 字节码 存储于class文件中 Class文件是一种字节码形式的中间代码 该字节码中包括了很多源代码的信息 例如变量名 方法名等 因此 Java中间代码的反编译就变得非常容易 目前市场上有许多免费的 商用的反编译软件 都能够生成高质量的反编译后的源代码 所以 对开发人员来说 如何保护Java程序就变成了一个非常重要的挑战 本文首先讨论了保护Java程序的基本方法 然后对代码混淆问题进行深入研究 最后结合一个实际的应用程序 分析如何在实践中保护Java程序 反编译成为保护Java程序的最大挑战 通常C C++等编程语言开发的程序都被编译成目标代码 这些目标代码都是本机器的二进制可执行代码 通常所有的源文件被编译 链接成一个可执行文件 在这些可执行文件中 编译器删除了程序中的变量名称 方法名称等信息 这些信息往往是由内存地址表示 例如如果需要使用一个变量 往往是通过这个变量的地址来访问的 因此 反编译这些本地的目标代码就是非常困难的 Java语言的出现 使得反编译变得非常容易而有效 原因如下 由于跨平台的需求 Java的指令集比较简单而通用 较容易得出程序的语义信息 Java编译器将每一个类编译成一个单独的文件 这也简化了反编译的工作 Java 的Class文件中 仍然保留所有的方法名称 变量名称 并且通过这些名称来访问变量和方法 这些符号往往带有许多语义信息 由于Java程序自身的特点 对于不经过处理的Java程序反编译的效果非常好 目前 市场上有许多Java的反编译工具 有免费的 也有商业使用的 还有的是开放源代码的 这些工具的反编译速度和效果都非常不错 好的反编译软件 能够反编译出非常接近源代码的程序 因此 通过反编译器 黑客能够对这些程序进行更改 或者复用其中的程序 因此 如何保护Java程序不被反编译 是非常重要的一个问题 常用的保护技术 由于Java字节码的抽象级别较高 因此它们较容易被反编译 本节介绍了几种常用的方法 用于保护Java字节码不被反编译 通常 这些方法不能够绝对防止程序被反编译 而是加大反编译的难度而已 因为这些方法都有自己的使用环境和弱点 隔离Java程序 最简单的方法就是让用户不能够访问到Java Class程序 这种方法是最根本的方法 具体实现有多种方式 例如 开发人员可以将关键的Java Class放在服务器端 客户端通过访问服务器的相关接口来获得服务 而不是直接访问Class文件 这样黑客就没有办法反编译Class文件 目前 通过接口提供服务的标准和协议也越来越多 例如 >

以上就是关于Java语言的12大特色全部的内容,包括:Java语言的12大特色、Java程序的运行机制是怎么样的、急求《Java语言》题目答案!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10106275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存