项目 | 内容 |
---|---|
课程班级博客链接 | 19级信计班 |
这个作业要求链接 | 实验一 |
我的课程学习目标 | 学习Markdown排版 |
任务1:在博客园平台注册个人博客账号和加入班级博客
注册了博客园的个人账号,提交了博客申请,申请审核通过后加入了班级博客。
任务2:构建之法与博客首秀
修改博客园博客默认编辑器,在博客撰写中练习 MarkDown。
任务3:回答课本P18第2、4小题。
2.Java的特征有哪些?简述这些特征的含义。
答:Java语言的特征包括:简单(Simple)、面向对象(Object oriented)、分布式(Distributed)、解释型(Interpreted)、健壮(Robust)、安全(Secure)、体系结构中立(Architecture neutral)、可移植(Portable)、高性能(High performance)、多线程(Multithreaded)和动态(Dynamic)
简单性:Java语言语法和语义都比较单纯,容易学习和使用。另外,去掉C++中的指针,取消多重继承和运算符重载,内存管理由程序员移向Java内嵌的自动内存回收机制等
面向对象:作为一种面向对象的编程语言,Java不仅最为“纯洁”,也对面向对象方法学的支持也最为全面。Java的对象有模块化性质和信息隐藏能力,满足面向对象的封装要求,同时支持继承和多态。
分布式:Java支持的分布式计算包括两种层次:一是数据分布,即应用系统所操作的数据可以分散存储在不同的网络节点上,可以通过Java的URL类访问。二是操作分布,即应用系统的计算可通过嵌在WWW页面中的Applet(小应用程序),分布到不同的网络节点完成。
半编译,半解释:采用编译器对程序进行编译,但编译得到的是一种中性的字节码,并不是本机代码,而字节码的执行采取解释执行方式。该特征,提高了Java 的可移植性,并使得Java语言兼具编译执行的效率优势和解释执行的灵活性。
健壮性:Java提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。通过集成的面向对象的例外处理机制,帮助程序员正确地进行选择以防止系统的崩溃。另外,Java是一种强类型语言,程序编译时要经过严格的类型检查,防止程序运行时出现类型不匹配等问题。
安全性:Java在语言和运行环境中引入了多级安全措施,其采用的主要安全机制有:内存分配及布局由Java 运行系统规定。运行系统执行基于数字签名技术的代码认证、字节码验证与代码访问权限控制的安全控制模型。
体系结构中立:Java为了做到结构中立,除了上面提到的编译生成机器无关的字节码外,还制定了完整统一的语言文本。为了使Java 的应用程序能不依赖于底层具体的系统,Java 语言环境还提供了一个用于访问底层操作系统功能的可扩展类库,当程序使用这些库时,可以确保它能运行在支持Java 的各种平台上。
可移植性:Java的最大特点是“一次编程,处处运行”。任何机器只要配备了Java解释器,便可运行Java程序。这种可移植性源于两方面:一是Java的半编译、半解释特征;另一方面是Java体系结构中立,采用标准的独立于硬件平台的数据类型。
高性能:Java语言的字节码与机器码十分接近,使得字节码到机器码的转换十分快捷。另外,Java还提供了即时编译技术,提高了Java应用的运行速度。
多线程:Java的特点是在语言级嵌入了多线程机制,支持程序的并发处理功能。从程序的角度看,一个线程就是应用程序中的一个执行流。Java 将临界区保护规则等集成到语言中实现线程同步,使这些规则的使用更加方便有效。
动态特性:Java程序的基本组成单元是类,而Java的类又是运行时动态装载的,这使将Java可以动态地维护应用程序及其支持类之间的一致性。
4.Java运行系统由哪些部分组成?Java程序运行过程是怎样的?
答:Java运行系统一般包括以下几部分:类装配器、字节码验证器、解释器、代码生成器和运行支持库。
Java运行系统运行的是字节码即.class文件。执行字节码的过程可分为三步:
(1) 代码的装入
由类装配器装入程序运行时需要的所有代码,其中包括程序代码中调用到的所有类。当装入了运行程序需要的所有类后,运行系统便可以确定整个可执行程序的内存布局。
(2) 代码的验证
由字节码检验器进行安全检查,以确保代码不违反Java的安全性规则,同时字节码验证器还可发现操作数栈溢出、非法数据类型转化等多种错误。
(3) 代码的执行
Java字节码的运行可以有两种方式:即时编译(Just-In-Time)方式和解释执行方式。