Java:面向对象编程
c:面向过程编程
1.一次编译,多端运行(可移植性)
a.Java源码:Xxx.java
b.通过javac命令,你能够把源码编程字节码文件Xxx.class
c.通过java命令,来运行.class文件
d.在Windows编译好的.class文件放在Linux依旧可以运行
2.多线程----->语言层面的多线程
动态更新---->程序A调用了程序B,程序B的源码发生了改变,程序B需要重新编译
3.JVM特性
a.垃圾回收机制:GC
免于内存管理的麻烦
i. 优先级较低的后台线程
ii. 什么时候运行
内存不足的时候
程序空闲的时候
iii. 垃圾回收方法:
java.lang.System.gc()
java.lang.Runtime.gc()
这两个方法只提供建议功能
iiii.垃圾回收算法
标记法
迁移法
b.字节码校验功能
准备:
1.获得JDK,上课用1.8
2.安装JDK
Linux:解压压缩包
Windows:像安装软件一样
3.配置环境变量
Linux:
配置文件:
系统配置文件/etc/profile
用户配置文件~/bashrc
添加环境变量:
JAVA_HOME:指代JDK安装路径
CLASSPATH:.
$PATH
配置完成后:
source 配置文件
Windows:
我的电脑–》高级系统设置—》环境变量——》手动添加JAVA_HOME和CLASSPATH->在PATH中添加%JAVA_HOME%/bin
重启cmd验证
验证
java -version
java
javac
三个命令不报错
5.JDK:Java Development Kit
包含:
JVM:Java Virtual Machine
JRE:Java Runtime Environment
Java的运行命令:
java:执行java类
javac:编译java文件
javadoc:生成java的API文件
jar:打包
Java开发需要的类库
第一个java文件
1.java三部分组成
package(包名)
1.给.java文件和.class文件进行文件夹分层,让代码保存的位置有一个良好的树形结构
2.可以区分同名的文件
java.util.Date
java.sql.Date
3.包名+类名的这种写法:权限类名
4.包名有自己的取名规则
一般是组织或者域名的返写
www.baidu.com----->com.baidu.util
www.briup.com----->com.briup.day01
impot
导包
Java中默认导入java.lang(如果要使用lang之外的代码,需要导入)
import可导入的包(1.JDK提供给的类包 2.自己写的java代码所在的包 3.借用导入的第三方jar包)
public class (必须有,有且只有一个,且后面跟的单词必须和文件名字保持一致)
main方法:java程序的入口方法,如果java程序想要运行,必须有主方法
固定格式写法规则
public:方法的权限
static:静态
void:返回值类型(无返回值用void)
main:方法名称
(String[] args)(():要放参数的列表,参数列表的形式:数据类型+形式参数(多个之间用,隔开)String[] args:卖你方法的参数是一个字符串类型的数组,形式参数的名字叫做args)
{}:代码块,代表实际执行的地方,也叫做方法体,里面的代码从头到尾执行完毕,程序运行结束。
System---->类
out—>内部类
println-------->静态方法
(“Hello,World”);------>小括号内是参数
字符串类型的参数,括号里 的内容会被打印到终端
当前路径下写好的原文件,Hello.java
编译 javac -d . Hello.java
如果有package产生了
com/briup/ day01/Hello.class
运行java com.briup.day01.Hello