html网站开发心得体会,中国菲律宾足球,软件开发文档管理规范,天元建设集团有限公司企业简介目录 一、抽丝剥茧话Java1.1 当前大学生就业形势1.2 IT互联网是否依旧靠谱1.3 IT行业岗位分析1.4 软件开发之Java开发1.5 到底多少人在用Java 二、计算机的硬件与软件2.1 计算机组成#xff1a;硬件软件2.2 CPU、内存与硬盘2.3 输入设备#xff1a;键盘输入 三、软件相关介绍… 目录 一、抽丝剥茧话Java1.1 当前大学生就业形势1.2 IT互联网是否依旧靠谱1.3 IT行业岗位分析1.4 软件开发之Java开发1.5 到底多少人在用Java 二、计算机的硬件与软件2.1 计算机组成硬件软件2.2 CPU、内存与硬盘2.3 输入设备键盘输入 三、软件相关介绍3.1 什么是软件3.2 人机交互方式3.3 常用的DOS命令 四、计算机编程语言4.1 计算机语言是什么4.2 计算机语言简史4.3 计算机语言排行榜4.4 编程语言该学哪个 五、Java语言概述5.1 Java概述5.2 Java语言简史5.3 Java之父5.4 公司八卦5.5 Java技术体系平台 六、Java开发环境搭建(掌握)6.1 什么是JDK、JRE6.2 JDK版本选择6.3 JDK的下载以及安装 七、开发体验HelloWorld(掌握)7.1 开发步骤7.2 编写7.3 编译7.4 运行 八、Java开发工具8.1 都有哪些开发Java的工具8.2 如何选择 九、HelloWorld案例常见错误9.1 拼写问题9.2 编译、运行路径问题9.3 语法问题9.4 字符编码问题9.5 建议 十、HelloWorld小结10.1 Java程序的结构与格式10.2 Java程序的入口10.3 两种常见的输出语句10.4 源文件名与类名 十一、注释(comment)十二、Java API文档十三、Java核心机制JVM13.1 Java语言的优缺点13.1.1 优点13.1.2 缺点 13.2 JVM功能说明13.2.1 功能1实现Java程序的跨平台性13.2.2 功能2自动内存管理(内存分配、内存回收) 一、抽丝剥茧话Java
1.1 当前大学生就业形势
麦可思研究院 发布了《2022年中国大学生就业报告》针对2021届毕业生收入较高的本科专业排行榜 麦可思研究院发布过《2021年中国大学生就业报告》应届本科毕业生就业数量较大的前十位行业类的就业质量 报告还对毕业三年后的2017届毕业生所在十大行业进行了统计 从国家统计局发布的2021年全国平均工资来看不管在城镇非私营单位还是私营单位IT业均为最高
1.2 IT互联网是否依旧靠谱
过去不能代表未来互联网是否依旧靠谱 2014 年至 2018 年间我国网民规模从 6.49 亿增长为 8.29 亿增幅为 27.5%。同一时间段全国移动互联网接入的流量却从 20.6EB 增长到了 711.1EB增幅达 3352%获取和处理的信息量大幅增加。 随着 5G 技术进一步拓宽移动互联网的速度和容量产业互联网 将在消费型流量的基础上创造生产型流量根据报告的预测至 2024 年全国移动互联网的接入流量将达到 127663.8EB 流量规模达到2018年的179.5倍。当下5G、物联网、人工智能、产业互联网都是国家政策大方向需要大量 能与机器对话 的中高端人才。
1.3 IT行业岗位分析 软件开发是进入互联网IT圈最好的选择之一
起始薪资高工作环境好涨薪幅度高行业更公平
1.4 软件开发之Java开发 移动应用领域集成Android平台Java 在 Android 端是主要开发的语言占有重要的地位。 这也是为什么我们学 Android 逆向先要学习了解 Java 的基础知识
企业级应用领域JavaEE后台用来开发企业级的应用程序大型网站如淘宝、京东、12306以及各大物流、银行、金融、社交、医疗、交通、各种 OA 系统等都是用 JavaEE 技术开发的。 大数据分析、人工智能领域流行的大数据框架如 Hadoop、Flink 都是用 Java 编写的。Spark 使用 Scala 编写但可以用 Java 开发应用。 Eversoft 公司在提到2022年 Java 发展趋势时写道 Java 是用于开发大数据项目的最主流的语言。我们可以轻松地预测它也将在之后继续主导大数据
游戏领域、桌面应用、嵌入式领域 很多大型游戏的后台、桌面应用等也是 Java 开发的。
1.5 到底多少人在用Java
2020年根据 IDC 的报告 Java Turns 25 显示超过 900 万 名开发人员(全球专职开发人员中的 69%) 在使用 Java——比其他任何语言都多。该报告指出大多数企业业务服务都依靠 Java 来实现。Java 一直是开发人员中最流行的编程语言被誉为 宇宙第一语言。我想告诉大家市场的需求比较大市场的供给比较大。如果你在 Java 领域里持续积累 5-7 年以上那么你至少会成为这个行业的一个专家!
二、计算机的硬件与软件
2.1 计算机组成硬件软件 2.2 CPU、内存与硬盘
CPUCentral Processing Unit中央处理器人靠大脑思考电脑靠 CPU 来运算、控制。 硬盘Hard Disk Drive
计算机最主要的存储设备容量大断电数据不丢失正常分类机械硬盘(HDD)、固态硬盘(SSD) 以及 混合硬盘(SSHD)固态硬盘在开机速度和程序加载速度远远高于机械硬盘缺点就是贵所有无法完全取代机械硬盘。(现在其实已经很便宜了)
内存Memory
负责硬盘上的数据与 CPU 之间数据交换处理具体的保存从硬盘读取的数据提供给 CPU 使用保存 CPU 的一些临时执行结果以便 CPU 下次使用或保存到硬盘断电后数据丢失 2.3 输入设备键盘输入
熟悉指法 不熟悉键盘的小伙伴可以 金山打字通 走起了。坚决杜绝 二指禅
三、软件相关介绍
3.1 什么是软件
软件即一系列按照 特定顺序组织 的计算机 数据 和 指令 的集合。有 系统软件 和 应用软件 之分。 Pascal 之父 Nicklaus Wirth Programs Data Structures Algorithms 系统软件 应用软件
3.2 人机交互方式
图形化界面Graphical User InterfaceGUI这种方式简单直观使用者易于接受容易上手操作。
命令行方式Command Line InterfaceCLI需要在控制台输入特定的 指令让计算机完成一些操作。需要记忆一些指令较为麻烦。
3.3 常用的DOS命令
DOSDisk Operating System磁盘操作系统是 Microsoft 公司在 Windows 之前推出的一个操作系统是单用户、单任务(即只能执行一个任务) 的操作系统。现在被 Windows 系统取代。对于IT人员来讲学习一些 DOS 命令会非常有帮助。
进入DOS操作窗口
按下 WindowsR 键盘打开运行窗口输入 cmd 回车进入到 DOS 的操作窗口。 常用指令
// 操作1进入和回退
| 操作 | 说明 |
| ------------------- | ----------------------------------- |
| 盘符名称: | 盘符切换。E:回车表示切换到E盘。 |
| dir | 列出当前目录下的文件以及文件夹 |
| cd 目录 | 进入指定单级目录。 |
| cd 目录1\目录2\\... | 进入指定多级目录。cd development_tools\Android\Sdk |
| cd .. | 回退到上一级目录。 |
| cd \ 或 cd / | 回退到盘符目录。 |
// 操作2增、删
| 操作 | 说明 |
| ------------- | -------------------------------------------------- |
| md 文件目录名 | 创建指定的文件目录。 |
| rd 文件目录名 | 删除指定的文件目录如文件目录内有数据删除失败 |
// 操作3其它
| 操作 | 说明 |
| ----------------- | -------------------- |
| cls | 清屏。 |
| exit | 退出命令提示符窗口。 |
| ← → | 移动光标 |
| ↑ ↓ | 调阅历史操作命令 |
| Delete和Backspace | 删除字符 |四、计算机编程语言
4.1 计算机语言是什么
语言是人与人之间用于沟通的一种方式。例如中国人与中国人用普通话沟通。而中国人要和英国人交流可以使用英语或普通话。
计算机编程语言就是人与计算机交流的方式。人们可以使用 编程语言 对计算机下达 命令让计算机完成人们需要的功能。计算机语言有很多种。如C 、C、Java、Go、JavaScript、PythonScala等。 体会语言 语法 逻辑 4.2 计算机语言简史
第一代机器语言相当于人类的石器时代: 1946年2月14日世界上第一台计算机 ENAC 诞生使用的是最原始的 穿孔卡片。这种卡片上使用的是用 二进制代码 表示的语言与人类语言差别极大这种语言就称为 机器语言。比如一段典型的机器码
1.0000,0000,000000010000 代表 LOAD A, 16
2.0000,0001,000000000001 代表 LOAD B, 1
3.0001,0001,000000010000 代表 STORE B, 16这种语言本质上是计算机能识别的唯一语言人类很难理解。可以大胆想象 此时的程序员99.9%都是异类 第二代汇编语言相当于人类的青铜铁器时代: 使用英文缩写的 助记符 来表示基本的操作这些助记符构成了汇编语言的基础。比如LOAD、MOVE 等使人更容易使用。因此汇编语言也称为 符号语言。优点能编写 高效率 的程序。缺点汇编语言是 面向机器的不同计算机机型特点不同因此会有不同的汇编语言彼此之间 不能通用。程序不易移植较难调试。 比起机器语言汇编大大进步了是机器语言向更高级的语言进化的 桥梁。目前仍然应用于工业电子编程领域、软件的加密解密、计算机病毒分析等。
第三代高级语言相当于人类的信息时代: 高级语言发展于20世纪50年代中叶到70年代是一种 接近于人们使用习惯 的程序设计语言。它允许程序员使用 接近日常英语 的指令来编写程序程序中的符号和算式也与 日常用的数学式子 差不多接近于自然语言和数学语言容易为人们掌握。比如 高级语言 独立于机器有一定的通用性计算机不能直接识别和执行用高级语言编写的程序需要使用编译器或者解释器转换为机器语言 才能被识别和执行。 此外高级语言按照程序设计方法的不同又分为面向过程的语言、面向对象的语言。
C、Pascal、Fortran 面向过程的语言C 面向过程/面向对象Java 跨平台的纯面向对象的语言C#、Python、JavaScript、Scala…
目前以及可预见的将来计算机语言仍然处于 第三代高级语言 阶段。但是不管是什么语言最后都要向机器语言靠近因为 CPU 只认识0和1。
4.3 计算机语言排行榜
TIOBE https://www.tiobe.com/tiobe-index/ 是一个流行编程语言排行每月更新。排名权重基于世界范围内工程师数量Google、Bing、Yahoo! 、Wikipedia、Amazon、Youtube 和百度这些主流的搜索引擎也将作为排名权重的参考指标。 计算机语言走势
4.4 编程语言该学哪个 网传的编程语言鄙视链 C语言万物之源 诞生于 1972年由 ATT 公司旗下 贝尔实验室 创建完成用于构建 Unix 操作系统。 偏向计算机底层操作操作系统、网络、硬件驱动等。 优势几乎所有现代编程语言都脱胎于C 劣势相当陡的学习曲线不支持面向对象编程 C语言难学的语言 诞生于1983年作为C语言的增强方案、升级版本。C是C语言的超集C语言的大部分知识也适用于C。 用途Windows 或 MacOS UI、office全家桶、主流的浏览器、Oracle、MySQL、著名的游戏引擎如星际争霸、魔兽世界等 优势很多公司都用 C 开发核心架构如 Google、腾讯、百度、阿里云等面向对象性 劣势体系极为庞大这是世界目前来说 最复杂 也是 最难 的编程语言。 C#语言背靠大树的语言 诞生于2000年一款强大而灵活的编程语言。靠着微软这棵大树是多年来 Windows 平台的一门主流编程语言。 用途Windows 桌面应用开发、Windows Azure、游戏开发 PHP语言最好的语言 诞生于1994年一款 服务器端脚本语言。最初表示个人主页Personal Home Page PHP语法和C类似有很多的模板和框架简单易懂也许你可以在短短几天做出 web app。它主要用于web端快速建站网络开发 劣势学习门槛太低其代码运行速度低于大部分编程语言党争对手 Python易学的语言 诞生于1991年一种面向对象的语言虽然运行效率不高但是 开发效率非常高。 Python 被称为 胶水语言哪里都可以用。 JavaScript语言前端为王 诞生于1995年网景公司开发完成。 JavaScript是JavaScript 是目前 所有主流浏览器 上唯一支持的脚本语言。在前端开发中占有不可替代的地位。 Java语言需求旺盛 创建于1995年Java是一种面向对象、基于类的编程语言。 Java可能是目前运用最广的项目语言。代码稳定性超过 C 和 C生产力远超 C 和 C。有 JVM 在可以轻松地跨平台。 具有强大的开源开发工具大量的开源共享库。 Java拥有世界上数量最多的程序员最不缺人。 Go语言夹缝中生存 Go 语言现在很受关注它是取代 C 和 C 的另一门有潜力的语言。 C 语言太原始了C 太复杂了Java 太高级了所以 Go 语言就在这个夹缝中出现了。 Go语言已成为 云计算领域 事实上的标准语言尤其是在 Docker/Kubernetes 等项目中。 Go 语言语法特别简单你有了 C 和 C 的基础学习 Go 的学习成本基本为零。 Go社区从Java社区移植了各种优秀的框架或库。 总结
程序设计语言有很多种每种语言都是为了实现某个特定的目的而发明的。没有“最好”的语言只有在特定场景下相对来说最适合的语言而已。如果你掌握了一种编程语言也会更容易上手其它的编程语言。关键是学习如何使用 程序设计方法 来解决问题。Talk is cheapShow me the code。
五、Java语言概述
5.1 Java概述
是 SUN(Stanford University Network斯坦福大学网络公司 ) 1995年 推出的一门高级编程语言。是一种面向 Internet 的编程语言。Java 一开始富有吸引力是因为 Java 程序可以在 Web浏览器 中运行。这些 Java 程序被称为 Java小程序(applet)内嵌在 HTML 代码中。伴随着互联网的迅猛发展以及 Java 技术在 Web 方面的不断成熟已经成为 Web 应用程序的首选开发语言。
5.2 Java语言简史
起步阶段 1991年Sun公司的工程师小组想要设计一种语言应用在 电视机、电话、闹钟、烤面包机 等家用电器的控制和通信。由于这些设备的 处理能力 和 内存 都很有限并且不同的厂商会选择不同的中央处理器(CPU)因此这种语言的关键是 代码短小、紧凑 且 与平台无关(即不能与任何特定的体系结构捆绑在一起)。Gosling 团队率先创造了这个语言并命名为 Oak(起名的原因是因为他非常喜欢自己办公室外的橡树)。后因智能化家电的市场需求没有预期的高Sun公司放弃了该项计划。随着20世纪90年代互联网的发展Sun公司发现该语言在互联网上应用的前景于是改造了Oak于1995年5月以Java的名称正式发布。(Java是印度尼西亚爪哇岛的英文名称因盛产咖啡而闻名) 发展阶段
发行版本发行时间备注Java 1.01996.01.23Sun公司发布了Java的第一个开发工具包Java 1.11997.02.19JavaOne会议召开创当时全球同类会议规模之最。Java 1.21998.12.08Java拆分成J2SE标准版、J2EE企业版、J2ME小型版Java 1.32000.05.08Java1.42004.02.06Java 5.02004.09.30①版本号从1.4直接更新至5.0②平台更名为JavaSE、JavaEE、JavaMEJava 6.02006.12.112009.04.20 Oracle宣布收购SUN公司2009.04.20Oracle公司收购SUN交易价格74亿美元。Java 7.02011.07.02Java 8.02014.03.18此版本是继Java 5.0以来变化最大的版本。是长期支持版本LTSJava 9.02017.09.22①此版本开始每半年更新一次②Java 9.0开始不再支持windows 32位系统Java 10.02018.03.21Java 11.02018.09.25JDK安装包取消独立JRE安装包是长期支持版本LTSJava 12.02019.03.19……Java17.02021.09发布Java 17.0版本号也称为21.9是长期支持版本。……Java19.02022.09发布Java19.0版本号也称为22.9。
5.3 Java之父 詹姆斯·高斯林(James Gosling) 先生以 Java 技术之父 而闻名于世。他是 Java 技术的创始人他亲手设计了 Java 语言并开发了 Java 编译器和 Java 虚拟机使 Java 成为了世界上最流行的开发语言。James Gosling 于1984 年加入Sun公司并一直服务于Sun公司直至2010年前后Sun被Oracle并购而加入Oracle担任客户端软件集团的首席技术官2010年4月从Oracle离职。
5.4 公司八卦
SUN 与 Oracle SUN是一家 极具创新能力 的公司2001年 “9.11”以前SUN公司市值 超过1000亿 美元。 但是没能利用 Java 构建一个强有力、可变现的生态系统没打好 Java 这张牌。此后互联网泡沫破裂硬件需求大幅减少它的市值在一个月之内跌幅超过90%。SUN公司的成长用了20年而衰落只用了1年 Oracle 与 Google Google和Oracle的侵权事件2010 年 8 月Oracle 起诉 Google 的 Android 系统侵权要求赔偿 26 亿美元。Oracle认为Google的代码中使用了Java的 37个API并且认为Google是故意为之因为这样做的好处是可以让更多的Java程序员更容易接受Android的代码。Oracle认为Android 中有9行代码直接抄袭了Java的实现。这9行牛气哄哄的代码都出自一人之手他就是Java 大牛------Joshua Bloch。2018 年 3 月美国联邦巡回上诉法院裁决谷歌侵犯了甲骨文的版权支付高达88亿美元的赔偿金。2021 年 4 月美国最高法院给出了最终裁决谷歌胜诉其代码属于“合理使用”的范畴。为期十多年的软件行业“第一版权案”落幕。 //Code In OpenJDK / Android
1. private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
2. if (fromIndex toIndex)
3. throw new IllegalArgumentException(fromIndex( fromIndex
4. ) toIndex( toIndex));
5. if (fromIndex 0)
6. throw new ArrayIndexOutOfBoundsException(fromIndex);
7. if (toIndex arrayLen)
8. throw new ArrayIndexOutOfBoundsException(toIndex);
9. }5.5 Java技术体系平台
Java SE(Java Standard Edition)标准版
支持面向 桌面级应用如Windows下的应用程序的 Java 平台即定位个人计算机的应用开发。包括用户界面接口 AWT 及 Swing网络功能与国际化、图像处理能力以及输入输出支持等。此版本以前称为 J2SE
Java EE(Java Enterprise Edition)企业版
为开发企业环境下的应用程序提供的一套解决方案即定位 在服务器端的Web应用开发。JavaEE 是 JavaSE 的扩展增加了用于服务器开发的类库。如Servlet 能够延伸服务器的功能通过请求-响应的模式来处理客户端的请求JSP 是一种可以将 Java 程序代码内嵌在网页内的技术。版本以前称为 J2EE
Java ME(Java Micro Edition)小型版
支持 Java 程序运行在 移动终端手机、机顶盒上的平台即定位在消费性电子产品的应用开发JavaME 是 JavaSE 的内伸精简了 JavaSE 的核心类库同时也提供自己的扩展类。增加了适合微小装置的类库javax.microedition.io.* 等。此版本以前称为 J2ME 注意Android 开发不等同于 Java ME 的开发
六、Java开发环境搭建(掌握)
6.1 什么是JDK、JRE
JDK (Java Development Kit)是 Java 程序开发工具包包含 JRE 和开发人员使用的工具。JRE (Java Runtime Environment) 是 Java 程序的运行时环境包含 JVM 和运行时所需要的 核心类库。如下是 Java 8.0 Platform 小结JDK JRE 开发工具集例如Javac编译工具等JRE JVM Java SE标准类库
6.2 JDK版本选择 自 Java 8 版本发布以来其后的每次更新都会有小伙伴高呼Java8 YYDS 论坛的声音你发任你发我用Java 8!”
数据说话1 JRebel 于2022年4月前后发布了《2022 年Java生态系统状况报告》报告中提到使用 Java11 的占比最多Java8 紧随其后如下图。而此前2020年的报告显示Java8 占比达到了84.48%。 我的分析G1是最受欢迎的GC算法。Java11 及更高版本的G1收集器是默认的GC而 Java8 中并不是。出于对G1的喜爱很多开发者才会选择抛弃 Java8。
数据说话2 此外某美国软件开发商在对近千名专业的Java开发者调研后发布的《2022年Java开发者生产力报告》称八年前发布的Java 8依然是Java中应用最广泛的版本占比 37%其次是 Java 11占比 29% 。
高斯林说话 Spring框架说话 在Java 17正式发布之前Java 开发框架 Spring 率先在官博宣布Spring Framework 6 和 Spring Boot 3 计划在2022年第四季度实现总体可用性的高端基线
Java 17(来自 Spring Framework 5.3.x 线中的 Java 8-17)Jakarta EE 9来自Spring框架5.3.x 线中的 Java EE 7-8
Spring 官方说明https://spring.io/blog/2022/01/20/spring-boot-3-0-0-m1-is-now-available 意味着springboot3.0 是需要用 java17 和 spring6.0 为基础建设。如果从企业选型最新 springboot3.0 作为架构来说它搭配 jdk17 肯定是标配了。
6.3 JDK的下载以及安装
2023年全网最新 Windows10 安装 JDK17以及JDK1.8https://blog.csdn.net/xw1680/article/details/133897750
七、开发体验HelloWorld(掌握)
JDK 安装完毕我们就可以开发第一个 Java 程序了习惯性的称为HelloWorld。
7.1 开发步骤
Java 程序开发三步骤编写、编译、运行。
将 Java 代码 编写 到扩展名为 .java 的源文件中通过 javac.exe 命令对该 java 文件进行 编译生成一个或多个字节码文件通过 java.exe 命令对生成的 class 文件进行 运行 7.2 编写
(1) 在 D:\JavaSE\chapter01 目录下新建文本文件完整的文件名修改为 HelloWorld.java其中文件名为HelloWorld后缀名必须为 .java。 (2) 用记事本或 editplus 等文本编辑器打开(虽然记事本也可以但是没有关键字颜色标识不利于初学者学习)
(3) 在文件中输入如下代码并且保存
class HelloChina {public static void main(String[] args) {System.out.println(HelloWorld!!);}
}友情提示1每个字母和符号必须与示例代码一模一样包括大小写在内。 友情提示2打开文件扩展名 第一个 HelloWord 源程序就编写完成了但是这个文件是程序员编写的JVM 是看不懂的也就不能运行因此我们必须将编写好的 Java源文件 编译成 JVM 可以看懂的 字节码文件 也就是 .class 文件。
7.3 编译
在 DOS 命令行中进入 D:\JavaSE\chapter01 目录使用 javac 命令进行编译。使用文件资源管理器打开 D:\JavaSE\chapter01 目录然后在地址栏输入 cmd。 命令
javac Java源文件名.java举例 javac HelloWorld.java 编译成功后命令行没有任何提示。打开 D:\JavaSE\chapter01 目录发现产生了一个新的文件 HelloChina.class该文件就是编译后的文件是 Java 的可运行文件称为 字节码文件有了字节码文件就可以运行程序了。
7.4 运行
在 DOS 命令行中在字节码文件目录下使用 java 命令进行运行。命令
java 主类名字主类是指包含 main 方法的类main 方法是 Java 程序的入口
public static void main(String[] args){
}举例 java HelloChina 八、Java开发工具
8.1 都有哪些开发Java的工具
级别一文本开发工具 级别二集成开发环境Integrated Development EnvironmentIDE把代码编写编译执行调试等多种功能综合到一起的开发工具。
8.2 如何选择
初学者前期可以先使用文本开发工具培养 代码感利于公司笔、面试。后期再使用 IDE提供 更强大的功能支持。
九、HelloWorld案例常见错误
9.1 拼写问题
单词拼写问题
正确class 错误Class
正确String 错误string
正确System 错误system
正确main 错误mian Java语言是一门严格区分大小写的语言
标点符号使用问题:不能用中文符号英文半角的标点符号正确
括号问题成对出现9.2 编译、运行路径问题
举例1源文件名不存在或者写错、当前路径错误、后缀名隐藏问题 举例2类文件名写错尤其文件名与类名不一致时要小心。类文件不在当前路径下或者不在 classpath 指定路径下
9.3 语法问题
举例1声明为 public 的类应与文件名一致否知编译失败。 举例2编译失败注意错误出现的行数再到源代码中指定位置改错
9.4 字符编码问题
当 cmd 命令行窗口的字符编码与 .java 源文件的字符编码不一致如何解决 解决方案一在 Notepad 等编辑器中修改源文件的字符编码 在 EditPlus 中可以将 Java 源文件另存为 ANSI 编码方式(中文操作系统下即为GBK字符集) 解决方案二 在使用 javac 命令式可以指定源文件的字符编码
javac -encoding utf-8 Review01.java9.5 建议
注意缩进一定要有缩进。缩进就像人得体的衣着一样只要遇到 {} 就缩进缩进的快捷键 tab 键。 必要的空格变量类型、变量、赋值符号、变量值之间填充相应空格更美观。比如 int num 10;
十、HelloWorld小结
10.1 Java程序的结构与格式
结构
类{方法{语句;}
}格式
每一级缩进一个Tab键{} 的左半部分在行尾右半部分单独一行与和它成对的 { 的行首对齐
10.2 Java程序的入口
Java 程序的入口是 main 方法
public static void main(String[] args){
}10.3 两种常见的输出语句
换行输出语句输出内容完毕后进行换行格式如下
System.out.println(输出内容);直接输出语句输出内容完毕后不做任何处理格式如下
System.out.print(输出内容);注意事项换行输出语句括号内可以什么都不写只做换行处理。直接输出语句括号内什么都不写的话编译报错。
10.4 源文件名与类名
(1) 源文件名是否必须与类名一致public 呢
如果这个类不是public那么源文件名可以和类名不一致。但是不便于代码维护。
如果这个类是public那么要求源文件名必须与类名一致。否则编译报错。
我们建议大家不管是否是public都与源文件名保持一致而且一个源文件尽量只写一个类目的是为了好维护。(2) 一个源文件中是否可以有多个类public 呢
一个源文件中可以有多个类编译后会生成多个.class字节码文件。
但是一个源文件只能有一个public的类。十一、注释(comment) 什么是注释源文件中用于解释、说明程序的文字就是注释。注释是一个程序员必须要具有的良好编程习惯。实际开发中程序员可以先将自己的 思想 通过注释整理出来再用 代码 去体现。程序员最讨厌两件事 一件是自己写代码被要求加注释 另一件是接手别人代码发现没有注释 不加注释的危害 Java 中的注释类型单行注释
//注释文字多行注释
/* 注释文字1 注释文字2注释文字3
*/文档注释 (Java 特有)
/**author 指定java程序的作者version 指定源文件的版本
*/ 注释的作用
它提升了程序的可阅读性。调试程序的重要方法。
具体使用1单行注释、多行注释。 对于单行和多行注释被注释的文字不会不会出现在字节码文件中进而不会被 JVM(java虚拟机) 解释执行。多行注释里面不允许有多行注释嵌套。一个段子
A嘿 //是什么意思啊
B嘿.
A呃 我问你//是什么意思
B问吧.
A我刚才不是问了么
B啊
A你再看看记录...
B看完了.
A......所以//是啥
B所以什么
A你存心耍我呢吧
B没有啊 你想问什么
……
不断循环之后A一气之下和B绝交自己苦学程序。
N年之后A终于修成正果回想起B又把聊天记录翻出来看这时他突然发现B没有耍他……
而他自己也不知道当年他问B的究竟是什么问题……具体使用2文档注释Java特有。 文档注释内容可以被 JDK 提供的工具 javadoc 所解析生成一套以网页文件形式体现的该程序的说明文档。操作方式。比如
javadoc -d mydoc -author -version HelloWorld.java案例
//单行注释
/*
多行注释
*/
/**
文档注释演示。这是我的第一个Java程序^_^
author AmoXiang
version 1.0
*/
public class HelloWorld{/**Java程序的入口param args main方法的命令参数*/public static void main(String[] args){System.out.println(hello);}
}十二、Java API文档
API(Application Programming Interface应用程序编程接口) 是 Java 提供的基本编程接口。Java 语言提供了大量的基础类因此 Oracle 也为这些基础类提供了相应的说明文档用于告诉开发者如何使用这些类以及这些类里包含的方法。大多数 Java 书籍中的类的介绍都要参照它来完成它是编程者经常查阅的资料。Java API 文档即为 JDK 使用说明书、帮助文档。类似于 下载API文档
在线看https://docs.oracle.com/en/java/javase/17/docs/api/index.html离线下载https://www.oracle.com/java/technologies/javase-jdk17-doc-downloads.html
十三、Java核心机制JVM
13.1 Java语言的优缺点
Java 确实是从C语言和C语言继承了许多成份甚至可以将 Java 看成是类C语言发展和衍生的产物。青出于蓝而胜于蓝
13.1.1 优点
跨平台性 这是 Java 的核心优势。Java 在最初设计时就很注重移植和跨平台性。比如Java 的 int 永远都是32位。不像C可能是1632可能是根据编译器厂商规定的变化。通过 Java 语言编写的应用程序在不同的系统平台上都可以运行。Write once , Run Anywhere。原理只要在需要运行 java 应用程序的操作系统上先安装一个 Java 虚拟机 (JVM Java Virtual Machine) 即可。由 JVM 来负责 Java 程序在该系统中的运行。 面向对象性 面向对象是一种程序设计技术非常 适合大型软件的设计和开发。面向对象编程支持封装、继承、多态等特性让程序更好达到 高内聚低耦合 的标准。
健壮性 吸收了 C/C 语言的优点但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等)提供了一个相对安全的内存管理和访问机制。
安全性高 Java 适合于网络/分布式环境需要提供一个安全机制以防恶意代码的攻击。如安全防范机制(ClassLoader类加载器)可以分配不同的命名空间以防替代本地的同名类、字节代码检查。
简单性 Java 就是 C 语法的 简化版我们也可以将Java称之为 C--。比如头文件指针运算结构联合操作符重载虚基类等。
高性能 Java 最初发展阶段总是被人诟病 性能低客观上高级语言运行效率总是低于低级语言的这个无法避免。Java 语言本身发展中通过虚拟机的优化提升了 几十倍运行效率。比如通过 JIT(JUST IN TIME) 即时编译技术提高运行效率。 Java低性能的短腿已经被完全解决了。业界发展上我们也看到很多 C 应用转到 Java 开发很多 C 程序员转型为 Java 程序员。
13.1.2 缺点
语法过于复杂、严谨对程序员的约束比较多与 python、php 等相比入门较难。但是一旦学会了就业岗位需求量大而且 薪资待遇节节攀升。一般适用于大型网站开发整个架构会比较重对于初创公司开发和维护人员的成本比较高(即薪资高)选择用 Java 语言开发网站或应用系统的需要一定的经济实力。并非适用于所有领域。比如Objective C、Swift 在 IOS 设备上就有着无可取代的地位。浏览器中的处理几乎完全由 JavaScript 掌控。Windows 程序通常都用 C 或 C# 编写。Java 在服务器端编程和跨平台客户端应用领域则很有优势。
13.2 JVM功能说明
JVMJava Virtual Machine Java虚拟机是一个虚拟的计算机是 Java 程序的运行环境。JVM具有指令集并使用不同的存储区域负责执行指令管理数据、内存、寄存器。
13.2.1 功能1实现Java程序的跨平台性
我们编写的 Java 代码都运行在 JVM 之上。正是因为有了 JVM才使得 Java 程序具备了跨平台性。 使用 JVM 前后对比
13.2.2 功能2自动内存管理(内存分配、内存回收)
Java 程序在运行过程中涉及到运算的 数据的分配、存储 等都由 JVM 来完成。Java 消除了程序员回收无用内存空间的职责。提供了一种系统级线程跟踪存储空间的分配情况在内存空间达到相应阈值时检查并释放可被释放的存储器空间。GC的自动回收提高了内存空间的利用效率也提高了编程人员的效率很大程度上 减少了 因为没有释放空间而导致的 内存泄漏。 面试题Java 程序还会出现内存溢出和内存泄漏问题吗 Yes! 至此今天的学习就到此结束了笔者在这里声明笔者写文章只是为了学习交流以及让更多学习Java语言的读者少走一些弯路节省时间并不用做其他用途如有侵权联系博主删除即可。感谢您阅读本篇博文希望本文能成为您编程路上的领航者。祝您阅读愉快 好书不厌读百回熟读课思子自知。而我想要成为全场最靓的仔就必须坚持通过学习来获取更多知识用知识改变命运用博客见证成长用行动证明我在努力。 如果我的博客对你有帮助、如果你喜欢我的博客内容请 点赞、评论、收藏 一键三连哦听说点赞的人运气不会太差每一天都会元气满满呦如果实在要白嫖的话那祝你开心每一天欢迎常来我博客看看。 编码不易大家的支持就是我坚持下去的动力。点赞后不要忘了 关注 我哦