摘要:本文接上一篇樂字節關鍵字關鍵字塊。本文是接著講述垃圾回收機制和語句。一垃圾回收機制全名垃圾回收機制程序員無權調用垃圾回收器。通知運行,但是規范并不能保證立刻運行。若缺省該語句,則指定為無名包。
本文接上一篇:樂字節Java|this關鍵字、static關鍵字、block塊。本文是接著講述JavaGC垃圾回收機制、package 和 import語句。
GC全名:Garbage Collection 垃圾回收機制
程序員無權調用垃圾回收器。
程序員可以通過System.gc()。通知GC運行,但是JAVA規范并不能保證立刻運行。
finalize方法,是JAVA提供給程序員用來釋放對象或資源的方法,但是盡量少用。
GC回收的三種基本方式
1、標記-清除標記存活對象,清理其他垃圾對象(陰影為存活對象,空白為垃圾對象)。
優點:效率高
缺點:產生碎片,使內存分布碎片化,造成內存空間不連續。若出現大的對象,內存空間不連續則難以存取
標記存活對象,清除垃圾對象,對垃圾對象進行整理。
優點:沒有碎片
缺點:效率低
在內存中分配兩塊內存,將標記的存活對象復制到另一塊內存當中,再將原內存的對象清除。
優點:效率高
缺點:浪費內存
為了便于管理大型軟件系統中數目眾多的類,解決類的命名沖突問題,Java引入包(package)機制,提供類的多重類命名空間。
一般的命名為:公司域名倒寫+功能名|模塊名。
package語句作為Java源文件的第一條語句,指明該文件中定義的類所在的包。(若缺省該語句,則指定為無名包)。
格式:package com.shsxt.test; → package pkg1[.pkg2[.pkg3…]];
Java編譯器把包對應于文件系統的目錄管理,package語句中,用’.’來指明包(目錄)的層次,例如使用語句: package com.shsxt ,則該文件中所有的類位于.comshsxt 目錄下
注意:不要定義與jdk相同的包,相同的類, 否則會引起很多你覺得莫名其妙的問題
如果一個類存在包名,則在使用該類時,必須使用全額限定名(簡稱全名或完整類名,com.shsxt.MyClass),編譯器才能找到該類;也可以使用import在文件的開頭引入要使用到的類。
不需要使用import的類有:
語言包 (java.lang)下的類
同包下的類
靜態導入:
import語句不僅可以導入類,還增加了導入靜態方法的功能。
三、總結如果想將一個類放入包中,在類的源文件首行使用package
必須保證該類的class文件位于正確的目錄下
另外的類想訪問的話:
1、寫全名
2、引入
1)、* 模糊匹配(會將該包下所有用到的類引入進來),會降低編譯速度,但是不會影響運行速度。
2)、具體類名。
3、同包下的類不需要導入。
JDK中常用的包簡單介紹:
①java.lang –語言包:語言中常用的功能,如String、Math、System、Integer、Thread…
②java.util – 工具包:提供一些實用的工具類,如 容器(List、Set、Map…),日期類
③java.io – 輸入輸出包:提供操作讀取文件的相關類,如File、InputStream、OutputStrem…
④java.net – 網絡包:操作遠程資源的類,如InetSocketAddress、 DatagramPacket 、ServerSocket…
⑤java.sql – 數據庫包:操作JDBC的類,Connection、Statement、ResultSet….
歡迎關注樂字節,Java相關技術文章干貨持續更新。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75535.html
摘要:本文繼續講封裝。上一篇樂字節垃圾回收機制和語句這次講述繼承與權限修飾。通過繼承,子類自動擁有了基類的所有成員成員變量和成員方法。一覽無遺子承父業兒子自己使用家庭和睦占為已有。 本文繼續講Java封裝。上一篇:樂字節Java|GC垃圾回收機制、package和import語句 這次講述JavaBean、繼承與權限修飾。showImg(https://segmentfault.com/im...
摘要:新生代又被劃分為三個區域和兩個幸存區。這樣劃分的目的是為了使能夠更好地管理堆內存中的對象,包括內存的分配及回收。新生代主要存儲新創建的對象和尚未進入老年代的對象。 在Java中主要有以下三種類加載器: 引導類加載器(bootstrap class loader) --用來加載java的核心庫(Strin...
摘要:運行時數據區域的學習,是學習以及機制的基礎,也是深入理解對象創建及運行過程的前提。了解內存區域劃分,是學習概念的前提。 Java 運行時數據區域的學習,是學習 jvm 以及 GC 機制的基礎,也是深入理解 java 對象創建及運行過程的前提。廢話不多說,直接進入正題: 一張圖總結 showImg(https://segmentfault.com/img/bVOMAn?w=685&h=5...
摘要:看到的只是,而由泛型附加的類型信息對來說是不可見的。然后再加載執行類的靜態變量以及靜態語句塊。接口中基本數據類型為而抽類象不是的。本地方法接口主要是調用或實現的本地方法及返回結果。用戶自定義類加載器,在程序運行期間,通過的子類動態加載。 編譯機制 編譯主要是把?.Java文件轉換為 .class 文件。其中轉換后的 .class 文件就包含了元數據,方法信息等一些信息。比如說元數據就...
閱讀 1076·2021-11-22 14:56
閱讀 1520·2019-08-30 15:55
閱讀 3359·2019-08-30 15:45
閱讀 1655·2019-08-30 13:03
閱讀 2868·2019-08-29 18:47
閱讀 3334·2019-08-29 11:09
閱讀 2641·2019-08-26 18:36
閱讀 2615·2019-08-26 13:55