【java入门系列一】java基础
创始人
2024-05-04 08:52:56
0次

学习记录🤔

  • 写在前面
  • JDK\JRE
    • Python有没有虚拟机?
  • 第一个code
  • 规范
  • 学习方法
  • 转义符号
  • 注释
  • 讨论总结
    • 谢谢点赞交流!(❁´◡`❁)

更多代码: 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

在这里插入图片描述

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

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...