java初学者笔记总结day6

static关键字
做用:没有static在类中定义的【数据和功能】(成员变量和成员方法),
都是属于对象的,若是【数据和功能】只是跟类有关系,那么咱们能够经过
staic关键字修饰,变为(静态变量和静态方法)-属于类。java

静态变量
语法:static +成员变量数组

静态方法
语法:static +成员方法
使用静态变量和静态方法
1)类名.静态变量或方法(推荐)----》本类中使用能够省略->类名.
2)对象引用.静态变量或方法this

注意点:
1)成员变量跟对象相关,每一个对象存储一份数组,静态变量跟类相关,静态变量只存储一份。
2)成员方法属于对象,须要对象调用成员方法,成员方法能够使用this,静态方法是类去调用,没有对象。
     静态方法不能使用this。spa

java内存区域
栈:局部变量
堆:new 的对象
方法区:类的信息(class字节码数据),静态变量线程

gc垃圾回收
做用:回收java堆里的垃圾(没有引用指向的对象)翻译

局部变量的回收--》编译器自动回收,当局部变量做用域结束则自动回收。
对象的回收--》对象是经过引用操做,没有引用指向的对象,没有用,就能够回收---》gc回收对象

gc---》是一个后台的线程
线程:一个线程就是一个工做者,一个执行翻译代码的人。
运行java程序有两个线程(同时工做)
1)main线程---》负责把main的代码执行完成
2)gc线程---》负责回收垃圾内存

gc回收垃圾的注意点
1)回收的垃圾是没有引用指向的对象
2)默认状况是内存不足才启动进行回收。
3)通知gc进行回收System.gc()
4)对象被回收的时候gc会调用对象的finallize方法
5)内存满了,而且没有垃圾对象,就会内存溢出错误作用域

pakcage包cmd

做用:组织管理类,把一些有相同功能的类放到一个包下,经过包名就管理。

打包:把类放入指定包里

语法:package 一级包名.二级包名...;
位置:java文件的第一行代码
做用:把当前java文件的全部类打到某一个包下。


打包以后类的使用
1)不须要(完整类路径和import导入)直接经过类名使用
a)java.lang包的全部类
b)同一个包的类
2)完整类路径:包名.类名
3)import导入:
位置:pakcgae语句以后,类定义以前
a)import 包名.类名;导入指定包的指定类,导入以后能够直接经过类名访问指定类。
b)import 包名.*;导入指定包的全部类,导入以后能够直接经过类名访问该包全部类。
注意,不包含子包的类。
例如:import java.util.*;导入不能使用java.util.jar里的全部类。

classpath类的路径

classpath:存储的是咱们项目使用不少第三方的jar文件的路径。
jar文件:压缩文件,压缩了不少的class文件(不少的功能)。
配置能classpath就能够使用其路径包含的jar文件的class的功能。

cmd编译运行1)环境变量配置classpath2)javac或java的-cp配置classpath

相关文章
相关标签/搜索