锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
1聽聽聽聽聽聽
鍏叡綾?/span>
Logger :
璐熻矗澶勭悊鏃ュ織璁板綍鐨勫ぇ閮ㄥ垎鎿嶄綔銆?/span>
聽
2聽聽聽聽聽聽
鍏叡鎺ュ彛
Appender :
璐熻矗鎺у埗鏃ュ織璁板綍鐨勮緭鍑洪儴鍒嗐傚畠鎻愪緵浜嗗縐嶈緭鍑虹洰鏍囥?/span>
2.1.1聽
FileAppender聽聽聽聽聽聽聽
杈撳嚭鍒版枃鏈?/span>
2.1.2聽
ConsoleAppender聽聽聽聽
杈撳嚭鍒版帶鍒跺彴
2.1.3聽聽聽聽聽
SMTPAppender聽聽聽聽聽聽聽
杈撳嚭鍒伴偖浠?/span>
2.1.4聽
JDBCAppender聽聽聽聽聽聽
杈撳嚭鍒版暟鎹簱
3聽聽聽聽聽聽
甯冨眬
Layout :
璐熻矗鏍煎紡鍖?/span>
Appender
杈撳嚭銆傛湁涓夌甯冨眬妯″紡錛?/span>
3.1聽聽聽聽聽
SimpleLayout :
綆鍗曟牸寮?/span>
銆?/span>
DEBUG - Here is some DEBUG
銆?/span>
鐨勬棩蹇楄緭鍑恒?/span>
3.2聽聽聽聽聽
HTMLLayout :
浠?/span>
HTML
琛ㄦ牸杈撳嚭銆?/span>
3.3聽聽聽聽聽
PatternLayout :
鑷畾涔夋牸寮忓寲鐨勬棩蹇楄緭鍑恒傛墦鍗板弬鏁板涓嬶細
3.3.1聽
%m
杈撳嚭浠g爜涓寚瀹氱殑娑堟伅
3.3.2聽
%p
杈撳嚭浼樺厛綰э紝鍗?/span>
DEBUG
錛?/span>
INFO
錛?/span>
WARN
錛?/span>
ERROR
錛?/span>
FATAL
3.3.3聽
%r
杈撳嚭鑷簲鐢ㄥ惎鍔ㄥ埌杈撳嚭璇?/span>
log
淇℃伅鑰楄垂鐨勬縐掓暟
3.3.4聽
%c
杈撳嚭鎵灞炵殑綾葷洰錛岄氬父灝辨槸鎵鍦ㄧ被鐨勫叏鍚?
3.3.5聽
%t
杈撳嚭浜х敓璇ユ棩蹇椾簨浠剁殑綰跨▼鍚?
3.3.6聽 %n 杈撳嚭涓涓洖杞︽崲琛岀錛?/span> Windows 騫沖彴涓衡?/span> \r\n鈥?/span> 錛?/span> Unix 騫沖彴涓衡?/span> \n鈥?o:p>
3.3.7聽
%d
杈撳嚭鏃ュ織鏃墮棿鐐圭殑鏃ユ湡鎴栨椂闂達紝榛樿鏍煎紡涓?/span>
ISO8601
錛屼篃鍙互鍦ㄥ叾鍚庢寚瀹氭牸寮忥紝姣斿錛?/span>
%d{yyy MMM dd HH:mm:ss,SSS}
錛岃緭鍑虹被浼鹼細
2002
騫?/span>
10
鏈?/span>
18
鏃?/span>
22
錛?/span>
10
錛?/span>
28
錛?/span>
921
聽
log4j.properties 鐨勯厤緗涓嬶細
浠g爜濡備笅錛?br />
涓嬮潰鏄綉涓婃壘鐨勪竴涓厤緗枃浠?鎷╁叾涓浜屼嬌鐢ㄥ氨澶熺敤浜嗐?br />
log4j.rootLogger=DEBUG,CONSOLE,A1,im
log4j.addivity.org.apache=true
聽
#聽搴旂敤浜庢帶鍒跺彴
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[framework]聽%d聽-聽%c聽-%-4r聽[%t]聽%-5p聽%c聽%x聽-聽%m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]聽n%c[CATEGORY]%n%m[MESSAGE]%n%n
#搴旂敤浜庢枃浠?/font>
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=file.log
log4j.appender.FILE.Append=false
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[framework]聽%d聽-聽%c聽-%-4r聽[%t]聽%-5p聽%c聽%x聽-聽%m%n
#聽Use聽this聽layout聽for聽LogFactor聽5聽analysis
#聽搴旂敤浜庢枃浠跺洖婊?/font>
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLING_FILE.Threshold=ERROR
log4j.appender.ROLLING_FILE.File=rolling.log
log4j.appender.ROLLING_FILE.Append=true
log4j.appender.ROLLING_FILE.MaxFileSize=10KB
log4j.appender.ROLLING_FILE.MaxBackupIndex=1
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework]聽%d聽-聽%c聽-%-4r聽[%t]聽%-5p聽%c聽%x聽-聽%m%n
#搴旂敤浜巗ocket
log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender
log4j.appender.SOCKET.RemoteHost=localhost
log4j.appender.SOCKET.Port=5001
log4j.appender.SOCKET.LocationInfo=true
#聽Set聽up聽for聽Log聽Facter聽5
log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout
log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n
#聽Log聽Factor聽5聽Appender
log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender
log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000
#聽鍙戦佹棩蹇楃粰閭歡
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=FATAL
log4j.appender.MAIL.BufferSize=10
log4j.appender.MAIL.From=web@www.wuset.com
log4j.appender.MAIL.SMTPHost=www.wusetu.com
log4j.appender.MAIL.Subject=Log4J聽Message
log4j.appender.MAIL.To=web@www.wusetu.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[framework]聽%d聽-聽%c聽-%-4r聽[%t]聽%-5p聽%c聽%x聽-聽%m%n
#聽鐢ㄤ簬鏁版嵁搴?/font>
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=
log4j.appender.DATABASE.sql=INSERT聽INTO聽LOG4J聽(Message)聽VALUES聽('[framework]聽%d聽-聽%c聽-%-4r聽[%t]聽%-5p聽%c聽%x聽-聽%m%n')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=[framework]聽%d聽-聽%c聽-%-4r聽[%t]聽%-5p聽%c聽%x聽-聽%m%n
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=SampleMessages.log4j
log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j'
log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout
#鑷畾涔堿ppender
log4j.appender.im聽=聽net.cybercorlin.util.logger.appender.IMAppender
log4j.appender.im.host聽=聽mail.cybercorlin.net
log4j.appender.im.username聽=聽username
log4j.appender.im.password聽=聽password
log4j.appender.im.recipient聽=聽corlin@cybercorlin.net
log4j.appender.im.layout=org.apache.log4j.PatternLayout
log4j.appender.im.layout.ConversionPattern聽=[framework]聽%d聽-聽%c聽-%-4r聽[%t]聽%-5p聽%c聽%x聽-聽%m%n
聽
聽
Integer i= new Integer("10");
if (i.toString() == i.toString())
System.out.println("Equal");
else
System.out.println("Not Equal");
閫夐」錛?
姝g‘絳旀錛?
璇存槑錛?
toString()
鏂規(guī)硶榪斿洖絳夊悓浜庤繖涓?String
瀵硅薄鐨?String
銆傚畠姣忔璋冪敤鏃跺垱寤轟竴涓柊鐨勫璞°?==
鎿嶄綔絎︽瘮杈冧袱涓璞″紩鐢ㄧ殑浣嶆ā寮忚屼笉鏄疄闄呯殑 String
鍐呭銆傚洜姝ゆ瘮杈冭繑鍥?false
錛屾墽琛?else
璇彞錛岃緭鍑衡淣ot Equal鈥濄?
2銆傚湪涓嬮潰浠g爜涓紝鈥渋nsert code here鈥濅綅緗彲浠ュ悎娉曞湴鎻掑叆鍝釜閫夐」錛?nbsp;
class Parent
{
public void print(int i)
{
}
}
public class Child extends Parent
{
public static void main(String argv[])
{
}
// insert code here
}
閫夐」錛?
姝g‘絳旀錛?
璇存槑錛?
閫夐」 D 涓嶈兘緙栬瘧錛屽洜涓哄畠璇曞浘鎶涘嚭涓涓湪 Parent
綾諱腑娌℃湁澹版槑鐨?checked 寮傚父銆傞夐」 E 灝嗕笉鑳界紪璇戯紝鍥犱負鍙湁榪斿洖綾誨瀷涓嶇浉鍚岋紝鑰屽弬鏁板垪琛ㄥ拰鏂規(guī)硶鍚嶆槸鐩稿悓鐨勩傝繖瀵逛簬瑕嗙洊鍜岄噸杞介兘鏄笉鍏佽鐨勩傞夐」 A銆丅 鍜?C 鏈変笉鍚岀殑鍙傛暟琛紝鎵浠ュ畠浠〃紺?閲嶈澆 鑰屼笉鏄?瑕嗙洊 銆傚洜涓哄畠浠彲浠ユ姏鍑轟換浣曞紓甯革紝鎵浠ュ畠浠槸鍚堟硶鐨勩?
class Test
{
public static void main(String args[])
{
String s1 = "abc";
String s2 = "abc";
s1 += "xyz";
s2.concat("pqr");
s1.toUpperCase();
System.out.println(s1 + s2);
}
}
閫夐」錛?
姝g‘絳旀錛?
璇存槑錛?
榪欐浠g爜鍙互鏃犻敊璇湴緙栬瘧榪愯錛岃緭鍑衡渁bcxyxabc鈥濄傚湪榪欐浠g爜涓紝 s1
鍜?s2
鏈鍒濇寚鍚戝悓涓涓?String
瀵硅薄鈥渁bc鈥濄傚綋鈥渪yz鈥濊繛鎺ュ埌 s1
涓婃椂錛屽氨鍒涘緩浜嗕竴涓柊鐨?String
瀵硅薄鈥渁bcxyz鈥?錛屽茍涓?s1
鎸囧悜瀹冦傛敞鎰?s2
浠嶇劧鎸囧悜鍘熸潵鐨?String
瀵硅薄鈥渁bc鈥濓紝瀹冩病鏈夋敼鍙樸?concat()
鍜?toUpperCase()
鏂規(guī)硶娌℃湁浠諱綍鏁堟灉錛屽洜涓轟綔涓鴻繖浜涙搷浣滅殑緇撴灉鍒涘緩鐨勬柊 String
瀵硅薄涓嶆嫢鏈変換浣曞紩鐢ㄣ傛墍浠ユ渶鍚?s1
鍖呭惈鈥渁bcxyz鈥濊?s2
鍖呭惈鈥渁bc鈥濓紝浠庤?A 涓烘紜粨鏋溿?
this()
鍑芥暟銆傝璋冪敤瓚呯被涓殑鏋勯犲嚱鏁幫紝鐢ㄥ尮閰嶇殑鍙傛暟璋冪敤 super()
鍑芥暟銆傚垱寤哄瓙綾誨璞℃椂錛屾寜灞傛緇撴瀯涓粠涓婂埌涓嬬殑欏哄簭璋冪敤鎵鏈夎秴綾葷殑鏋勯犲嚱鏁般?
榛樿鏋勯犲嚱鏁?nbsp;
濡傛灉娌℃湁鍦ㄧ被涓彁渚涗換浣曞叾浠栨瀯閫犲嚱鏁幫紝緙栬瘧鍣ㄥ皢鍒涘緩榛樿鏋勯犲嚱鏁般傚畠娌℃湁浠諱綍鍙傛暟銆傞粯璁ゆ瀯閫犲嚱鏁拌皟鐢ㄨ秴綾葷殑鏃犲弬鏁版瀯閫犲嚱鏁般傚畠涓庣被鏈夊悓鏍風殑璁塊棶淇グ絎︺?
鏋勯犲嚱鏁扮殑鍑犵鐢ㄦ硶
1銆?/STRONG>濡傛灉璋冪敤綾葷殑榛樿鏋勯犲嚱鏁幫紝鑰岀埗綾繪湁甯﹀弬鏁扮殑鏋勯犲嚱鏁幫紝閭d箞鎮(zhèn)ㄧ殑浠g爜灝嗕笉鑳界紪璇戙傚師鍥犳槸瀛愮被鐨勯粯璁ゆ瀯閫犲嚱鏁伴殣寮忓湴璋冪敤鍏剁埗綾葷殑鏃犲弬鏁版瀯閫犲嚱鏁般?BR>
涓鑸垜浠湪涓涓被涓0鏄庡寘鍚嶅涓嬶細
package com.demo;
public class test{
public static void main(String[] args){
System.out.print("this is a test!");
}
}
灝辨槸鎶妕est綾繪斁榪沜om\demo鐩綍涓嬶紝浣嗚繖鏃朵綘涓嶈兘鍦╟om\demo閲屾墽琛宩ava test,鍥犱負JAVA鏄氳繃classpath鍘繪壘test.java鐨勶紝鎵浠ュ畠鎵劇殑榛樿鐩綍閲岀殑test.java(濡傛灉娌℃湁灝辨姤閿?錛涜屼笉鏄幓鎵綾om\demo鐩綍涓嬬殑test.java銆?BR> 榪欐槸鍥犱負java鍙細鍦╟lasspath涓壘鏈夊叧java鐨勪笢瑗匡紝涓嶄細鐞嗕細path銆傚彧鏈夎繖鏍鋒墠鑳借法騫沖彴鍢涖?BR> 濡傛灉浣犳兂榪愯浣犲寘閲岀殑JAVA綾伙紝閭e氨瑕佽緗竴涓嬬幆澧冨彉閲忥細
a.鍏堢‘瀹氫綘鐨勫寘鍦ㄥ摢涓洏錛屾瘮鏂硅鍦–錛氱殑璇?BR>b.鐒跺悗璁綾lasspath=C:\;
c.鍙互鏈?縐嶈闂柟寮?
1) C:\com\demo>javac test.java
2) C錛歕浠諱綍鐩綍\>java com.demo.test
鍩烘湰涔熷氨榪欐牱浜嗭紝鏈変粈涔堜笉瀵圭殑璇瘋窡璐達紒
1.鎺ュ彛 錛氳〃紺洪泦鍚堢殑鎶借薄鏁版嵁綾誨瀷
a.Collection鎺ュ彛錛氭槸鏋勫緩闆嗗悎妗嗘灦鐨勬牴銆?BR> b.Set鎺ュ彛錛氭墿灞曚簡Collection鎺ュ彛錛屽畠涓嶅厑璁告湁閲嶅鍏冪礌銆?BR> c.List鎺ュ彛錛氭墿灞曚簡Collection鎺ュ彛錛屼竴浜涢泦鍚堝叿鏈夐『搴忥紝閫氬父琚垚涓哄垪琛ㄣ?BR> d.Map鎺ュ彛錛氭病鏈夌戶鎵緾ollection鎺ュ彛錛屽叿鏈夐敭鍜屽肩殑瀵硅薄銆備笉鑳藉寘鍚噸澶嶉敭錛屼絾鍙互鍖呭惈閲嶅鍊箋?BR>
2.綾?錛氱敤浜庡瓨鍌ㄩ泦鍚堢殑瀹為檯鏁版嵁瀵硅薄
a.ArrayList 錛氫紭鐐規(guī)槸鍙互鍔ㄦ佹坊鍔犳暟鎹厓绱狅紝閬嶅巻鏁堢巼姣擫iskedList蹇?BR> b.LinkedList錛氳繖鏄竴縐嶉摼琛ㄧ殑鏁版嵁緇撴瀯錛屽畠鍜屾暟緇勭殑鍖哄埆鍦ㄤ簬鏁扮粍鏄竴孌佃繛緇殑鍐呭瓨絀洪棿錛岃?BR>閾捐〃鍙互鏄笉榪炵畫鐨勶紝榪欎竴鐐瑰氨璇存槑浜嗛摼琛ㄥ鍐呭瓨絀洪棿鐨勫悎鐞嗗埄鐢ㄣ傜湅涓嬪崟鍚戦摼琛ㄧ殑緇撴瀯鍥撅細
澶磋妭鐐瑰厛鎸囧悜絎?涓妭鐐癸紝鐒跺悗鑺傜偣1鐨勬寚閽堝煙鍙堟寚鍚戜笅涓涓妭鐐癸紝鏈鍚庣敱浜庤妭鐐?鍚庨潰娌″厓绱犱簡錛屽氨涓簄ull銆?BR>璇曟兂涓涓嬪綋瀵歸摼琛ㄨ繘琛屾彃鍏ュ垹闄ょ殑鏃跺欏彧闇瑕佸皢鎸囬拡鍩熺殑鎸囧悜鏀瑰彉涓涓嬪氨鍙互杈懼埌鎵闇鏁堟灉錛岃屾暟緇勬彃鍏?BR>鍒犻櫎鐨勬椂鍊欓渶瑕佸皢鎻掑叆鎴栧垹闄ょ殑浣嶇疆鍚庢墍鏈夊厓绱犲悗縐繪垨鍓嶇Щ錛屽緢鏄劇劧鍦ㄧ畻娉曚笂鎻掑叆鍒犻櫎鎿嶄綔閾捐〃瑕佹瘮鏁扮粍蹇?BR>璇翠簡榪欎箞澶氭暟緇勪笌閾捐〃鐨勫尯鍒紝涓嬮潰鏉ョ湅鐪婰inkedList榪欎釜綾繪庝箞鐢細
c.HashSet錛氫竴鐪嬪氨鐭ラ亾鏄搱瑗挎暎鍒楄〃鐨勯泦鍚堢被錛屼笉鑳芥湁閲嶅鍏冪礌銆備緥瀛愬厤浜嗭紝姣旇緝綆鍗曠殑錛屼笂孌典唬鐮佹垜宸茬粡
鍚庢?zhèn)斿啓浜嗗Q岀敤榪噅ava鐨勯兘鐭ラ亾銆?BR> d.TreeSet錛氬皢鍏冪礌鍌ㄥ瓨鍦ㄦ爲涓紝閫傚悎蹇熸绱㈠ぇ閲忔帓搴忎俊鎭?BR> e.HashMap:HashMap 綾繪病鏈夊垎綾繪垨鑰呮帓搴忋傚畠鍏佽涓涓?null 閿拰澶氫釜 null 鍊箋?
Hashtable 綾諱技浜?HashMap錛屼絾鏄笉鍏佽 null 閿拰 null 鍊箋傚畠涔熸瘮 HashMap 鎱紝鍥犱負瀹冩槸鍚屾鐨勩?
3.綆楁硶 :鐢ㄤ簬鎿嶄綔闆嗗悎錛屽茍琚畾涔変負Collections綾諱腑鐨勯潤鎬佹柟娉曪紝緇欎釜渚嬪瓙灝卞緢濂界悊瑙d簡
榪樻湁N澶氭柟娉曪紝鑷繁鍘昏瘯璇曟妸銆?BR>
鍏跺疄榪樻湁寰堝闆嗗悎綾誨拰鎺ュ彛錛?BR>鏈鍚庢葷粨涓嬬粨鍚堟鏋剁殑浼樼偣(鎶勪功)錛?BR>1.闆嗗悎妗嗘灦鎻愪緵浜嗕竴緇勫彲鐢ㄧ殑闆嗗悎鎺ュ彛
2.鎻愪緵浜嗘湁鏁堢殑鏁版嵁緇撴瀯鍜岀畻娉曪紝鍑忓皯浜嗙紪紼嬮噺
3.浣挎垜浠柟渚跨殑鎵╁睍闆嗗悎
4.璁捐鏂癆PI鐨勫伐浣滈檷鍒版渶灝?BR>5.鎺ュ彛綆楁硶鐨勫彲閲嶇敤鎬ф彁楂樹簡杞歡鐨勫彲閲嶇敤鎬?BR>