【java入门系列一】java基础


更多代码Gitee主页:https://gitee.com/GZHzzz
博客主页CSDN:https://blog.csdn.net/gzhzzaa

写在前面

面向工作coding!
目标成为一个算法开发人员!
在此学习记录监督😊

JDK\JRE

  1. JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具(JConsole,Web Services等工具软件),还包含了Java基础的类库(即Java API 包括rt.jar)

  2. JVM(Java Virtual Machine)就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,包含在JDK中,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
    在这里插入图片描述

  3. 只有JVM还不能直接执行class文件,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。在JDK下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。

  4. 我们利用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

在这里插入图片描述

谢谢点赞交流!(❁´◡`❁)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北郭zz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值