本文根据哔哩哔哩 Java零基础视频教程(适合Java基础,Java入门)老杜Java13版
下附链接:https://www.bilibili.com/video/BV1mE411x7Wt?
欢迎大家一起学习呀,嘿嘿。
第三天笔记
1、java的特性
1.1简单性
在Java中真正操作内存的是JVM(java虚拟机(jvm底层是c++语言实现的))
所有的Java程序都是运行在Java虚拟机中的
而虚拟机在去操作内存
对于C和C++来说都是可以通过指针直接操作内存的,更有掌控感
Java语言底层是c++,JVM是通过c++写出来的虚拟电脑
安装好JDK,jvm自动安装啦
1.2、java是堪称完全面向对象的
让复杂问题简单化
1.3、健壮性
java语言有一种机制:
自动垃圾回收机制(GC机制)
不容易导致内存泄露
C++或者C操作不当很容易导致内存泄露
JVM负责调度GC机制,不需要程序员干预
1.4、java完全/完美支持多线程并发
1.5、可移植性/跨平台
java语言只要编写一次,可以到处运行(安装相应的JRE就行)
优点:一次编译,可以到处运行
缺点:麻烦,运行Java程序必须要有一个JVM
java可以编写病毒嘛
可以,没问题,但难以让用户中毒
中毒的一般是Java程序员,所以很少有人编写java病毒
2、JDK、JRE、JVM三者关系
JDK:java开发工具箱
JRE:java运行环境
JVM:Java虚拟机
JDK包括JRE,JRE包括JVM
JVM不能独立安装
JDK和JRE都能单独安装
有单独的JDK安装包
有单独的JRE安装包
但没有单独的JVM安装包
3、对Java加载与执行的理解
Java程序非常重要的两个阶段:
编译阶段
运行阶段
编译:Java程序员直接编写的程序(文本文件)是无法通过JVM的,必须经过编译把文本文件编写为字节码,才能被JVM识别
Java代码这种普通文本变成字节码叫做编译
编译阶段和运行阶段可以在不同操作系统上完成
在window上编译,编译后产生的字节码
把字节码放在Linux上运行是可行的
不要把源代码删除,以后方便修改维护
放源代码的文件扩展名必须是xxx.java
编译出来的字节码扩展名必须是xxx.class
4、java程序从开发到最终运行需要经历什么
编译阶段
第一步:新建一个xxx.java文件
第二步:打开文本编译器
第三步:编写源代码
第四步:保存
第五步:使用编译器(Java【JDK安装自带】)对xxx.java进行编译
第六步:代码正确会编译出class字节码文件,并且一个Java文件可以编译出多个class文件
运行阶段 (JRE在起作用):(在任意系统上面)
第七步:如果在Linux上面运行,将Windows上面生成的字节码文件拷贝过去
不需要拷贝源码,但也别把源码删除(挣钱呢哈哈哈)
第八步:使用JDK自带的命令/工具 Java(复制运行的命令/工具)执行字节码
第九步:往下的步骤全部交给JVM啦,不需要程序员进行干涉啦
JVM会将字节码解释为二进制(0101101010....)
第十步:JVM会将生成的二进制码交给os操作系统,操作系统会执行二进制码和硬件进行交互
注意:在以上命令中需要使用两个非常重要的命令
javac命令,负责编译
java命令,复制运行
小插曲:
xxx.java文件经过编译产生的A.class、B.class、C.class等字节码文件,
我们称A是一个类、B是一个类、C是一个类。其中A、B、C是类的名字
A类、B类、C类
~~~~听说给小茗点赞的人都很帅哦~~~~