本文章是本人根据视频和网上资料整理所写笔记,可能有不通顺或遗漏的地方,请尽量参考学习来源处的链接去进行学习。
学习来源
【狂神说Java】Java零基础学习视频通俗易懂:https://www.bilibili.com/video/BV12J41137hu
菜鸟教程: https://www.runoob.com/
JDK、JRE、JVM三者间的关系: https://www.cnblogs.com/iskandar/p/8933340.html
JDK环境变量配置: https://www.cnblogs.com/xch-yang/p/7629351.html
linux服务器配置jdk环境变量:https://blog.csdn.net/panchao888888/article/details/80989349
JDK1.8目录结构介绍: https://blog.csdn.net/wjc78242663/article/details/101456741
Java 程序运行机制 :https://www.cnblogs.com/studywithme/p/13548211.html
Java特性和优势
- 简单性
- 面向对象
- 可移植性
- 高性能
- 分布式
- 动态性
- 多线程
- 安全性
- 健壮性
Write Once、Run Anywhere 跨平台
Java三大版本
- JavaSE:标准版(桌面开发、控制台开发...
- JavaME:嵌入式开发(手机、小家电...
- JavaEE:企业级开发(web端、服务器开发
JDK、JRE、JVM
- JDK:Java Development Kit (Java开发者工具
- JRE:Java Runtime Environment(Java运行环境
- JVM:Java Virtual Machine(Java虚拟机
- 屏蔽底层系统的差别,跨平台的根本之处
Java开发环境
以下步骤:
- 下载JDK并安装或者解压(根据环境下载Winodws、Linux
- 配置环境变量(Windows配置环境变量、Linux配置 /etc/profile
- 验证是否配置成功(java -version
JDK路径下目录的介绍
以下是安装的jdk1.8版本
安装JDK后路径下目录文件有哪些及功能介绍。
安装好的JDK路径下目录如下:有bin、db、include、jre、lib、COPYRIGHT、javafx-src.zip、LICENSE、README.html、release、src.zip、THIRDPARTYLICENSEREADME.txt、THIRDPARTYLICENSEREADME-JAVAFX.txt。
bin目录
其中bin目录里面存放了JDK的各种工具命令,即JDK开发工具的可执行文件。其中这些可执行文件都是二进制的,其中包括编译器、解释器以及其他一些工具,比如我们刚开始用的Javac、Java命令去检查JDK是否安装配置正确就是在这个目录下面的命令。
include目录
其中include目录里面是一些供C语言使用的标题文件,其中C语言的头文件支持Java本地接口和Java虚拟机调试程序接口的本地编程技术。这里头文件的作用是让Java调用C/C++实现的函数功能
jre目录
其中jre(Java runtime environment即Java运行时环境)目录路径下安装的就是运行Java程序所必须的JRE环境。我们可以看到在jre目录下的bin里面有java.exe、javaws.exe,但没有javac.exe
lib目录
其中lib目录:该路径下存放的是JDK工具命令的实际执行程序。
src.zip和javafx-src.zip
存放JDK源代码(java基础类源代码)和JavaFX源代码。
HelloWorld详解
-
随便创建一个文件夹,存放代码
-
新建一个java文件
- 文件后缀名.java
- Hello.java
- 【注意点】系统可能没有显示文件后缀名,我们需要手动打开显示后缀
-
编写代码
public class Hello{
public static void main(String[] args){
System.out.println("Hello,world!");
}
}
- 编译:javac java文件
- 运行class文件:java class文件
可能遇到的情况
-
单词大小写,java对于大小写敏感
-
符号使用了中文,Java需要英文符号 ";"
-
文件名和类名不一致,且首字母大写
Java程序运行机制
高级编程语言按照程序的执行方式分为编译型和解释型两种。简单来说,编译型语言是指编译器针对特定的操作系统将源代码一次性翻译成可被该平台执行的机器码;解释型语言是指解释器对源程序逐行解释成特定平台的机器码并立即执行。
-
编译型:
类似于把一本中文书直接全文翻译成英文(编译器:对操作系统要求比较低,执行速度快),C/C++语言都是编译型语言
-
解释型:
类似于请了一位翻译官,要看外文书时才帮助翻译(代价比较大,麻烦)
网页,服务器脚本:对于速度要求不高,就可以边执行边解释
JavaScript/VB等都是解释型语言
区别:时机不同
-
程序运行机制:
随着硬件技术的发展,编译型和解释型的区分越来越模糊,所以解释型的效率也越来越高。而Java两个过程都有,Java程序先经过编译,最后到操作系统的时候才解释,Java程序既有编译型的特征,也有解释型的特征。
从*.java 到 *.class 经过一个 java.c 命令,其中 java.c 命令充当了编译器的效果
集成开发环境
- eclipse
- idea(推荐