当前位置: 首页 > news >正文

深圳大学-Java程序设计-选实验1 基础知识练习

实验目的与要求

    实验目的:掌握Java程序设计开发环境的搭建,编写简单Java Project,掌握编译、运行等基本步骤和命令。

实验要求:

(1).下载、安装"Java SE Development Kit 20.0.2"最新的版本,需要进行系统环境变量的设置,之后进行简单的测试以示安装成功。每一步操作请在报告中附上截图(至少包括一个全屏截图,其他截图可以不用全屏)和文字说明。(15分)

(2).下载、安装"Eclipse IDE for Java Developers"(2023-06版本),并进行JRE/JDK的设置。每一步操作请在报告中附上截图(至少包括一个全屏截图,其他截图可以不用全屏)和文字说明。(15分)

(3).将第一章讲义(JavaPD-Ch01)中的三个应用程序在Eclipse中运行。每一步操作(例如,新建类、编写代码、运行程序等)请在报告中附上截图(至少包括一个全屏截图,其他截图可以不用全屏)和文字说明。(30分)

(4).浏览JDK 20 Documentation - Home,关于Overview, Tools, Language and Libraries, Specifications, Security, HotSpot Virtual Machine, Manage and Troubleshoot, Client Technologies版块中的每一个超链接,用一句话(自己的话)进行描述。(20分)

报告写作。要求:主要思路有明确的说明,重点代码有详细的注释,行文逻辑清晰可读性强,报告整体写作较为专业。(20分)

说明:

(1)本次实验课作业满分为100分,占总成绩的比例(待定)。

(3)报告正文:请在指定位置填写,本次实验不需要单独提交源程序文件

(4)个人信息:WORD文件名中的“姓名”、“学号”,请改为你的姓名学号;实验报告的首页,请准确填写“学院”、“专业”、“报告人”、“学号”、“班级”、“实验报告提交时间”等信息

(5)提交方式:截至时间前,请在Blackboard平台中提交。

(6)发现抄袭(包括复制&粘贴整句话、整张图),抄袭者和被抄袭者成绩记零分

(8)期末考试阶段补交无效。

  1. .下载、安装"Java SE Development Kit 20.0.2"最新的版本,需要进行系统环境变量的设置,之后进行简单的测试以示安装成功。每一步操作请在报告中附上截图(至少包括一个全屏截图,其他截图可以不用全屏)和文字说明。(15分)

1)下载JDK20.0.2

2)打开高级系统设置,选择“高级”中的环境变量,

  1. 设置:找到path ,点击编辑,将安装好的jdk目录加入,将它添加进path环境变量路径。并新建JAVA_HOME设为C:\Program Files\Java\jdk-16.0.2
  2. 新建CLASSPATH系统变量后添加C:\Program Files\Java\jdk-20\bin\bin

    此时环境变量已经设置完成。

  3. 4)测试:通过在window的字符界面,验证在任何目录下输入java编译器命令都能执行且输入java -version可查看版本信息。

  4. (2).下载、安装"Eclipse IDE for Java Developers"(2023-06版本),并进行JRE/JDK的设置。每一步操作请在报告中附上截图(至少包括一个全屏截图,其他截图可以不用全屏)和文字说明。(15分)

    1)下载

2)安装Eclipse IDE for Java Developers

3)安装完成并进行JDK设置后,成功打开

(3).将第一章讲义(JavaPD-Ch01)中的三个应用程序在Eclipse中运行。每一步操作(例如,新建类、编写代码、运行程序等)请在报告中附上截图(至少包括一个全屏截图,其他截图可以不用全屏)和文字说明。(30分)

2)新建类(并命名)

3)新建类后左侧显示:

4)编程输出:右击项目,单击“Run As”,选择Java Application

5)同理,新建类后编程输出,得到另外两个应用程序运行结果:

(4).浏览https://docs.oracle.com/en/java/javase/20/,关于Overview, Tools, Language and Libraries, Specifications, Security, HotSpot Virtual Machine, Manage and Troubleshoot, Client Technologies版块中的每一个超链接,用一句简短的话(自己的话)进行描述。(20分)

