项目 内容
课程班级博客链接 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)方式和解释执行方式。

1903021126-申文骏 实验一 19信计java-Markdown排版的更多相关文章

  1. 1903021121-刘明伟 实验一 19信计JAVA—Markdown排版学习

    项目 内容 班级博客链接 19信计班(本) 作业要求链接 实验一 课程学习目标 学习使用Markdown排版 这个作业帮助我们实现了什么学习目标 学会使用Markdown排版 任务一:在博客园平台注册 ...

  2. 2018-2019-2 20175126谢文航 实验二《Java面向对象程序设计》实验报告

    一.实验报告封面 课程:Java程序设计 班级:1751 班 姓名:谢文航 学号:20175126 指导教师:娄嘉鹏 实验日期:2019年4月17日 实验时间:--- 实验序号:实验二 实验名称:Ja ...

  3. 2018-2019-2 20175126谢文航 实验一《Java开发环境的熟悉》实验报告

    一.实验报告封面 课程:Java程序设计 班级:1751班 姓名:谢文航 学号:20175126 指导教师:娄嘉鹏 实验日期:2019年3月28日 实验时间:--- 实验序号:实验一 实验名称:Jav ...

  4. 2018-2019-2 20175126谢文航 实验三《敏捷开发与XP实践》实验报告

    一.实验报告封面 课程:Java程序设计 班级:1751 班 姓名:谢文航 学号:20175126 指导教师:娄嘉鹏 实验日期:2019年5月2日 实验时间:--- 实验序号:实验三 实验名称:敏捷开 ...

  5. 2018-2019-2 20175306实验二面向对象程序设计《Java开发环境的熟悉》实验报告

    2018-2019-2 20175306实验二面向对象程序设计<Java开发环境的熟悉>实验报告 面向对象程序设计-1 实验要求: 参考:> http://www.cnblogs.c ...

  6. 2018-2019-20175205实验二面向对象程序设计《Java开发环境的熟悉》实验报告

    2018-2019-20175205实验二面向对象程序设计<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>< ...

  7. #2019-2020-4 实验二面向对象程序设计《Java开发环境的熟悉》实验报告

    2019-2020-4 实验二面向对象程序设计<Java开发环境的熟悉>实验报告 一.面向对象程序设计-1 ①实验要求: 1.参考 http://www.cnblogs.com/roced ...

  8. 利用阿里大于实现发送短信(JAVA版)

    本文是我自己的亲身实践得来,喜欢的朋 友别忘了点个赞哦! 最近整理了一下利用阿里大于短信平台来实现发送短信功能. 闲话不多说,直接开始吧. 首先,要明白利用大于发送短信这件事是由两部分组成: 一.在阿 ...

  9. 20135119_涂文斌 实验三 敏捷开发与XP实践

    北京电子科技学院(BESTI) 实  验  报  告 课程: Java        班级:1351           姓名:涂文斌          学号:20135119 成绩:         ...

  10. 20135119_涂文斌 实验二 Java面向对象程序设计

    北京电子科技学院(BESTI) 实  验  报  告 课程: Java        班级:1351           姓名:涂文斌          学号:20135119 成绩:         ...

随机推荐

  1. SwiftUI笔记

    @Published 标记对象定义的属性变更可以被监听,当对应字段变化时会触发对象 objectWillChange 通知,订阅了该属性的View也会收到值改变的通知 /// A type that ...

  2. 【离线数仓环境搭建】安装linux及安装JDK

    创建新的虚拟机 配置网络 安装vim sudo yum install -y vim 修改免密 sudo vim /etc/sudoers (执行安装命令的时候,不再需要输入密码) 查看防火墙状态 s ...

  3. jQuery 中 remove删除了某个div 再添加回来

    用下面的例子吧删除之前先保存dom<div id="div1"><div id="div2"></div></div& ...

  4. java中post发送json格式数据

    /** * 发送post请求 * @param URL 数据发送地址 * @param json json格式数据内容 * @param headParams 请求头内容 * @return 请求结果 ...

  5. docker-compose 文件

    安装 curl -L https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s` ...

  6. yaml 文件的读取写

    yaml 是一种数据格式, 它可以和json数据相互转化 . 自动化测试中一般用于做配置文件或是测试用例. 数据的组成, 两种格式: 1. 字典 2. 列表 Eg. config.yaml serve ...

  7. logstash输出到MySQL

    1.安装插件/bin/logstash-plugin install logstash-output-jdbc 2.下载jdbc  https://mvnrepository.com/artifact ...

  8. 关于Java的惰性求值

    最近在学scala的时候,函数传参可以是传名参数,或者传值参数 1.Scala中的传名参数是什么意思?lazy关键字有什么作用? Scala官方文档的定义是:传名参数 仅在被使用时触发实际参数的求值运 ...

  9. Python用telnet设置,抓UDP抓采样点并显示

    ====main.bat==== echo off rem "d:\Program\WiresharkPortable64\App\Wireshark\tshark.exe" -- ...

  10. 如何在 Visual Studio 中自定义 Docker 容器 和 使用 Docker Compose 为 Visual Studio 创建多容器应用

    https://learn.microsoft.com/zh-cn/visualstudio/containers/container-build?WT.mc_id=visualstudio_cont ...