好東西分享上一次我們已經一起回顧了面試題中常考的到底創建了幾個String對象的相關知識,這一次我們以幾個常見面試題為引子,來回顧一下String對象相關的其它一些方面。String的length()方法和數組的length屬性String類有length()方法嗎?數組有length()方法嗎?String類當然有length()方法了,看看String類的源碼就知道了,這是這個方法的定義:Java代碼publicintlength(){returnco
系統 2019-08-12 09:30:16 1767
對于不同的系統,程序運行內存的分配可能略有不同,這里只以最基本的4塊做介紹。堆內存(Heap)是用于動態給new出來的對象分配空間(每個對象大小不定),堆內存比較大;對象的引用(一般在方法體內,new對應之后賦給一個引用),可以看成局部變量,在stack中分配空間(即棧內存);基礎類型變量只分配一塊內存(stack),引用類型變量占兩塊內存(heap,stack)。①Load到內存區(程序----我們編寫的代碼是存在硬盤上面的);②找到main方法開始執行
系統 2019-08-12 09:30:09 1767
Map排序的方式有很多種,這里記錄下自己總結的兩種比較常用的方式:按鍵排序(sortbykey),按值排序(sortbyvalue)。按鍵排序(sortbykey)jdk內置的java.util包下的TreeMap既可滿足此類需求,原理很簡單,其重載的構造器之一有一個參數,該參數接受一個比較器,比較器定義比較規則,比較規則就是作用于TreeMap的鍵,據此可實現按鍵排序。publicMapsortMapBy
系統 2019-08-12 09:29:29 1767
java的類中,這3個關鍵詞的用法有所區別,先看一個表格:private大多數成員變量都是修飾符為private的,它們不希望被其他任何外部的類訪問。只能被類內部的成員函數訪問。default它是針對本包訪問而設計的,任何處于本包下的類、接口、異常等,都可以相互訪問,即使是父類沒有用protected修飾的成員也可以。protected主要的作用就是用來保護子類的。它的含義在于子類可以用它修飾的成員,其他的不可以,它相當于傳遞給子類的一種繼承的東西publ
系統 2019-09-27 17:46:12 1766
JAVA對象拷貝為什么需要有對象拷貝?對象拷貝相對的自然是引用拷貝。java初學者經常會問,我這個方法要改變一個對象的屬性,可以把參數傳進去了,為什么沒有改變了?——基本數據類型傳值,而對象傳引用或引用的拷貝。而有時候我們要獲取到一個當前狀態的對象復制品,他們是兩個獨立對象。不再是引用或者引用拷貝(實質都是指向對象本身)。就是說a是b的拷貝,b發生變化的時候,不要影響a。對象拷貝有淺拷貝和深度拷貝兩種。1)淺拷貝淺拷貝是指對象中基本數據類型得到拷貝,而引用
系統 2019-08-29 23:47:17 1766
代理模式UML類圖代理模式1.靜態代理/***為被代理的類提供一個接口,是為了提高代理的通用性,凡是實現了該接口的類,都可以被代理*這里其實就是運用了java面向對象的多態性*/publicinterfaceIHello{publicvoidsayHello();}/***被代理的類,最根本的想法就是想用另外一個類來代理這個類,給這個類添加一些額外的東西*我們只需要創建另外一個類引用這個類就行了*/publicclassHelloimplementsIHe
系統 2019-08-29 22:57:10 1766
StringbirthdayString="2006-04-05";java.util.Datebirthday=newjava.util.Date();try...{java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat("yyyy-MM-dd");birthday=sdf.parse(birthdayString);System.out.println(birthday);System.o
系統 2019-08-29 22:56:37 1766
程序設計模式的有趣解釋-追MM創建型模式1、FACTORY一追MM少不了請吃飯了,麥當勞的雞翅和肯德基的雞翅都是MM愛吃的東西,雖然口味有所不同,但不管你帶MM去麥當勞或肯德基,只管向服務員說“來四個雞翅”就行了。麥當勞和肯德基就是生產雞翅的Factory工廠模式:客戶類和工廠類分開。消費者任何時候需要某種產品,只需向工廠請求即可。消費者無須修改就可以接納新產品。缺點是當產品修改時,工廠類也要做相應的修改。如:如何創建及如何向客戶端提供。2、BUILDER
系統 2019-08-29 22:48:37 1766
當我們或許是煞費苦心所敲的代碼無法運行時,可能我們更多想到的不是自己所敲的代碼存在錯誤,而是系統或者某些外在的客觀的原因。多次的運行失敗之后,漸漸的意識到很多錯誤并不是系統的外在的原因,而是自己丟三拉四的緣故,下面就結合自己所敲的寥寥的代碼總結一下Java程序不能運行的幾種原因。一.系統存在問題(運行環境或配置問題):很正常,當一個程序無法運行時,第一時間想到的是最大的一個問題:環境抑或系統出現了這樣或那樣的問題,人之常情。對這種問題,一般情況下很容易找到
系統 2019-08-29 22:30:09 1766
一、程序使用java類的運行順序當程序主動使用某個類的時候,若該類還未被加載至內存中,系統會通過加載,連接,初始化三個步驟對類進行初始化,有事也把這三個步驟稱為類加載或者類的初始化。1類的加載將被編譯的.java而成為.class字節碼讀入JVM內存并為之創建一個java.lang.Class對象,也就是說當程序中使用任何類的時候系統都會為之建立一個java.lang.Class對象。類的加載由類加載器完成,類加載器通常有JVM提供,我們稱JVM提供的類加
系統 2019-08-29 22:04:23 1766
版權聲明:轉載請注明作者(獨孤尚良dugushangliang)出處:https://blog.csdn.net/dugushangliang/article/details/90200689python代碼如下。classSon():def__init__(self):print("sonsayhi")print("haha")if__name__=='__main__':son=Son()運行結果如下:再試用下面代碼,只有幾個類的定義,沒有實例化。cl
系統 2019-09-27 17:56:21 1765
對象與基本類型幾乎所有Java初學者都被告知,在Java里一切都被視為對象(Object),操縱對象的表示符實際上時對象的一個引用(Reference)。例如Stringstr;//注意!此處創建了一個引用,而非對象str=newString(“Hello”);//這里創建了一個String對象并與str相關聯通常用new操作符來創建一個新對象,并存儲在堆里面。【注】具體內容可以參看Java堆與棧程序設計中有一系列小的、簡單的變量(筆者是這樣認為的),將它
系統 2019-08-29 23:07:26 1765
無圖無真相,先貼運行截圖:客戶端:登錄:注冊:注冊成功:查找好友:找到好友:用戶驗證請求:好友分組:客戶端主界面:個人資料:好友資料:聊天窗口:系統菜單:狀態設置:系統托盤:服務器端:啟動服務器:服務器運行狀態:java版仿QQ聊天軟件,大量貼圖,開放代碼~~
系統 2019-08-29 22:47:47 1765
JAVA基礎--方法傳參為啥拿這個當話題?在初學者階段,許多童鞋都對方法傳參比較迷茫,知其然不知其所以然。一.先說說參數傳遞的幾個術語:值調用(callbyvale):表示方法接收的是調用者傳遞的值。引用調用(callbyreference):表示方法接收的是調用者傳遞的變量地址。一個方法可以修改傳遞引用所對應的變量值,而不能修改傳遞值調用所對應的變量值;**JAVA語言總是采用值調用。也就是說,JAVA方法得到的是所有參數值的一個拷貝,方法不能修改傳遞給
系統 2019-08-29 22:32:28 1765
前言:項目中要做一個發送郵件的功能,在網上搜了一些代碼,說的都不是很完善。自己就整理了一個可以運行的項目。需要注意的地方是:如果發送人的郵箱是qq郵箱,那么需要在設置->賬戶里面把√打上。spring里面的smtp.126.com要配置成smtp.qq.com126郵箱同理。步驟如下:用spring做一個javaMail功能。1、先建一個項目。java項目和web
系統 2019-08-29 22:21:42 1765