Overview

  1. Read Me:JDK是用JAVA来构建应用程序和组件的开发环境
  2. Release Notes:最好保持JDK是最新版本
  3. What's New:JDK 20 提供了一些新功能和增强功能,同时也是对规范的更改
  4. Migration Guide:完成JDK版本迁移需要了解最新支持的平台和操作系统版本,并参阅迁移指南。
  5. Download the JDK:JDK 20是Java SE平台的最新版本,而JDK 17 LTS是Java SE平台的最新长期支持版本
  6. Installation Guide:JDK支持安装在Windows Linux 和macOS平台上
  7. Version-String Format:版本命名格式由四个版本号组成,分别为针对每个功能版本递增的版本号、每个临时版本递增的版本号、针对更新版本递增的版本号、为了修复问题而发布紧急补丁从而增加的版本号。

Tools

  1. JDK Tool Specifications:JDK使用规范分为所有平台通用和仅限Windows
  2. JShell User's Guide:JShell是一个可以来学习Java的交互型工具,我们可以用它来输入一个程序元素并立即查看结果,根据需求进行调整。
  3. JavaDoc Guide:它可以将Java源文件和类文件读取为一种称作doclet的形式
  4. Packaging Tool User Guide:jpackage可以将模块化和非模块化Java应用程序生成可安装的包,用来安装和启动应用程序。

Language and Libraries

  1. Language Updates:每次版本的语言更新都在不断完善Java的使用
  2. Core Libraries:Java的核心库由JDK的许多类组成
  3. JDK HTTP Client:该客户端在JDK 9中作为孵化AOI添加,在JDK 10中更新,后来在Java 11中标准化。
  4. Java Tutorials:这里为各种人群如初学者、专业人士都提供了相应学习路径
  5. Modular JDK:该模块系统功能强大,可以大幅提高Java SE平台实现的安全性和可维护性。
  6. Flight Recorder API Programmer’s Guide:使用该API可以进行更全面的应用程序监控,还可以更详细地分析应用程序,此外还能创建自己的事件、记录数据以及查看解析记录。
  7. Internationalization Guide:Java平台基于Unicode标准,提供了一组丰富的API,使文本、数字、日期、货币等能适应任何国家或地区的惯例。

Specifications

  1. API Documentation:孵化是一种将非最终形态的API或工具交到开发人员手中的一种方法
  2. Language and VM:Java为每一主要版本制定了语言和虚拟机规范,目前最新的是2023年3 月的Java SE 20版
  3. Java Security Standard Algorithm Names:这里Java列出了一组安全标准算法名称
  4. JAR:本质上是一个zip文件,可用于将多个文件聚合为一个。
  5. Java Native Interface (JNI) :可以将 JNI 与调用 API结合使用,使任意本机应用程序能够嵌入 Java VM,例如将现有的应用程序直接支持 Java,而无需链接 VM 源代码。
  6. JVM Tool Interface (JVM TI) :JVM TI 是开发和监视工具使用的编程接口
  7. Serialization:表示足以重建对象的对象状态,是以序列化形式存储和检索对象的关键。
  8. Java Debug Wire Protocol (JDWP) :JDWP的存在可以让同一个调试器,在同一台计算机上的不同进程中或在远程计算机上工作
  9. Documentation Comment Specification for the Standard Doclet:指定了 JDK 20 中工具的标准 doclet 所识别的文档注释的形式,用于为 API 生成 HTML 文档。
  10. Other specifications:包括Java语言规范、虚拟机规范、Java开发工具包版本20工具规范。

Security

  1. Secure Coding Guidelines:语言系统的选择会影响程序的稳健性,而Java 语言和虚拟机提供了许多功能,来减少常见的编程错误。
  2. Security Guide:JDK 的设计非常注重安全性。从本质上讲,Java 语言本身是类型安全的。

HotSpot Virtual Machine

  1. Java Virtual Machine Guide:在早期版本中,通常用作客户端、服务器和嵌入式系统的配置支持 JVM 的不同实现。由于现在大多数系统都可以利用服务器 VM,因此在后续版本中仅提供 VM 实现。
  2. Garbage Collection Tuning:垃圾收集器的是为了将应用程序开发人员从手动动态内存管理中解放出来。从而开发人员无需将分配与释放相匹配,并密切关注分配的动态内存的生命周期。

