学习记录🤔
- 写在前面
- JDK\JRE
- Python有没有虚拟机?
- 第一个code
- 规范
- 学习方法
- 转义符号
- 注释
- 讨论总结
- 谢谢点赞交流!(❁´◡`❁)
更多代码: Gitee主页:https://gitee.com/GZHzzz
博客主页: CSDN:https://blog.csdn.net/gzhzzaa
写在前面
面向工作coding!
目标成为一个算法开发人员!
在此学习记录监督😊
JDK\JRE
-
JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具(JConsole,Web Services等工具软件),还包含了Java基础的类库(即Java API 包括rt.jar)
-
JVM(Java Virtual Machine)就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,包含在JDK中,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
-
只有JVM还不能直接执行class文件,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。在JDK下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。
-
我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码(class文件),在JRE(
JVM+lib
)上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。
![在这里插入图片描述](https://img-blog.csdnimg.cn/200fad1876344b3588807b44628cf257.png
Python有没有虚拟机?
事实上,Python 程序在执行过程中同样需要编译(Compile),编译产生的结果称之为字节码,而后由 Python 虚拟机逐行地执行这些字节码。所以,Python 解释器由两部分组成: 编译器和虚拟机。
Java 在程序执行时必须使用 javac 对源代码进行编译,但是并不直接编译成机器语言,而是和 Python 一样,编译成字节码,而后由 JVM 进行执行。从这一点上来看,Python 和 Java 非常类似,只不过 Python 的编译过程由解释器完成,用户也可以手动的对 Python 源代码进行编译,生成 .pyc 文件,节省那么一丢丢的时间。
Java是静态语言内部的编译器进行翻译JavaCode为字节码文件,然后由执行器执行字节码文件。而Python的编译器,美其名曰打工皇帝,身兼数职,一遍翻译一边执行,这叫动态语言,并且居然翻译成字节码Python的字节码都比Java的短,虽然是打工皇帝但是一个人的力量还是不如JVM分工的快。不过他俩都是跨平台的就是因为虚拟机的机制,就像平头插座插不了三角头,但是装个转换器啦。使用转换器的原因就是要提供一个和宿主平台无关的编译环境
,所以java不是解释语言也不是编译语言,它属于二合一,但是python作为动态语言也提供了各种优化机制保留.pyc文件等等,所以现在编译语言跟解释语言的界限越来越不明显,这么来看她确实该叫解释器,翻译加运行。
第一个code
public class Hello {
//Hello是一个类,public共有的类
//类名大驼峰
public static void main(String []args) {
//主方法,程序入口
//方法名小驼峰
System.out.println("Hello World!");
}
}
规范
- 编译后每一个类,都生成一个.class文件
- 共有类和文件名应该一致
- ;代表一行语句的结束
学习方法
需求-查资料-新技术-新知识点和语法-快速入门增删改查-研究具体细节-返回需求
- 技术为需求服务
转义符号
tab快速补齐命令行
- \表示一个\,第一个为转义,第二个为\
- 写目录需要\表示分隔
注释
单行://文字
多行:/文字/
文档注释:为类进行注释
/**
*author
*version
*/
public class Hello {
//Hello是一个类,public共有的类
//类名大驼峰
public static void main(String []args) {
//主方法,程序入口
//方法名小驼峰
System.out.println("Hello World!");
}
}
讨论总结
最大的困难是坚持
知识体系很重要,在体系内学习会简单有效!
和算法不一样,开发这块不需要你觉得,现成的东西一大把,学会了就能跟着做!
定目标,沉下心,扎下去!
时间还很多,每天保持思考、保持进步,日积跬步,足以至千里!
- Fighting!😎
while True:
Go life