Time of Update: 2018-12-05
在軟體開發的過程中總是強調注釋的規範,但是沒有一個具體的標準進行說明,通常都是在代碼編寫規範中簡單的描述幾句,不能作為一個代碼注釋檢查的標準和依據,做什麼都要有一個依據嗎:),現在我特整理了一個《Java的注釋規範》,內容來自網路、書籍和自己的實際積累。 JAVA注釋規範 版本/狀態作者版本日期 1.0ghc2008-07-02 一、背景 1、當我們第一次接觸某段代碼,但又被要求在極短的時間內有效地分析這段代碼,我們需要什麼樣的注釋資訊? 2、怎麼樣避免我們的注釋冗長而且淩亂不堪呢? 3、在多人
Time of Update: 2018-12-05
Roller 是一個Struts + Hibernate 的 Java 開源實現,正好拿來研究研究,首先就是要把它安裝起來了,整理了一下步驟和注意事項,記錄如下:準備需要的基本環境:1. Java 2 SDK 1.4.2_102. Tomcat 5.0.283. Roller 2.0 4. MySQL
Time of Update: 2018-12-05
1.本執行個體基於java控制台輸出2.本執行個體未包含勝負判斷演算法,待完善3.本執行個體用於數組、類和對象、輸入輸出、流程式控制制等知識點的教學用PlayGo.javapackage cn.edu.lecheng;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class PlayGo {private static final int
Time of Update: 2018-12-05
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.nio.charset.Charset;import java.util.Map;import java.util.Vector;/*
Time of Update: 2018-12-05
package com.test.core.util;import org.apache.log4j.Logger;import org.apache.oro.text.regex.MalformedPatternException;import org.apache.oro.text.regex.Pattern;import org.apache.oro.text.regex.PatternCompiler;import
Time of Update: 2018-12-05
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintStream;import java.net.Socket;import java.net.UnknownHostException;public class
Time of Update: 2018-12-05
1.設定Cookie Cookie cookie = new Cookie("key", "value"); cookie.setMaxAge(60); 設定60秒生存期,如果設定為負值的話,則為瀏覽器進程Cookie(記憶體中儲存),關閉瀏覽器就失效。 cookie.setPath("/test/test2"); 設定Cookie路徑,不設定的話為當前路徑(對於Servlet來說為request.getContextPath() +
Time of Update: 2018-12-05
隨著Internet的飛速發展,Java技術也得到了越來越廣泛的應用。而無論我們是採用J2SE、J2EE還是J2ME,GUI都是不能迴避的問題。現在的應用軟體越來越要求介面友好、功能強大而又使用簡單。而眾所周知,在Java中進行GUI設計相對於其跨平台、多線程等特性的實現要複雜和麻煩許多。這也是很多Java程式員抱怨的事情。但GUI已經成為程式發展的方向,所以我們也必須瞭解Java的GUI設計方法和特點。其實,採用Java提供的布局管理器介面和相應的布局管理類,我們也可以做出相當漂亮的介面來,當
Time of Update: 2018-12-05
這裡暫且把XML格式放在一邊吧,我們來看看Java使用的最多的.properties設定檔... 今天,看到好幾個J2EE的應用發布到伺服器上的時候,都要在J2EE Container啟動的時候,在啟動的指令碼上面添加啟動的參數: -DSystemAConfigFile="XXXXX" -DSystemBConfigFile="YYYYY" -DSystemCConfigFile="ZZZZZ"這樣一來,每每有新的應用需要發布到J2EE Applicaion
Time of Update: 2018-12-05
Erlang進程間通訊的視角完全不同,而且Ralph說:即便並發性的Erlan風格可以很容易的增加到其他語言中,這些語言還是很難競爭。因為Erlang是專為電信系統而構建的,所有這些方面都重要,並且愛立信已經構建了一個Erlang系統,擁有99.9999999%的正常運轉時間。Erlang不具有任何共用狀態,因而呈現出與主流語言不同的並發性。 未來的計算是並發計算。現今甚至案頭CPU也是多核的,當客戶給他們的伺服器購買了越來越多的CPU時,他們期望其應用伸縮自如以利用他們的新投資。但是今天的許多
Time of Update: 2018-12-05
總結一:Java IO的一般使用原則:一、按資料來源(去向)分類:1、是檔案: FileInputStream, FileOutputStream, FileReader, FileWriter2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream3、是Char[]: CharArrayReader, CharArrayWriter4、是String: StringBufferInputStream, StringReader,
Time of Update: 2018-12-05
★ replaceAll ()/appendReplacement()/appendTail(): Matcher 類同時提供了四個將匹配子串替換成指定字串的方法:replaceAll()replaceFirst()appendReplacement()appendTail()public class Test { /** * @param args * @return * 4 * 1240 * 124067 */ public static void main(String[]
Time of Update: 2018-12-05
由於需要研究了下用 java socket 傳輸檔案,由於需要傳輸多個檔案,因此,採用了多線程設計。用戶端每個線程建立一個 socket 串連,每個 socket 串連負責傳輸一個檔案,服務端的ServerSocket每次 accept 一個 socket 串連,建立一個線程用於接收用戶端傳來的檔案。1、服務端 import java.io.BufferedInputStream; import java.io.BufferedOutputStream;
Time of Update: 2018-12-05
本樣本使用Java類比Socket伺服器端,由用戶端向伺服器發送請求資訊後,擷取伺服器XML資訊,然後解析處理。1、Socket伺服器端import java.net.*;import java.io.*;public class TCPServer {public static void main(String args[]){try{int serverPort=7896;ServerSocket listenSocket=new
Time of Update: 2018-12-05
readLine()方法不讀取分行符號,遇到分行符號就返回,然後進行下一行的讀取一個小例子如下所示:InputStream inputStream = read(filename);String line = null;BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));int count = 0;while ((line = br.readLine()) != null) {count += 1;
Time of Update: 2018-12-05
import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JPanel;import
Time of Update: 2018-12-05
注意點: 執行的代碼檔案所在盤為根目錄即可。假設 編譯後class檔案在e盤,則e下的 E:\opt\test.txt 在代碼中就可以寫成/opt/test.txt這樣的好處是 windows下寫的代碼直接部署到linux伺服器就可以了,路徑不用改。測試代碼: package com.yanek.util;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import
Time of Update: 2018-12-05
使用Concatenation Operator (+)String concat method – concat(String str)StringBuffer append method – append(String str)StringBuilder append method – append(String str)進行效能測試。 環境 win7 32位, cpu雙核2.5GHZ,2G記憶體。測試代碼如下:private final static int
Time of Update: 2018-12-05
需求:一個類被CGLIB代理,並且,這個類要通過反射執行自己的函數。(應用程式層通過spring動態注入controller,並且,通過抽象父類來負責反射子類的具體跳轉函數。)這個時候會遇到一個問題。在類自己反射自己的過程中,this返回的並不是CGLIB的代理類,所以要做一個設定,反射的時候傳入類代理執行個體。 這個問題主要發生在通過spring攔截器攔截應用程式層跳轉器的時候。
Time of Update: 2018-12-05
1. 建立TestServlet類package com.yanek.test;import java.io.IOException;import java.lang.reflect.Method;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import