Manage and Troubleshoot

  1. Troubleshooting Guide:提供Java故障排除技术如指南、诊断工具等
  2. Monitoring and Management Guide:Java SE 平台包括重要的监视和管理功能。这些功能分为四大类:Java虚拟机检测、监控和管理API、监控和管理工具、Java管理扩展技术
  3. JMX Guide:JMX 技术是动态,我们可以使用它来监视和管理资源的创建、安装和实施。

Client Technologies

  1. Java Accessibility Guide:JFC 简化了 Internet、Intranet 和桌面应用程序的部署。 JAAPI 便于创建残疾人可以访问的 Java 应用程序,提供辅助技术如屏幕阅读器、屏幕放大器、语音识别系统和可刷新盲文显示器。

++++++++++++++++++++++++++++++++++++++++++++++++++++++

其他(例如感想、建议等等)。

反思:

我下载并配置了Java开发环境,并熟悉了该开发环境中的常用操作,比如如何创建项目、新建类、如何在Java中运行程序等等,总体难度较小,花时间和心思查阅一下资料同时上手操作熟悉便就做完。

不过在安装遇到个问题:下载、安装"Eclipse IDE for Java Developers"后,打开失败,并显示如下:

后来通过询问老师以及上网查阅资料,我发现可能是设置路径时出错,导致Eclipse找不到Java虚拟机。通过重新设置,最终成功打开。

相关文章:

深圳大学-Java程序设计-选实验1 基础知识练习

实验目的与要求: 实验目的:掌握Java程序设计开发环境的搭建,编写简单Java Project,掌握编译、运行等基本步骤和命令。 实验要求: (1).下载、安装"Java SE Development Kit 20.0.2"最新的版本,需…...

第 33 章 Ajax

第 33 章 Ajax 1.XMLHttpRequest 2.GET 与 POST 3.封装 Ajax 2005 年 Jesse James Garrett 发表了一篇文章,标题为:“Ajax:A new Approach to Web Applications”。他在这篇文章里介绍了一种技术,用他的话说,就叫&…...

LeetCode 209 Minimum Size Subarray Sum 题目解析和python代码

题目: Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarray, return 0 instead. Example 1: Input: target 7, nu…...

C# 入坑JAVA 潜规则 注解 列表 listMch,该列表存储了一个映射(Map)的集合 等 入门系列3

java 项目结构 文件说明 潜规则 java入门-CSDN博客 C# 入坑JAVA 潜规则 大小写敏感文件名和类名 枚举等 入门系列2-CSDN博客 java注解 好像和C# 特性 差不多 Data Builder NoArgsConstructor AllArgsConstructor 在Java中,Data、Builder、NoArgsConstructor和Al…...

2024年9月个人工作生活总结

本文为 2024年9月工作生活总结。 研发编码 vuepress构建的几个问题 某vuepress项目,是我在3年多以前自行构想自行着手搞的,主要用于将一些常用的数据文件(markdown样式)渲染成html网页文件,在自建服务程序里开启访问…...

JVM有哪些参数以及如何使用

JVM(Java虚拟机)参数用于调整和优化Java应用程序的性能和行为。这些参数主要分为标准参数、非标准参数(以-X开头)和高级参数(以-XX开头)。以下是一些常见的JVM参数及其使用方法: 标准参数 -se…...

STM32编码器接口解析及抗噪声措施探讨

1. 引言 在现代控制系统中,编码器扮演着非常重要的角色。它就像一个精密的测量工具,可以告诉我们机械部件的位置和运动状态。在STM32微控制器中,编码器接口可以轻松地与各种编码器连接,实现精确的控制。我将在这里探讨STM32编码器…...

微软发布Windows 11 2024更新,新型Copilot+ AI PC功能亮相

前言 微软在Windows 11的2024更新中加强了对人工智能的应用,推出了新功能Copilot。 此次更新的版本号为26100.1742,Copilot将首先在Windows Insider中推出,计划于11月向特定设备和市场推广,用户需开启“尽快获取最新更新”选项以…...

鹏哥C语言68-70---位操作符+单目操作符+关系操作符

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <time.h> //--------------------------------------------------------------------------------------------------------4.位操作符 // &----按&#xff08;2进制…...

showdoc二次开发

