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
System.load()與System.loadLibrary()的區別: 1.它們都可以用來裝載庫檔案,不論是JNI庫檔案還是非JNI庫檔案。在任何本地方法被調用之前必須先用這個兩個方法之一把相應的JNI庫檔案裝載。 2.System.load 參數為庫檔案的絕對路徑 System.load()與System.loadLibrary()詳解:
Time of Update: 2018-07-27
抽象類別的一些基本概念 目錄 用 [TOC]來組建目錄: 抽象類別的一些基本概念 目錄 抽象的概念 代碼塊 抽象的概念
Time of Update: 2018-07-27
Java-String類的使用 目錄 Java-String類的使用 目錄 String類的使用的使用瞭解 1 String類概述 2 構造方法 String的使用程式碼範例 String的特點一旦被賦值就不能改變
Time of Update: 2018-07-27
Java 類、抽象類別、介面的綜合小練習 目錄 用 [TOC]來組建目錄: Java 類抽象類別介面的綜合小練習 目錄 問題描述 代碼塊 問題描述 教練和運動員案例(學生分析然後講解) 乒乓球運動員和籃球運動員。 乒乓球教練和籃球教練。
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
/** * 從秒數獲得一個具體時間,24小時制,比如2016-12-12 23:23:15 * @param second * @return */public static String second2Moment24(long second){ Date date = new Date(second*1000); SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd
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
本來是一個很簡單的問題,大神用五行代碼搞定,我卻要用四十行代碼,不過正好實現下KMP演算法,也是一種學習。 題目如下: 其實就是一個字串匹配的問題,匹配到哪,就輸出哪裡的下標,否則就輸出-1.看到這個題目的時候我一下子就想到了KMP演算法,本來以為是省時省力的,沒想到運算起來還是蠻慢的。Java實現KMP演算法求解如下: //求NEXT數組public int[] makeNext(String P) { int q,k; int[] next
Time of Update: 2018-07-27
最近剛剛學完java,就做了這個小程式。當然,也是通過百度尋找資料,最後做出了這一個小程式。 功能: 點擊截屏按鈕,就開始截屏,在螢幕上畫出一個地區之後,就可以通過雙擊將圖片儲存到案頭。如果不想截屏,就右鍵滑鼠,退出程式。 我的是win10系統,所以案頭的地址是:C:\\Users\\Administrator\\Desktop。 這個小程式可以實現向左上方或者右下角方向的截屏。 這個小程式,每截一次屏,就退出了程式,能力有限,所以想再次截屏,就需要再次開啟。
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
程式調用自身的編程技巧稱為遞迴( 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
final關鍵字可以用於修飾類、變數和方法。final修飾變數時,表示該變數一旦獲得了初始值就不可改變。 final成員變數 final修飾的類Field、執行個體Field能指定初始值的地方如下: —>類Field:必須在靜態初始化塊中或聲明該Field時指定初始值。 —>執行個體field:必須在非靜態初始化塊、聲明該Field或構造器中指定初始值。 如果在普通初始化塊中已經為某個執行個體Field指定了初始值,則不要再在構造器中為該執行個體Field指定初始值。
Time of Update: 2018-07-27
深入理解Java 註解原理 *註解的用途 註解(Annotation)是JDK1.5引入的新特性,包含在java.lang.annotation包中,它是附加在代碼中的一些元資訊,將一個類的外部資訊與內部成員聯絡起來,在編 譯、運行時進行解析和使用。Java內建了一些註解(如@Override、@Deprecated等),還支援自訂註解,一些知名的架構 Struts、Hibernate、Spring都有自己實現的自訂註解,也可以自己定義註解供使用。
Time of Update: 2018-07-27
題目 :編寫一個截取字串的函數,輸入為一個字串和位元組數,輸出為按位元組截取的字串。 但是要保證漢字不被截半個,如“我ABC”4,應該截為“我AB”,輸入“我ABC漢DEF”,6,應該輸出為“我ABC”而不是“我ABC+漢的半個”。 需求分析: 1、輸入為一個字串和位元組數,輸出為按位元組截取的字串--------------》按照位元組[byte]截取操作字串,先將String轉換成byte類型 .2、漢字不可以截半-----------------------
Time of Update: 2018-07-27
剛剛開始接觸java數組的人都會聽到一句類似的話:java是純物件導向的語言,他的數組也是一個對象。於是乎,筆者就按照一個對象的方式來使用數組,心安理得。直到我接觸到C的數組後,才發現將數組作為一個類來使用在實現上是多麼的“不自然”。 首先我們看一下表面現象,數組建立的時候採用的是如下語句: MyClass[] arr = new MyClass.; 而普通類採用的是如下語句: MyClass obj = new MyClass();
Time of Update: 2018-07-27
關於自動化部署已經說了很多,也有很多專業的工具。本文不敢高攀那些高大上的方案,只是從自身實際出發,主要使用svn這個版本管理的工具,方便了發布和部署。 一. 原因 做為一個中小團隊,發布和部署是家常便飯,而且容易出問題,我們一般採用的方法有如下兩種: 直接更換war包 替換相應的jar包