java初学者笔记总结day6
static關鍵字
作用:沒有static在類中定義的【數據和功能】(成員變量和成員方法),
都是屬于對象的,如果【數據和功能】只是跟類有關系,那么我們可以通過
staic關鍵字修飾,變為(靜態變量和靜態方法)-屬于類。
靜態變量
語法:static +成員變量
靜態方法
語法:static +成員方法
使用靜態變量和靜態方法
1)類名.靜態變量或方法(推薦)----》本類中使用可以省略->類名.
2)對象引用.靜態變量或方法
注意點:
1)成員變量跟對象相關,每個對象存儲一份數組,靜態變量跟類相關,靜態變量只存儲一份。
2)成員方法屬于對象,需要對象調用成員方法,成員方法可以使用this,靜態方法是類去調用,沒有對象。
? ? ?靜態方法不能使用this。
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包
作用:組織管理類,把一些有相同功能的類放到一個包下,通過包名就管理。
打包:把類放入指定包里
語法: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)環境變量配置classpath
2)javac或java的-cp配置classpath
?
轉載于:https://www.cnblogs.com/Tab1994/p/5427650.html
總結
以上是生活随笔為你收集整理的java初学者笔记总结day6的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python装饰器参数讲解_python
- 下一篇: 求一列数据中的波峰_PowerQuery