20145325张梓靖 《Java程序设计》第1周学习总结
教材学习内容总结
- JAVA三大平台:Java SE、Java EE 、Java ME
- Java SE四个组成部分:JVM 、JRE、 JDK、 Java语言
- 加入Java功能或特性,要以JSB正式文件的方式提交,经JCP通过,成为最终文件,由此做出的参考实现为PI,并提供TCK作为技术兼容测试工具箱
- Sum被Oracle收购后,Oracle JDK实现;之后,Sun宣告对JAVA开放源代码,成为OpenJDK
- JVM是Java程序的操作系统,JVM的可执行文件就是.class文档
- JDK包含JRE、Java程序设计语言、开发工具
- JRE包含JVM、Java SE API
- Public JRE是给Java执行的平台
- Private JRE主要开发Java程序时测试之用
-
path
操作系统查找使用的 -
classpath
是JVM虚拟操作系统使用的 -
-sourcepath
是源始码放置的位置 -
-d
将编译后的.class
文件放入指定的文件夹 -
-classpath
或-cp
里是要执行的.class
文件,当执行文件时,如果没有指定-classpath
或-cp
则就在当前路径下找.class
文件 -
package
+包的名字
撰写Java时写在前面,要手动在设定装.java
的文件夹中增加文件夹,其编译时,写java -cp classes 包的名字.类名
,后将生成的.class
放入自动建立的class里的包的名字的文件夹内 - 在撰写Java程序时,如果要用到不同包的类,则需要使用完全吻合名称,如果是同包的,则可只写class后定义的类名即可,例
Console.writeLine("Hello World");
,如果Console
是属于cc.openhome.util
,与其被用到的类并不是同一类的,则需写为cc.openhome.util.Console.writeLine("Hello World");
,当然也可使用import
减少打字的麻烦,只需要在撰写Java时写上import cc.openhome.util;
其后就可以都写成Console.writeLine("Hello World");
,如果要用到很多属于cc.openhome.util
包的类,那么,可以写成import cc.openhome.*;
-
-verbose
可看到编译程序进行编译时的过程 -
-version
可显示执行的JRE版本
教材学习中的问题和解决过程
- 问题 容器是说有很多个不同的容器,一些特定的不同的东西只能放入对应的容器中,并且遵循各自的管理,而这些容器又被放入另一个大容器中,就是JVM里?然后又被统一管理?
- 解决过程 还没解决,不知道理解是否正确
-
问题 P50,5,在运行
.class
,可以直接在把路径完全指出来吗? - 解决过程 1.全部路径
2.部分路径(javac中是可以的;java运行的.class
是某包的一种时,用完全吻合名称也可以)
3.正确方式
-
问题 对
-classpath
进行指定时可以用完整的地址,-sourcepath
与-d
也可以吗? - 解决过程 还没尝试,但感觉是可以的
代码调试中的问题和解决过程
-
问题 P33,图2.18,如果
Main.java
中并未使用到除System
的类,在编译时,可以直接改写成javac -d classes src\Main.java
(已验证过),那么是不是可以说要编译的程序中有用到其他类时,才需要用到-sourcepath
? - 解决过程 感觉是这样的
其他(感悟、思考等,可选)
-
执行java工具时(
.java
用了package
) classes.cc.openhome.Main
不可以cc.openhome.Main
不可以(只会在当前路径找,不会到当前路径的某个文件夹内找)-d classes cc.openhome.Main
可以
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 3500行 | 28篇 | 300小时 | |
第一周 | 150/150 | 1/1 | 20/20 | |
第二周 | ||||
第三周 | ||||
第四周 |