【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

在这里插入图片描述

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

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...