showdoc用的vue版本老&#xff0c;需要安装老版本nodejs&#xff0c;比如node 14.21.3 win32-x64-93_binding.node问题 https://github.com/sass/node-sass/releases 下载 web_src\node_modules\node-sass\vendor\win32-x64-93 下面重命名为binding.node 代理到php后端&…...

力扣16~20题

题16&#xff08;中等&#xff09;&#xff1a; 思路&#xff1a; 双指针法&#xff0c;和15题差不多&#xff0c;就是要排除了&#xff0c;如果total<target则排除了更小的&#xff08;left右移&#xff09;&#xff0c;如果total>target则排除了更大的&#xff08;rig…...

Pikachu-Sql-Inject -基于boolian的盲注

基于boolean的盲注: 1、没有报错信息显示&#xff1b; 2、不管是正确的输入&#xff0c;还是错误的输入&#xff0c;都只显示两种情况&#xff0c;true or false&#xff1b; 3、在正确的输入下&#xff0c;输入and 1 1/and 1 2发现可以判断&#xff1b; 布尔盲注常用函数&…...

最后30天,你的系统集成项目管理工程师备考进度到哪儿了?

十一长假归来好&#xff01; 此次归来之后&#xff0c;2024年下半年软考倒计时就从4字头切换到了3字头&#xff0c;今天距离考试还有32天&#xff01; 那么问题来了&#xff0c;临近考试还有30天左右的时候&#xff0c;你的备考进度到哪里了呢&#xff1f; 其实无论目前你的实际…...

网络安全事件的发生,主要原因是什么

网络安全事件的发生&#xff0c;主要原因涉及多个方面&#xff0c;包括技术漏洞、人为因素、经济利益驱动、恶意软件和病毒威胁、社会工程学攻击、内部人员恶意行为、供应链安全问题以及法律法规的不完善等。以下是对这些原因的详细分析&#xff1a; 技术漏洞&#xff1a; 软件…...

【leetcode】274.H指数

为了方便&#xff0c;将 citations 记为 cs。 所谓的 h 指数是指一个具体的数值&#xff0c;该数值为“最大”的满足「至少发表了 x 篇论文&#xff0c;且每篇论文至少被引用 x 次」定义的合法数&#xff0c;重点是“最大”。 用题面的实例 1 来举个 &#x1f330;&#xff0…...

1.Python 引入(字面量、注释、变量、数据类型、数据类型转换、标识符、运算符、字符串扩展)

一、字面量 1、基本介绍 在代码中&#xff0c;被写直接下来的、不需要通过变量存储的值&#xff0c;称之为字面量 2、常用值类型 类型说明数字&#xff08;Number&#xff09;整数&#xff08;int&#xff09;&#xff0c;例如&#xff1a;10、-10浮点数&#xff08;float&…...

【AI知识点】梯度消失(Vanishing Gradient)和梯度爆炸(Exploding Gradient)

梯度消失&#xff08;Vanishing Gradient&#xff09; 和梯度爆炸&#xff08;Exploding Gradient&#xff09; 是神经网络训练中的常见问题&#xff0c;特别是在深层神经网络&#xff08;DNN&#xff09;或递归神经网络&#xff08;RNN&#xff09;中。这两者主要与反向传播算…...

在 ArkTS 网络请求中,重新封装一下 http 模块

在ArkTS中&#xff0c;重新封装http模块可以提供一个更简洁、更易于使用的API&#xff0c;同时隐藏底层细节&#xff0c;使开发者能够更专注于业务逻辑。以下是一个简单的示例&#xff0c;展示了如何重新封装鸿蒙系统的kit.NetworkKit中的http模块&#xff1a; // 创建一个新的…...

Microsoft 更新 Copilot AI,未來將能使用語音並看到你瀏覽的網頁

不過受到 Recall 事件的影響&#xff0c;更新的推出將更緩慢謹慎。 Microsoft 也同步對其網頁版及行動版的 Copilot AI 進行大改版。這主要是為網頁版換上了一個較為簡單乾淨的介面&#xff0c;並增加了一些新的功能&#xff0c;像是 Copilot Voice 能讓你與 AI 助手進行對話式…...

系统架构设计师-论文题(2021年下半年)

