成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

樂字節(jié)Java|GC垃圾回收機(jī)制、package和import語句

xuexiangjys / 919人閱讀

摘要:本文接上一篇樂字節(jié)關(guān)鍵字關(guān)鍵字塊。本文是接著講述垃圾回收機(jī)制和語句。一垃圾回收機(jī)制全名垃圾回收機(jī)制程序員無權(quán)調(diào)用垃圾回收器。通知運(yùn)行,但是規(guī)范并不能保證立刻運(yùn)行。若缺省該語句,則指定為無名包。

本文接上一篇:樂字節(jié)Java|this關(guān)鍵字、static關(guān)鍵字、block塊。本文是接著講述JavaGC垃圾回收機(jī)制、package 和 import語句。

一、GC垃圾回收機(jī)制

GC全名:Garbage Collection 垃圾回收機(jī)制

程序員無權(quán)調(diào)用垃圾回收器。

程序員可以通過System.gc()。通知GC運(yùn)行,但是JAVA規(guī)范并不能保證立刻運(yùn)行。

finalize方法,是JAVA提供給程序員用來釋放對(duì)象或資源的方法,但是盡量少用。

GC回收的三種基本方式

1、標(biāo)記-清除

  標(biāo)記存活對(duì)象,清理其他垃圾對(duì)象(陰影為存活對(duì)象,空白為垃圾對(duì)象)。

  優(yōu)點(diǎn):效率高

  缺點(diǎn):產(chǎn)生碎片,使內(nèi)存分布碎片化,造成內(nèi)存空間不連續(xù)。若出現(xiàn)大的對(duì)象,內(nèi)存空間不連續(xù)則難以存取

2、標(biāo)記-整理

  標(biāo)記存活對(duì)象,清除垃圾對(duì)象,對(duì)垃圾對(duì)象進(jìn)行整理。

  優(yōu)點(diǎn):沒有碎片

   缺點(diǎn):效率低

3、復(fù)制

 在內(nèi)存中分配兩塊內(nèi)存,將標(biāo)記的存活對(duì)象復(fù)制到另一塊內(nèi)存當(dāng)中,再將原內(nèi)存的對(duì)象清除。

  優(yōu)點(diǎn):效率高

  缺點(diǎn):浪費(fèi)內(nèi)存

二、package 和 import語句

為了便于管理大型軟件系統(tǒng)中數(shù)目眾多的類,解決類的命名沖突問題,Java引入包(package)機(jī)制,提供類的多重類命名空間。

一般的命名為:公司域名倒寫+功能名|模塊名。

package語句作為Java源文件的第一條語句,指明該文件中定義的類所在的包。(若缺省該語句,則指定為無名包)。

格式:package com.shsxt.test; → package pkg1[.pkg2[.pkg3…]];

Java編譯器把包對(duì)應(yīng)于文件系統(tǒng)的目錄管理,package語句中,用’.’來指明包(目錄)的層次,例如使用語句: package com.shsxt ,則該文件中所有的類位于.comshsxt 目錄下

注意:不要定義與jdk相同的包,相同的類, 否則會(huì)引起很多你覺得莫名其妙的問題

如果一個(gè)類存在包名,則在使用該類時(shí),必須使用全額限定名(簡(jiǎn)稱全名或完整類名,com.shsxt.MyClass),編譯器才能找到該類;也可以使用import在文件的開頭引入要使用到的類。

不需要使用import的類有:

語言包 (java.lang)下的類
同包下的類
靜態(tài)導(dǎo)入:

import語句不僅可以導(dǎo)入類,還增加了導(dǎo)入靜態(tài)方法的功能。

三、總結(jié)

如果想將一個(gè)類放入包中,在類的源文件首行使用package

必須保證該類的class文件位于正確的目錄下

另外的類想訪問的話:

1、寫全名

2、引入

1)、* 模糊匹配(會(huì)將該包下所有用到的類引入進(jìn)來),會(huì)降低編譯速度,但是不會(huì)影響運(yùn)行速度。

2)、具體類名。

3、同包下的類不需要導(dǎo)入。

JDK中常用的包簡(jiǎn)單介紹:

①java.lang –語言包:語言中常用的功能,如String、Math、System、Integer、Thread…

②java.util – 工具包:提供一些實(shí)用的工具類,如 容器(List、Set、Map…),日期類

③java.io – 輸入輸出包:提供操作讀取文件的相關(guān)類,如File、InputStream、OutputStrem…

