原创 java某項目中定位CPU分析

1、故障現象 使用top命令查看服務器情況,發現CPU佔用率過高。 2、CPU佔用過高問題定位 2.1、定位問題進程 使用top -c和ps -ef|grep  xw-......-service-2.0.0.jar命令查看資源佔用情況,

原创 map、string、array、list等工具類、Java源碼

一、功能類的基本源碼 1、MapUtils 獲取Map中指定key的value 使用getString(final Map map, final Object key)方法,當然,也可使用getString( Map map, Objec

原创 快排(java版)

接下來介紹一下快排: 假設我們現在對“6  1  2 7  9  3  4  5 10  8”這個10個數進行排序。首先在這個序列中隨便找一個數作爲基準數(不要被這個名詞嚇到了,就是一個用來參照的數,待會你就知道它用來做啥的了)。爲了方便

原创 java之內存管理、內存溢出、垃圾回收(GC)

  1.介紹下Java內存區域(運行時數據區)。 Java虛擬機在執行Java程序的過程中會把它所管理的內存劃分爲以下6個運行時數據區域。 程序計數器(Program Counter Register) 一塊較小的內存空間,可以看作當前線

原创 java項目中查看java堆棧信息

工具:top或者 htop(高級) 方法:top -c 顯示進程運行詳細列表 鍵入 P (大寫P),按照cpu進行排序 然後用top -p 12430 -H 定位到最耗cpu的線程 的ID 例如:12483 工具:top 方法:top -

原创 單例模式

Singleton是一種創建型模式,指某個類採用Singleton模式,則在這個類被創建後,只可能產生一個實例供外部訪問,並且提供一個全局的訪問點 。所謂單例設計模式簡單說就是無論程序如何運行,採用單例設計模式的類(Singleton類)

原创 UML工具Power Designer建表

現在我們來使用Power Designer這個工具設計數據庫。首先打開Power Designer這個工具,點擊【文件】菜單,在下拉框中選中【建立新模型】,如下:  在彈出的對話框中創建一個Model,可按下圖創建。 接着來創建一個數據庫

原创 java發送http的get、post請求

Http請求:package wzh.Http; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;

原创 代理模式

代理模式概述在我們的生活中,有很多普通而又可敬的建築工人,他們自己有技術,卻沒有機會隨便參與一個項目中去;這時候他們往往會去找也是搞建築的包工頭,包工頭手上有很多活可以分派給工人去做。這個過程中包工頭就相當於是代理類,主要就是接活; 建築

原创 編程式和聲明式事務

編程式事務通用類: import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.datasource.Dat

原创 RabbitMQ三種Exchange模式(fanout,direct,topic)簡介

(一)RabbitMQ基本概念 RabbitMQ是流行的開源消息隊列系統,用erlang語言開發。RabbitMQ是 AMQP(高級消息隊列協議)的標準實現。 1、概念說明: Broker:簡單來說就是消息隊列服務器實體。 Exchang

原创 MySQL數據庫事務的四大特性以及事務的隔離級別

目錄 一、事務的四大特性(ACID) 1、原子性(Atomicity) 2、一致性(Consistency) 3、隔離性(Isolation) 4、持久性(Durability) 二、事務的隔離級別(默認事務級別爲可重複讀) MySQL數

原创 nginx反向代理-解決前端跨域問題

1.定義 跨域是指a頁面想獲取b頁面資源,如果a、b頁面的協議、域名、端口、子域名不同,所進行的訪問行動都是跨域的,而瀏覽器爲了安全問題一般都限制了跨域訪問,也就是不允許跨域請求資源。注意:跨域限制訪問,其實是瀏覽器的限制。理解這一點很重

原创 nginx中location的匹配規則

一、語法規則 location [=|~|~*|^~] /uri/ { … } 符號 含義 = 開頭表示精確匹配 ^~ 開頭表示 uri 以某個常規字符串開頭,理解爲匹配 url 路徑即可。nginx 不對 url 做編碼,因此請求爲/

原创 實現Callable接口的線程使用

項目中經常接觸線程,特別是在推送MQ的時候,都是使用線程來執行操作。在這裏,用一個簡單的例子來整理一個很簡單的使用方法。代碼如下: public class TestThread {     public static void main