Time of Update: 2018-12-06
前幾天做項目時,在做系統日誌這一塊,都是在每個方法裏手寫代碼來添加,覺得很繁瑣,考慮到spring有aop的功能,便尋思著用AOP來做這個日誌功能。首先需要傳入日誌記錄的具體操作名稱,我們可以用java的註解功能來帶入參數,代碼如下:/** * 類的方法描述註解 * @author LuoYu */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited public
Time of Update: 2018-12-06
程式是很簡易的。然而,在編程人員面前,多線程呈現出了一組新的難題,如果沒有被恰當的解決,將導致意外的行為以及細微的、難以發現的錯誤。
Time of Update: 2018-12-06
import java.util.List;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;
Time of Update: 2018-12-06
PO(persistant object) 持久對象在o/r 映射的時候出現的概念,如果沒有o/r映射,就沒有這個概念存在了.通常對應資料模型(資料庫),本身還有部分商務邏輯的處理.可以看成是與資料庫中的表相映射的java對象.最簡單的PO就是對應資料庫中某個表中的一條記錄,多個記錄可以用PO的集合.PO中應該不包含任何對資料庫的操作.VO(value object)
Time of Update: 2018-12-06
基本概念: 1.OOP中唯一關心的是對象的介面是什麼,就像電腦的銷售商她不管電源內部結構 是怎樣的,他只關係能否給你提供電就行了,也就是只要知道can or not而不是how and why。所有的程式是由一定的屬性和行為對象組成的,不同的對象的訪問通過函數調用來完成,對象間所有的交流都是通過方法調用,通過對封裝對象資料,很大 限度上提高複用率。2.OOP中最重要的思想是類,類是模板是藍圖,從類中構造一個對象,即建立了這個類的一個執行個體(instance)。 3.封裝:
Time of Update: 2018-12-06
原文連結:http://liuming690452074.blog.163.com/blog/static/113675734201001031320517/ Tomcat的異常 之 java.lang.IllegalArgumentException: Document base 有些剛開始使用的Tomcat的朋友會出現的問題,明明已經將某個web應用從tomcat下的webapps下移除了,為什麼還會拋這樣的異常呢?java.lang.IllegalArgumentException:
Time of Update: 2018-12-06
主要容易出錯的地方是byte[] passByte 向字串的轉化,不能直接用passByte.toString(); public void testaaa() { try { MessageDigest messageDigest = MessageDigest.getInstance("MD5"); messageDigest.reset(); String ss="hello";
Time of Update: 2018-12-06
newCachedThreadPool();newCachedThreadPool(ThreadFactory factory);建立一個可根據需要建立新線程的線程池,但是在之前構造的線程可用時將重用它們。對於執行很多短期非同步任務的程式而言,這些線程池通常可提高程式效能。調用 execute 將重用之前構造的線程(如果線程可用)。如果現有線程沒有可用的,則建立一個新線程並添加到池中。終止並從緩衝中移除那些已有 60
Time of Update: 2018-12-06
首先,看一張類集架構的關係圖,這張圖詳細的描述了類集架構中的類以及介面。從關係圖中可以看到,我們一般使用都都是從Collection介面繼承過來的。下面我們看看Collection都有哪些方法供我們使用。類集架構主體結構:集合(set):對象不按特定的當時排序,沒有重複對象。列表(list):對象按照索引位置排序,可以有重複的對象。映射(map):每一個元素包含一個鍵對象和一個值對象,鍵不可以重複,值可以重複。執行個體一,List:import
Time of Update: 2018-12-06
*所謂同步機制是指兩個線程同時操作一個對象,應該保持對象資料的統一性和整體性。*Java語言中有兩種同步形式,即同步方法和同步代碼塊。1,同步方法同步方法將訪問這個資源的方法都標記為synchronized,這樣在需要調用這個方法的線程執行完之前,其它調用該方法的線程都會被阻塞。synchronized void sum(){…}synchronized void max(){…}*建立兩個線程的例子import java.util.logging.Level; import
Time of Update: 2018-12-06
一:JAVA的由來和發展 它最初被命名為Oak,重要的發展起始人是James
Time of Update: 2018-12-06
(因為最近寫個小工具,在手機平台上需要用到,所以整理了大部分相關文檔,希望對讀者有用,若有筆誤請來信告訴謝謝:silentbalanceyh@126.com)1.Java記憶體回收行程概述 Java2平台裡面引入了java.lang.ref包,這個包中的類可以讓我們引用對象,而是的這些對象不用停留在記憶體中。不僅僅如此,這些類和Java本身的記憶體回收行程還存在一定的互動。我們平時開發的時候有時候會用到System.gc()方法,而Java裡面GC的基本工作原理又是如何呢?當然使用Java引用
Time of Update: 2018-12-06
通常,多線程之間需要協調工作。例如,瀏覽器的一個顯示圖片的線程displayThread想要執行顯示圖片的任務,必須等待下載線程downloadThread將該圖片下載完畢。如果圖片還沒有下載完,displayThread可以暫停,當downloadThread完成了任務後,再通知displayThread“圖片準備完畢,可以顯示了”,這時,displayThread繼續執行。
Time of Update: 2018-12-06
一個類對另一個類的依賴應該表現成依賴儘可能小的介面。 這個原則是用來處理胖介面的缺陷,避免介面承擔太多的責任。比如說一個介面內的方法可以被分成好幾組,分別為不同的客戶程式服務,說明這個介面太胖了。當然,確實也有一些類不需要內聚的介面,但這些類不應該做為單獨的類被客戶程式直接看到,而應該通過抽象基類或介面來關聯訪問。 介面汙染
Time of Update: 2018-12-06
實際上,我關於java的基礎知識的90%以上都來自Thinking in Java。對於其中的synchronized關鍵字,當時就是瀏覽一下,大概知道意思,也沒有細看。後來一直沒有用過這個關鍵字。昨天看Thinking in Patterns with
Time of Update: 2018-12-06
用Java做web開發是一件很愜意的事情。你一定會說我在說夢話,呵呵~` 慢慢來吧~ - * - 以下均為個人意見,只是拋磚引玉,沒有著作權,僅供參考。 - * -一、開始,萬事開頭難啊! Java的學習很難,因為它太龐雜了,有很多令人恐懼的(並非語言本身的)細節。 讓我們先看看,我們將碰到哪些難關: 1. 表示 臉面的部分,這裡將用到的技術和知識:JSP,Servlet,XML,HTML,JavaScript,CSS等,最好能瞭解網路基礎(TCP/IP協議等)。
Time of Update: 2018-12-06
1:請描述Java中異常處理機制的簡單原理和應用,並說明Error與Exception有什麼區別?每當產生異常後,如果沒有程式進行相應的處理,則程式會中斷的現象,那麼,此時實際上一旦產生一個異常之後,JVM會拋出一個異常類的執行個體化對象,如果此時使用了try語句進行捕獲的話,則可以進行異常處理,如果沒有的話,則交給JVM進行處理,當try語句捕獲到了異常之後,會與catch中的異常類型進行匹配,如果匹配成功,則使用此catch語句進行處理。應用:簡單的應用,就是在所有throws關鍵字的地方加
Time of Update: 2018-12-06
兩種方式:方法一:繼承自Thread類方法二:實現Runnable介面 關鍵字:synchronized 每一個對象都有一把獨佔鎖。獨佔鎖只限制線程對它的同步方法的訪問,對非同步方法,獨佔鎖沒有意義。
Time of Update: 2018-12-06
OSCACHE支援頁面層級緩衝和對象層級緩衝,支援叢集設定。工作量很小,但是對系統提升很大。測試一次成功,寫下此文記錄之。 1、下載OSCACHE包到LIB裡面,下載oscache.tld放到WEB-INF/classes裡面。2、頁面代碼以下COPY FROM http://www.cnblogs.com/clarkapp/admin/file:///G:/oscache<%@ page import="java.util.*" %><%@
Time of Update: 2018-12-06
1.Duplicated Code 代碼重複幾乎是最常見的異味了。他也是Refactoring的主要目標之一。代碼重複往往來自於copy-and-paste的編程風格。與他相對應OAOO是一個好系統的重要標誌。 2.Long method 它是傳統結構化的“遺毒”。一個方法應當具有自我獨立的意圖,不要把幾個意圖放在一起。 3.Large Class 大類就是你把太多的責任交給了一個類。這裡的規則是One Class One Responsibility.