Time of Update: 2018-07-27
1、業務日誌相關 如果系統出現異常或者業務有異常,首先想到的都是查看業務日誌 查看日誌工具: less 或者more grep tail -f filename 查看即時的最新內容 ps:切忌vim直接開啟大記錄檔,因為會直接載入到記憶體的 <h1 id="id-線上問題排查-2、 資料庫相關">2、資料庫相關 java應用很多瓶頸在資料庫,一條sql沒寫好導致慢查詢,可能就會帶來應用帶來致命危害。
Time of Update: 2018-07-27
最近在做一個app,其中有一個功能點是擷取原生外網ip,網上流傳的絕大部分都是擷取區域網路ip的方法,有些似乎能夠擷取外網ip方法但也已經失效。 大部分提到的都是 ip = InetAddress.getLocalHost().getHostAddress(); 或者 InetAddress[] inetAdds = InetAddress.getAllByName(InetAddress .getLocalHost().getHostName());
Time of Update: 2018-07-27
寫這些東西其實本質上是記錄因工作接觸 Storm 之後的學習進度,既然是工作,當然要敲代碼,所以這一篇就分享下基本 Java-API 吧。 首先看下面的圖(畫圖不行見諒),這是 Storm API 使用中最基本的介面和抽象類別關係。 OK,這裡我們可以清楚的看到,IComponent 是 API 核心介面,那麼其是怎麼的構成呢。 public interface IComponent extends Serializable { /** * @param
Time of Update: 2018-07-27
java.util.prefs操作註冊表是限制死在一個JAVASOFT的節點下的,無法操作其他 WINDOWS 註冊表節點的。 必須JNI本地介面利用 C語言 來調用WIN32API訪問註冊表 函數 去實現。 還有一種辦法是調用 cmd命令 import java.io.IOException; public class Test { public static void main(String[] args) throws IOException {
Time of Update: 2018-07-27
筆者在開發過程中,常常碰到過下面這些錯誤的用法: 1,錯誤用法一: if (name == "") { //do something } 2,錯誤用法二: if (name.equals("")) { //do something } 3,錯誤用法三: if (。name.equals("")) { //do something }
Time of Update: 2018-07-27
Table of Contents What is Maven? Maven 中央庫 如何將jar包發布到Maven中央庫 註冊Maven中央庫帳號
Time of Update: 2018-07-27
最近剛剛學完java,就做了這個小程式。當然,也是通過百度尋找資料,最後做出了這一個小程式。 功能: 點擊截屏按鈕,就開始截屏,在螢幕上畫出一個地區之後,就可以通過雙擊將圖片儲存到案頭。如果不想截屏,就右鍵滑鼠,退出程式。 我的是win10系統,所以案頭的地址是:C:\\Users\\Administrator\\Desktop。 這個小程式可以實現向左上方或者右下角方向的截屏。 這個小程式,每截一次屏,就退出了程式,能力有限,所以想再次截屏,就需要再次開啟。
Time of Update: 2018-07-27
什麼是Serializable介面。 一個對象序列化的介面,一個類只有實現了Serializable介面,它的對象才能被序列化 什麼是序列化。 將對象的狀態資訊轉換為可以儲存或傳輸的形式的過程,在序列化期間,對象將其目前狀態寫入到臨時儲存區或持久性儲存區,之後,便可以通過從儲存區中讀取或還原序列化對象的狀態資訊,來重新建立該對象 什麼情況下需要序列化。
Time of Update: 2018-07-27
MVC:model,view,controller model:應用的商務邏輯(如:資料庫的操作),通過JavaBean實現 (hibernate、mybatis、ibatis) view:視圖層,用於與使用者的互動,主要由jsp頁面產生。 (jsp、FreeMarker、tails、taglib、EL、Velocity ) controller:處理過程式控制制,一般是一個servlet。 它可以指派使用者的請求並選擇恰當的視圖以用於顯示
Time of Update: 2018-07-27
replace和replaceAll是JAVA中常用的替換字元的方法,它們的區別是: 1)replace的參數是char和CharSequence,即可以支援字元的替換,也支援字串的替換(CharSequence即字串序列的意思,說白了也就是字串); 2)replaceAll的參數是regex,即基於規則運算式的替換,比如,可以通過replaceAll("\\d", "*")把一個字串所有的數字字元都換成星號;
Time of Update: 2018-07-27
程式調用自身的編程技巧稱為遞迴( recursion)。遞迴做為一種演算法在程式設計語言中廣泛應用。
Time of Update: 2018-07-27
在閱讀本篇文章時,至少首先對JVM的概念、工作原理、結構組成,有一定的基礎性瞭解,廢話不多說,本文開門見山,直接以工作中比較常見的幾種概念:類、類對象、執行個體對象、靜態方法、非靜態方法、靜態屬性、非靜態屬性等為出發點,直接切入JVM記憶體的使用及分配,通過這些原理認清Java中的靜態方法和靜態屬性的問題,其次講JVM的記憶體堆棧模型,主要描述JVM記憶體堆棧結構的組成,最後是JVM的記憶體參數設定,主要描述記憶體設定,以防止記憶體溢出。 一、從JVM記憶體角度認清靜態訪問、靜態屬性
Time of Update: 2018-07-27
while迴圈語句用法比for語句用起來簡單,格式也對的簡單; while(判斷條件){ 迴圈體 } public class WhileTest { public static void main(String[] args) { int i=1; while (i<=10) { System.out.println("你好"+i); i++; } }}
Time of Update: 2018-07-27
1. 運行時記憶體劃分 1.1. 程式計數器 位元組碼行號指標,用於讀取下一條需要執行的位元組碼指令。 對Java方法記錄虛擬機器位元組碼指令地址;對Native方法記錄值為空白。 線程私人,各線程互不影響。 1.2. 虛擬機器棧 Java方法執行過程所建立,每調用一個方法就會建立一個棧幀並將之入棧,方法結束後會將棧幀出棧。 棧幀存放局部變數表(編譯期分配,包括基礎資料型別 (Elementary Data
Time of Update: 2018-07-27
使用GZIPOutputStream進行GZIP壓縮: public static byte[] compress(String str, String encoding) { if (str == null || str.length() == 0) { return null; } ByteArrayOutputStream out = new ByteArrayOutputStream();
Time of Update: 2018-07-27
final關鍵字可以用於修飾類、變數和方法。final修飾變數時,表示該變數一旦獲得了初始值就不可改變。 final成員變數 final修飾的類Field、執行個體Field能指定初始值的地方如下: —>類Field:必須在靜態初始化塊中或聲明該Field時指定初始值。 —>執行個體field:必須在非靜態初始化塊、聲明該Field或構造器中指定初始值。 如果在普通初始化塊中已經為某個執行個體Field指定了初始值,則不要再在構造器中為該執行個體Field指定初始值。
Time of Update: 2018-07-27
1.線程優先順序 優先順序最大值為10,最小值為1,預設為5,設定線程的優先順序,不要超過它的取值範圍,不然會拋出異常。 優先順序高的線程,會優先得到 cup 的時間片的控制權。 RabbitThread rabbitThread = new RabbitThread(); rabbitThread.start(); rabbitThread.setPriority(Thread.MIN_PRIORITY);
Time of Update: 2018-07-27
public Font(String name,int style,int size) 根據指定名稱、樣式和點大小,建立一個新 Font。 字型名稱可以是字型外觀名稱或字型系列名稱。它與樣式一起使用,以尋找合適的字型外觀。如果指定了字型系列名稱,則使用樣式參數從系列中選擇最合適的外觀。如果指定了字型外觀名稱,則合并外觀的樣式和樣式參數,以便從同一個系列尋找最匹配的字型。例如,如果指定外觀名稱 "Arial Bold"
Time of Update: 2018-07-27
在開始討論編碼解碼之前,首先來明確一下問題。 什麼是application/x-www-form-urlencoded字串。 答:它是一種編碼類別型。當URL地址裡包含非西歐字元的字串時,系統會將這些字元轉換成application/x-www-form-urlencoded字串。 表單裡提交時也是如此,當包含非西歐字元的字串時,系統也會將這些字元轉換成application/x-www-
Time of Update: 2018-07-27
關於自動化部署已經說了很多,也有很多專業的工具。本文不敢高攀那些高大上的方案,只是從自身實際出發,主要使用svn這個版本管理的工具,方便了發布和部署。 一. 原因 做為一個中小團隊,發布和部署是家常便飯,而且容易出問題,我們一般採用的方法有如下兩種: 直接更換war包 替換相應的jar包