④java.net – 網(wǎng)絡(luò)包:操作遠(yuǎn)程資源的類,如InetSocketAddress、 DatagramPacket 、ServerSocket…

⑤java.sql – 數(shù)據(jù)庫包:操作JDBC的類,Connection、Statement、ResultSet….

歡迎關(guān)注樂字節(jié),Java相關(guān)技術(shù)文章干貨持續(xù)更新。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/75535.html

相關(guān)文章

  • 字節(jié)Java|JavaBean封裝、繼承與權(quán)限修飾

    摘要:本文繼續(xù)講封裝。上一篇樂字節(jié)垃圾回收機(jī)制和語句這次講述繼承與權(quán)限修飾。通過繼承,子類自動(dòng)擁有了基類的所有成員成員變量和成員方法。一覽無遺子承父業(yè)兒子自己使用家庭和睦占為已有。 本文繼續(xù)講Java封裝。上一篇:樂字節(jié)Java|GC垃圾回收機(jī)制、package和import語句 這次講述JavaBean、繼承與權(quán)限修飾。showImg(https://segmentfault.com/im...

    mylxsw 評(píng)論0 收藏0
  • 學(xué)習(xí)JVM必看書籍

    學(xué)習(xí)JVM的相關(guān)資料 《深入理解Java虛擬機(jī)——JVM高級(jí)特性與最佳實(shí)踐(第2版)》 showImg(https://segmentfault.com/img/bVbsqF5?w=200&h=200); 基于最新JDK1.7,圍繞內(nèi)存管理、執(zhí)行子系統(tǒng)、程序編譯與優(yōu)化、高效并發(fā)等核心主題對(duì)JVM進(jìn)行全面而深入的分析,深刻揭示JVM的工作原理。以實(shí)踐為導(dǎo)向,通過大量與實(shí)際生產(chǎn)環(huán)境相結(jié)合的案例展示了解...

    shaonbean 評(píng)論0 收藏0
  • JVM 知識(shí)點(diǎn) 01

    摘要:新生代又被劃分為三個(gè)區(qū)域和兩個(gè)幸存區(qū)。這樣劃分的目的是為了使能夠更好地管理堆內(nèi)存中的對(duì)象,包括內(nèi)存的分配及回收。新生代主要存儲(chǔ)新創(chuàng)建的對(duì)象和尚未進(jìn)入老年代的對(duì)象。 在Java中主要有以下三種類加載器: 引導(dǎo)類加載器(bootstrap class loader) --用來加載java的核心庫(Strin...

    不知名網(wǎng)友 評(píng)論0 收藏0
  • 《深入理解java虛擬機(jī)》學(xué)習(xí)筆記系列——java內(nèi)存區(qū)域劃分

    摘要:運(yùn)行時(shí)數(shù)據(jù)區(qū)域的學(xué)習(xí),是學(xué)習(xí)以及機(jī)制的基礎(chǔ),也是深入理解對(duì)象創(chuàng)建及運(yùn)行過程的前提。了解內(nèi)存區(qū)域劃分,是學(xué)習(xí)概念的前提。 Java 運(yùn)行時(shí)數(shù)據(jù)區(qū)域的學(xué)習(xí),是學(xué)習(xí) jvm 以及 GC 機(jī)制的基礎(chǔ),也是深入理解 java 對(duì)象創(chuàng)建及運(yùn)行過程的前提。廢話不多說,直接進(jìn)入正題: 一張圖總結(jié) showImg(https://segmentfault.com/img/bVOMAn?w=685&h=5...

    史占廣 評(píng)論0 收藏0
  • java基礎(chǔ)小記

    摘要:看到的只是,而由泛型附加的類型信息對(duì)來說是不可見的。然后再加載執(zhí)行類的靜態(tài)變量以及靜態(tài)語句塊。接口中基本數(shù)據(jù)類型為而抽類象不是的。本地方法接口主要是調(diào)用或?qū)崿F(xiàn)的本地方法及返回結(jié)果。用戶自定義類加載器,在程序運(yùn)行期間,通過的子類動(dòng)態(tài)加載。 編譯機(jī)制  編譯主要是把?.Java文件轉(zhuǎn)換為 .class 文件。其中轉(zhuǎn)換后的 .class 文件就包含了元數(shù)據(jù),方法信息等一些信息。比如說元數(shù)據(jù)就...

    ruicbAndroid 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

xuexiangjys

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<