吕宇轩20155239 第一周
教材学习内容总结
前两章的的内容是介绍java的诞生和版本演进,有关java的三大平台,以下是我所学习到的一些知识。
1.为什么需要Java程序设计语言?
- Java已不仅是个程序语言,也代表了解决问题的平台(Platform),更代表了原厂、各个厂商、社群、开发者与用户沟通的结果。
- Java语言是Sun公司的GreenProject中用来撰写Star7应用程序的程序语言。
2.Java解决了什么问题?
-
Android应用
-
金融服务行业的服务器应用程序,第三方交易应用程序
-
Java Web应用程序。许多政府、医疗、保险、教育、国防以及其他部门都有他们自己用Java写的Web应用程序。
-
软件工具。Eclipse、InetelliJ Idea和Netbans IDE。
-
游戏,嵌入式空间,高频交易领域
3.Java三大平台
- Java SE(Java 2 Platform Standard Edition)
- Java EE(Java 2 Platform Enterprise Edition)
- Java ME(Java 2 Platform Micro Edition)
4.Java SE的四个组成部分
- JVM是JAVA的虚拟机(让JAVA可以跨平台,JAVA的操作系统,负责JAVA程序的各种资源管理)
- JRE:java执行环境(是可以在其上运行、测试和传输应用程序的Java平台)
- JDK是Java语言的软件开发工具包(开发Java,必须安装JDK,这样才会有工具程序可用)
5.JCP与JSR、RI、TCK的关系
-
图
-
JCP:开放性的国际组织,目的是让Java演进由Sun公司非正式主导,成为全世界数以百计代表成员公开监督的过程
-
JSR:业界制定JSR作为正式标准规范文件,标准代表了业界所面临的问题,业界希望使用java解决问题
-
RI:任何想要加入Java的功能和特性的提议,必须以JSR正式文件的方式提交,若JSR成为最终文件后,根据JSR成果做出的免费且开放原始码的参考实现,称为RI
-
TCK:RI中提供的作为技术兼容测试的工具箱称为TCK
6.了解Oracle JDK与OpenJDK的关系
前者源代码可用于个人研究使用,禁止任何商业用途,后者则允许商业上的使用。
7.PATH、CLASSPATH、SOURCEPATH的作用与设置
- PATH
后缀是.java的文档必须要编译为后缀为.class的文档才能在JRM中执行,编译的工具程序是javac。
要执行一个工具程序的时候,那个指令是放在哪里的,系统是不知道的。
当输入一个指令而没有指定路径信息的时候,系统就会依照PATH环境变量中路径顺序,依次寻找各路径下是否有这个指令。
设定PATH的方式为
SET PATH="路径"
PATH是用于Windows/Unix/Linux等系统的,找不到javac.exe、java.exe是因为PATH没有设置正确
- CLASSPATH
编译后的文档的后缀是.class,要运行的话就要启动JRM,指令是
java 编译好的文档的名称.class
和PATH相似,需要告诉系统这个文档的位置。
java -classpath 路径编译好的文档的名称.class
CLASSPATH是用于JVM(容器)的,使用javac和java命令找不到XXXX.class是因为CLASSPATH没有设置正确
- SOURCEPATH
现在为了实现把原始码放在名为src的文件夹中,而把编译好的位码放在名为classes的文件夹中,就应该用以下命令
从根目录到src上一级的地址
>javac -sourcepath src -d classes src/原始码文档的名字.java
DOS
dos,是磁盘操作系统的缩写,是个人计算机上的一类操作系统。
DOS命令分为内部命令、外部命令、以及批处理文件。内部命令常驻内存,而外部命令是一条单独的可执行文件,而批处理类似Linux下的Shell脚本。
内部命令在都在COMMAND.COM中;外部命令存放在磁盘上,是以.exe结尾的文件;批处理文件以.bat结尾的文件。
快捷键小技巧:
在Windows 7后的操作系统,按一下Windows键或Windows键+R,然后输入cmd就会打开命令行窗口,常用dos命令如下:
教材学习中的问题和解决过程
- 安装JDK
JDK安装解决方案:参考JDK安装测试按步骤解设置环境变量。
JDK测试成功
图
- 安装IDEA
- 按照教程安装在UBANTUN里打不开,所以直接下载IJ,安装好以后终端打开却又JDK版本太低的提示
图
-
GIT安装
安装过程没有截图记录。但安装成功
-
图
浏览3~18章并提问:
(由于使用第七版教材,只有16章)
第三章:布尔类型存在的意义
第四章:int[][] cords这样定义数组和int cords[][]有什么差别?怎么定义三维数组和四维数组?
第五章:不定长度自变量在内存中怎样开辟空间?
第六章:继承之后父类能否调用子类中的方法?
第七章:接口能否继承接口?
第八章:try和catch的差别?
第九章:Queue的队列是操作什么?
第十章:>>附加信息是否在原文档上?
第十一章:线程与进程有什么区别?
第十二章:规则表达式对同一字符串的匹配结果是不是唯一的?
第十三章:AWT继承架构与Swing继承架构的区别?
第十四章:隔离层级是做什么的?
第十五章:出现ClassNotFoudException异常怎么解决?
第十六章:为什么在 定义泛型时,使用extends限制指定T实际类型时,必须是某类的子类?
代码托管
-
问题
- 1、Linux的系统下学习JAVA与Windouw有哪些不同。
- 2、在java内建库中有没有排序和查找的函数?
学习进度条
代码行数(新增/累积 | 博客量(新增/累积 | 学习时(新增/累积 | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 8/200 | 1/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 |
感悟:JAVA对我来说真的很陌生 也很难学懂。万事开头难,一步步攻克。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步