该文章Github地址:https://github.com/AntonyCheng/java-notes
在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.csdn.net/AntonyCheng/article/details/136555245),该模板集成了最常见的开发组件,同时基于修改配置文件实现组件的装载,除了这些,模板中还有非常丰富的整合示例,同时单体架构也非常适合SpringBoot框架入门,如果觉得有意义或者有帮助,欢迎Star & Issues & PR!
上一章:由浅到深认识Java语言(1):前提概要
3.Java语言概述
创立者:詹姆斯·高斯林;
语言开发平台版本:J2SE基础语法版、J2ME移动版(已经不用了)、J2EE企业版(主流);
特点:简单性、解释性、面向对象、高性能、分布式处理、多线程、健壮性、动态、结构中立、安全性、开源、跨平台;
Java跨平台的实现:Java语言不是运行在操作系统上的,而是运行在Java虚拟机上(JVM),Java为各个操作系统都开发了相对应的平台
Java开发工具:
JDK下载:
- JDK (Java Development Kit):Java开发工具集;
- 下载官网:www.oracle.com
JDK卸载:
在控制面板中找到“程序和功能”,找到Java SE development kit ,点击卸载;
JRE:
java runtime environment :java 运行环境(java 虚拟机在其中),JDK 中自带有 JRE;
验证JDK是否成功安装:
用命令提示符来运行 Java 安装包里 bin 文件夹中的 javac.exe,如果看到大篇幅的提示文字,就代表安装成功;
配置环境变量:
-
环境变量的作用:
为了让在文件系统的任意位置都能使用
JDK
中的命令,也就是说,当在命令提示符中输入java
命令时,系统就会去环境变量中的变量名时Path
的值中的各个路径中去寻找“java.exe
”,从上往下找,找到就执行,找不到就报错; -
配置
JAVA_HOME
的作用:我们在使用第三方开发工具需要有
JDK
,这些工具会自动去环境变量中找变量名是JAVA_HOME
的变量,如果找不到,这些工具就没有办法使用;
Java程序的运行机制:
图解如下:
编译:把程序员写的 java
程序编译成机器能看懂的二进制(字节码)文件,就必须用到 javac 源文件
命令,此时会产生一个字节码文件(.class 文件);
运行:使用 Java 源文件
命令,把字节码文件运行在虚拟机上;
4.Java程序详解
public class HelloWorld{
public static void main(string[] args){
System.out.println("Hello World!");
}
}
图解:
注意:
-
任何一个
java
程序都是一个class
(类); -
类的内容由一对
{}
包裹; -
设计
java
类,实际上就是设计类的内容,类的内容有:-
入口函数:
JVM
要运行此程序的入口;public static void main(String[] args){ }
这个写法是固定的
-
-
java
每一条语句都是以;
结束; -
一个
.java
文件中可以有多个class
声明的类; -
当编译一个
java
文件时,会根据文件中的类,生成相对应的类的字节码文件,也就是说编译产生的 ·.class
文件就是一个描述类的文件; -
一个类可以被
public
修饰,也可以不修饰,如果一个类被public
修饰,那么该类所在文件的文件名必须和该类的类名完全相同; -
一个
.java
文件中只能有一个类被public
修饰,以防出错; -
一个
.java
文件可以有多个入口函数; -
一个类中不可能出现多个入口函数;
-
.java
程序对大小写敏感; -
Java的注释;
我们一定要养成写注释的习惯;
-
单行注释
//这是单行注释,注释的范围就是后面的单行内容
-
多行注释
/* 这是多行注释 注释的范围是注释所包含的内容 */
-
文档注释
/** 这是一个文档注释,当将Java程序形成说明文档时,此时文档注释的内容将被收集 */
-
5.二进制的原/反/补码
补码:底层所存储的字符码;
原码:适用于做二进制和十进制之间转换的码;
反码:适用于转换补码和原码;
负数的八位二进制转十进制例如下:
1000 0001(补码)
== 补码 - 1
==> 1000 0000(反码)
== 符号位外,所有位取反
==> 1111 1111(原码)
==> -127
1011 0011(补码)
== 补码 - 1
==> 1011 0010(反码)
== 符号位外,所有位取反
==> 1100 1101(原码)
==> -77
1001 0011(补码)
== 补码 - 1
==> 1001 0010(反码)
== 符号位外,所有位取反
==> 1110 1101(原码)
==> -109
负数的十进制转八位二进制例如下:
-16
==> 1001 0000(原码
== 符号位外,按位取反
==> 1110 1111(反码)
== 反码 + 1
==> 1111 0000(补码)