1.试题一 论面向方面的编程技术及其应用针对应用开发所面临的规模不断扩大、复杂度不断提升的问题&#xff0c;面向方面的编程Aspect Oriented Programming,AOP技术提供了一种有效的程序开发方法。为了理解和完成一个复杂的程序&#xff0c;通常要把程序进行功能划分和封装。一…...

selenium的webdriver常用方法和属性介绍(2)

selenium的webdriver介绍 从selenium导入webdriver模块&#xff0c;在pycharm中跳转webdriver模块的__init__.py文件&#xff0c;内容如图所示&#xff1a;从selenium包的子目录中导入了很多模块并做了重命名&#xff0c;用于支持如下 Chrome/Edge/Ie/Firefox/Safari浏览器。 使…...

73.【C语言】C/C++的内存区域划分

目录 1.内存里的几个区域 2.示意图 3.解释 1.内存里的几个区域 除了耳熟能详的栈区,堆区,静态区,还有内核空间,内存映射段,数据段,代码段 2.示意图 3.解释 栈区(stack area):局部变量,函数参数,返回数据,返回地址 内存映射段:将文件映射到内存 映射的含义: 如果看过李忠…...

k8s 中存储之 hostPath 卷

目录 1 hostPath 卷介绍 2 hostPath 卷实际应用操作 2.1 创建 pod 资源类型 2.2 修改清单文件增加 hostPath 对应的参数配置 2.3 查看是否创建 卷 和 pod 2.4 创建发布文件测试是否正常访问 1 hostPath 卷介绍 EmptyDir中数据不会被持久化&#xff0c;它会随着Pod的结束而销…...

Cherno游戏引擎笔记(73~90)

------- scene viewport ---------- 》》》》做了两件事&#xff1a;设置视口和设置相机比例 》》》》为什么要设置 m_ViewportSize 为 glm::vec2 而不是 ImVec2 ? 因为后面需要进行 ! 运算&#xff0c;而 ImVec2 没有这个运算符的定义&#xff0c;只有 glm::vec2 有这个运算…...

helm 测试卸载或删除(redis)

作者&#xff1a;程序那点事儿 日期&#xff1a;2024/02/07 18:30 查看redis 集群实例 kubectl get all -n redis 卸载集群实例 helm uninstall redis -n redis 删除pvc kubectl get pvc -n redis kubectl delete pvc redis-data-redis-master-0 redis-data-redis-replicas…...

关于Qt音乐播放器进度条拖拽无用的问题解决方案

在使用Qt编写音乐播放器的时候&#xff0c;进度条关联播放音乐基本是必须的。那么在设计的过程中你可能会碰到一个奇怪的问题就是拖拽进度条的时候&#xff0c;可能会报错如下&#xff1a; 然后音乐就卡着不动了。。。 connect(ui->volume_toolButton,&VolumeToolBtn::…...

Redis:初识Redis

Redis&#xff1a;初识Redis Redis 介绍分布式架构Redis特性安装Redis Redis 介绍 在官网中&#xff0c;是如下介绍Redis的&#xff1a; in-memory data store used by millions of developers as a cache, vector database, document database, streaming engine, and messag…...

【React】增量传输与渲染

增量传输 增量传输是一种高效的文件传输方式&#xff0c;其核心原理在于只传输文件中发生变化的部分&#xff0c;而不是整个文件。以下是增量传输的详细解析&#xff1a; 定义与原理&#xff1a; 增量传输通过比对原始文件和目标文件&#xff0c;找出两者之间的差异部分&#…...

【回眸】Tessy 单元测试软件使用指南(四)常见报错及解决方案与批量初始化的经验

前言 分析时Tessy的报错 1.fatal error: Tricore/Compilers/Compilers.h: No such file or directory 2.error: #error "Compiler unsupported" 3.warning: invalid suffix on literal;C11 requires a space between literal and string macro 4.error: unknown…...

2024 - 10 :生物药学: 如何获取对应核心靶点基因的激酶

如何获取对应核心靶点基因的激酶 步骤 1&#xff1a;收集蛋白质信息 获取 UniProt ID&#xff1a; 对于每个基因&#xff0c;使用 UniProt 数据库获取其对应的蛋白质信息&#xff0c;包括 UniProt ID、序列和功能注释。UniProt 网站&#xff1a;https://www.uniprot.org/ 示…...