原创 Java中HashMap底層實現原理(JDK1.8)源碼分析

這幾天學習了HashMap的底層實現,但是發現好幾個版本的,代碼不一,而且看了Android包的HashMap和JDK中的HashMap的也不是一樣,原來他們沒有指定JDK版本,很多文章都是舊版本JDK1.6.JDK1.7的。現在我來分

原创 java蛇形矩陣輸出方法(順時針、逆時針)

package myTest.test; public class TestMatrix { /** * 蛇形矩陣輸出方法(順時針、逆時針輸出僅僅在開始的方向不同,順時針向右,逆時針向下) * * @param N

原创 同一個tomcat實例下多個應用之間相互調用的實現

項目開發中遇到同一個tomcat下的多個應用之間會相互調用的問題,分享一下實現方法。 背景: tomcat有project1,project2兩個應用,在project2中需要調用project1中bean裏的方法。 預置條件: tomc

原创 JVM內存模型詳解

筆記大綱1、jvm內存結構圖2、jvm按照線程共享和私有內存區域劃分結構圖3、堆和棧在功能、內存大小、線程共享私有進行比較4、JVM運行結構圖5、線程安全本質時序圖6、jdk6、7、8三個版本內存模型比較7、jdk1.8爲什麼將方法區移除

原创 mongodb高可用方案(二)可複製集

一、mongodb高可用方案實現 1)主從複製(不建議使用,會有單點故障的問題) 2)複製集(mongodb官方推薦) 主從複製會有如下問題 1、主節點掛了能否自動切換連接(目前需要手工切換)。 2、主節點的讀寫壓力過大如何解決

原创 五種IO模型詳解

在《Unix網絡編程》一書中提到了五種IO模型,分別是:阻塞IO、非阻塞IO、多路複用IO、信號驅動IO以及異步IO。下面就分別來介紹一下這5種IO模型的異同。1.阻塞IO模型  最傳統的一種IO模型,即在讀寫數據過程中會發生阻塞現象。 

原创 https之SSL證書

內容大綱 1、SSL證書是由受信任的數據證書頒發機構頒發的證書,主要是幫助用戶識別服務器身份以及數據傳輸過程加密防止數據被篡改,防劫持、防篡改、防監聽。 2、一份SSL證書包含一個公鑰和一個私鑰。公鑰用於數據加密私鑰用於數據解密。

原创 redis哨兵機制

一、爲什麼要使用哨兵機制redis主從複製存在缺陷,如果主節點出現問題不能提供服務,需要人工重新把從節點設置爲主節點,還需要通知應用程序更新了主節點的地址。這樣處理是非常不科學的。redis2.8正式提供哨兵架構。二、哨兵機制原理當sen

原创 mongodb高可用方案(一)主從複製

一、mongodb爲什麼要做主從 1、數據的備份,有利於故障的恢復 2、讀寫分離,主節點負責寫操作,從節點負責讀操作,這樣就把讀寫壓力分開,保證系統的穩定性. 二、mongodb主從複製的原理 主節點會記錄寫有關的操作,讀操作不記錄

原创 linux環境定時重啓tomcat

1.寫一個shell腳本test.sh,重新啓動tomcat [java] view plain copy    #!/bin/sh      . /etc/profile      pid=`ps aux |

原创 redis持久化方案

一、什麼是redis的持久化redis持久化的機制如下圖二、redis持久化的兩種方式方式一:RDB將當前數據快照到.rdb格式文件。方式二:AOF將寫操作追加到緩衝區,再將緩衝區的操作同步到磁盤。三、兩種持久化方式的對比1)RDB不能實

原创 JSP頁面頭部page標籤詳解

理解這個page標籤必須搞懂jsp文件從請求到響應經歷的三個階段。 1)將jsp文件編譯成servlet java文件(pageEncoding) 2)服務器將java文件編譯成class文件(不受外界參數控制) 3)服務器將數據返

原创 服務器推送消息SSE以及springmvc後臺實現例子

什麼是SSE? SSE ( Server-sent Events )是 WebSocket 的一種輕量代替方案,使用 HTTP 協議,嚴格地說,HTTP 協議是沒有辦法做服務器推送的,但是當服務器向客戶端聲明接下來要發送流信息時,客戶端

原创 linux清除tomcat日誌文件Shell腳本

生產環境中tomcat每天都會產生很多日誌,如果不清理磁盤容量會不夠,手動清理又太麻煩。因此寫個腳本每天定時去刪除5天前(根據實際情況而定)的日誌文件。 1.寫一個/usr/local/script/cleanTomcatlog.sh腳本

原创 手動方式搭建redis集羣

redis集羣環境手動搭建流程1)配置6份redis.conf文件。2)啓動這6個redis實例。3)登錄到其中一個redis實例和另外5個實例手動建立連接。4)登錄到三個主節點將16384個槽點分配到這三個主節點。5)登錄到三個從節點設