原创 牛客習題總結17

抽象類中的抽象方法(其前有 abstract1修飾)不能用 private、 static、 synchronized、na tive訪回修飾符修飾。原因如下: private 抽象方法沒有方法體,是用來被繼承的,所以不能用

原创 UDP客戶端和服務端

IP地址(源IP,目的IP) 用來識別互聯網上一臺主機的位置 端口號(源端口,目的端口) 用來區分一臺主機上的哪個應用程序 (佔兩個字節的整數) 五元組: 源IP, 目的IP 源端口, 目的端口 協議類型 通過一個五元組表示一個唯

原创 TCP服務器(以Echo服務器爲例))

TCP服務器 他也涉及到兩個核心的類 ServerSocket Socket 這裏注意: UDP協議無連接,類似發微信,直接發就行 TCP協議有連接,類似打電話,要接通才能通話。 這裏依然用回顯服務器模式來體會TCP服務器: im

原创 牛客習題總結22(6月24日)

時間複雜度 既然要在任意地方插入值 這個複雜度一定是N 也就是嘗試次數 權值=211+28+26+23+3*5=71 我當時傻了。。 這是一個大堆,堆排序就是先最後一個和第一個進行交換,然後忽略掉最後一個,然後重

原创 牛客習題總結15

重載必須是在一個類中。 重寫: 方法名相同,參數類型相同 子類返回類型小於等於父類方法返回類型, 子類拋出異常小於等於父類方法拋出異常, 子類訪問權限大於等於父類方法訪問權限。 local variable, 局部變量:在方

原创 牛客習題總結18

超類即父類。 HashSet的底層還是用HashMap來實現的。將Entry<K,V>的V都變成了同一個Object對象,public static final PRESENT = new Object()。 而HashMa

原创 牛客習題總結8

數組是對象哦。數組的父類也是Object,每個數組都實現了接口Cloneable and java.io.Serializable import java.util.ArrayList; import java.util

原创 牛客習題總結23(6月25日)

棧是限定在一端進行插入與刪除的線性表,允許插入與刪除的一端稱爲棧頂,不允許插入與刪除的另一端稱爲棧底。棧按照“先進後出”(FILO)或“後進先出”(LIFO)組織數據,棧具有記憶作用 尾遞歸是指,在函數返回的時候,調用自身本

原创 牛客習題總結9

A不影響,B會終止,C會阻塞,D沒關係 null可以被強制類型轉換成任意類型的對象,通過這樣的方式可以執行對象的靜態方法,但如果方法不是靜態方法的話,由於null對象並沒有被實例化(分配空間),因而運行時會報空指針錯誤。 i

原创 牛客習題總結12

但是volatile不能保證原子性,也就不能保證線程安全。 1,可見性 可見性指的是在一個線程中對該變量的修改會馬上由工作內存(Work Memory)寫回主內存(Main Memory),所以會馬上反應在其它線程的讀取操作中

原创 牛客習題總結20

首先肯定不能使用內存排序算法,內存根本裝不下,所以需要使用外存來排序。這時候使用多路歸併排序,把數據分爲n段,每段小於100Mb,再使用用內存來排序,將排序結果用外存記錄,然後每次從外存中來取記錄,在內存中進行比較,從而獲取最

原创 牛客習題總結14

Java 運行時數據區可以分成 方法區、 堆、 棧、 程序計數器、 本地方法棧 堆:Java 對象, 線程之間共享的 棧:方法運行,每一個方法對應一個棧幀,每一個線程對應一個棧, 每個棧幀包括 操作數、局部變量表、指向運行時常

原创 牛客習題總結13

import java.util.Scanner; import java.util.HashSet; public class Main { public static void main(String[] ar

原创 牛客習題總結11

1.只能以字母開頭 2、java的變量名有三種元素構成:數字+字符+$+下劃線。 3、java對這三種元素的順序也是有要求的:不能以數字開頭+不能是關鍵字. 4、A中錯在以數字開頭、B中錯在有空格、C中錯在有*. 爲什麼我們

原创 牛客習題總結10

a屬於類所以在堆中。bc屬於方法,b c爲局部變量,局部變量不屬於任何類或者實例,因此它總是保存在其所在方法的棧內存中! A:變量不能被defalut修飾 B:native修飾方法,native修飾的方法簡單來說就是:一個J