原创 JVM內存模型

 JVM內存模型總體架構圖        1)程序計數器 多線程時,當線程數超過CPU數量或CPU內核數量,線程之間就要根據時間片輪詢搶奪CPU時間資源。因此每個線程有要有一個獨立的程序計數器,分支、循環、跳轉、異常處理、線程恢復等基礎功

原创 python 不要使用可變類型作爲函數的默認值

1. 問題描述: 給Bus類賦值默認值[], 創建兩個類實例,兩個實例的pas指向同一個地址   原因:默認值,在函數定義時計算(通常是在加載模塊的時候),因此,默認值變成了函數的屬性,所以,初始化類對象的時候,只要默認值是可變對象,並

原创 Java垃圾回收機制(3)

(一) 關於垃圾回收的幾點補充   經過上述的說明,可以發現垃圾回收有以下的幾個特點:   (1)垃圾收集發生的不可預知性:由於實現了不同的垃圾回收算法和採用了不同的收集機制,所以它有可能是定時發生,有可能是當出現系統空閒CPU資源時發生

原创 python 裝飾器

簡言之,python裝飾器就是用於拓展原來函數功能的一種函數,這個函數的特殊之處在於它的參數就是被裝飾的函數,它的返回值也是一個函數或者可調用的對象,使用python裝飾器好處就是在不用更改原函數的代碼前提下給函數增加新的功能。 一般而言

原创 python 閉包

1. 閉包是什麼 閉包: 如果在一個函數的內部定義了另一個函數,外部的我們叫他外函數,內部的我們叫他內函數。在一個外函數中定義了一個內函數,內函數裏運用了外函數的臨時變量,並且外函數的返回值是內函數的引用。這樣就構成了一個閉包。 一般情況

原创 計算機網絡面試(1)

1、OSI(Open System Interconnect):開放系統互聯,七層計算機網絡模型,分別爲:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。 集線器,網卡工作在物理層,交換機,網橋工作在數據鏈路層,路由器工作在網

原创 kafka(1)- kafka入門

Kafka主要特點: 高吞吐量:同時爲發佈和訂閱提供高吞吐量。據瞭解,Kafka每秒可以生產約25萬消息(50 MB),每秒處理55萬消息(110 MB)。持久化。將消息持久化到磁盤,因此可用於批量消費。通過將數據持久化到硬盤以及rep

原创 java垃圾回收機制(1)

一:垃圾回收機制的意義 在C++中,對象所佔的內存,在程序結束運行之前一直被佔用,在明確釋放之前不能分配給其它對象; 在Java中,當沒有對象引用指向一片內存時,該內存便成爲垃圾。JVM的一個系統級線程會自動釋放該內存塊。 事實上

原创 計算機網絡面試(2)

1. IP 地址的分類 A類地址:以0開頭,第一個字節範圍:0~127; B類地址:以10開頭,第一個字節範圍:128~191; C類地址:以110開頭,第一個字節範圍:192~223; D類地址:以1110開頭,第一個字節範圍

原创 Java垃圾回收機制(2)

(一)GC的執行機制   由於對象進行了分代處理,因此垃圾回收區域、時間也不一樣。GC有兩種類型:Scavenge GC和Full GC。 Scavenge GC: 一般情況下,當新對象生成,並且在Eden申請空間失敗時,就會觸發

原创 kafka(2):kafaka mac/linux 安裝

Kafka安裝和配置,依賴zookeeper  1.安裝和啓動zookeeper (1)下載 wget  http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zoo

原创 kafka(3) zookeeper 的使用簡介

1.啓動zookeeper 進入Zookeeper/bin目錄,運行下面的命令來啓動Zookeeper服務 $ ./zkServer.sh start JMX enabled by default Using config: /opt/

原创 Java併發編程:併發容器之CopyOnWriteArrayList

Java併發編程:併發容器之CopyOnWriteArrayList(轉載)   原文鏈接:   http://ifeve.com/java-copy-on-write/      Copy-On-Write簡稱COW,是一種用於程

原创 java 中的區別

1、Java中wait()和sleep()的區別 1)、方法來源:sleep()方法屬於Thread類,wait()方法屬於Object類。  2)、佔用資源:sleep=“佔着CPU睡覺”;wait=“等待使用CPU”。

原创 redis -- 連接

1.auth mypassword: 通過密碼進行保護redis 服務器,但是 因爲 Redis 高性能的特點,在很短時間內嘗試猜測非常多個密碼是有可能的,因此請確保使用的密碼足夠複雜和足夠長,以免遭受密碼猜測攻擊。 # 設置密碼