#JavaTutorialï¼Javaæç¨ï¼ 卿é¿çè¿ç¨ä¸ï¼ä¼å¦å°è®¸å¤æ°çç¥è¯ï¼å¨é¡¹ç®å®è·µè¿ç¨ä¸ï¼ç»å¸¸éè¦å¦ä¹ æ°çææ¯ãä½ç»è¿ä¸æ®µæ¶é´åï¼è¿äºç¥è¯ç¹åææ¯åå¿å¾å·®ä¸å¤äºï¼çå°è¦ç¨çæ¶ååè¦æç´¢å¾å¤çèµæä»å¤´å°å°¾å¦ä¹ 䏿¬¡ï¼æµªè´¹å¾å¤çæ¶é´ï¼æ²¡ææ²æ·å积累ã å¨è¿éï¼éè¿æç« å代ç ï¼æè¿äºç¥è¯ç¹åææ¯ç主è¦å 容记å½å¹¶æ±æ»ï¼ä¾èªå·±å¿«éå顾ï¼ä¹å享ç»ä»äººã ## å ³é®å * [transientä¸åºåå](src/cn/aofeng/demo/java/lang/TransientDemo.java) ## æ°æ®ç»æ * [卿§å¶å°è¾åºç±»ä¼¼ç®å½æ çç»æ](src/cn/aofeng/demo/tree) ## 宿¶å¨ * [Timer](src/cn/aofeng/demo/java/util/timer/TimerDemo.java) * [ScheduledExecutorService](src/cn/aofeng/demo/java/util/concurret/ScheduledExecutorServiceDemo.java) ## æ°æ®åº * [Apache DbUtils - JDBC Utility Component](src/cn/aofeng/demo/dbutils) * [JDBCå æ°æ®ä½¿ç¨ç¤ºä¾](src/cn/aofeng/demo/jdbc/MetaDataExample.java) * [MyBatis3使ç¨ç¤ºä¾](src/cn/aofeng/demo/mybatis) ## XML * [XPath](src/cn/aofeng/demo/xml/XPathDemo.java) ## åºååä¸ååºåå ### Gson * [æ®é对象-åºååä¸ååºåå](src/cn/aofeng/demo/json/gson/SimpleObjectSerialize.java) * [æ°ç»-åºåå](src/cn/aofeng/demo/json/gson/ArraySerialize.java) * [æ°ç»-ååºåå](src/cn/aofeng/demo/json/gson/ArrayDeserialize.java) * [éå-åºåå](src/cn/aofeng/demo/json/gson/CollectionsSerialize.java) * [éå-ååºåå](src/cn/aofeng/demo/json/gson/CollectionDeserialize.java) * [èªå®ä¹åºåå](src/cn/aofeng/demo/json/gson/CustomSerialize.java) * [èªå®ä¹ååºåå](src/cn/aofeng/demo/json/gson/CustomDeserialize.java) * [Gsonæç¨-åºååä¸ååºåååºç¡æä½](http://aofengblog.com/2015/08/12/Gson-%E5%BA%8F%E5%88%97%E5%8C%96%E4%B8%8E%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E5%9F%BA%E7%A1%80%E6%93%8D%E4%BD%9C/) * [Gsonæç¨-èªå®ä¹åºåå](http://aofengblog.com/2015/08/14/Gson-%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BA%8F%E5%88%97%E5%8C%96/) * [Gsonæç¨-èªå®ä¹ååºåå](http://aofengblog.com/2015/08/17/Gson-%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96/) ## åå æµè¯ * [åå æµè¯ - JUnit+Antèªå¨åæ§è¡åå æµè¯å¹¶çææ¥å | How to Automated Unit Testing with JUnit and Ant](http://aofengblog.com/2013/02/27/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95-JUnit-Ant%E8%87%AA%E5%8A%A8%E5%8C%96%E6%89%A7%E8%A1%8C%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95%E5%B9%B6%E7%94%9F%E6%88%90%E6%8A%A5%E5%91%8A/) * [åå æµè¯ - JUnit+Ant+Coberturaçæåå æµè¯ä»£ç è¦çç | How to Generate Code Coverage Report With Junit And Cobertura](http://aofengblog.com/2013/02/27/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95-JUnit-Ant-Cobertura%E7%94%9F%E6%88%90%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95%E4%BB%A3%E7%A0%81%E8%A6%86%E7%9B%96%E7%8E%87/) * [使ç¨Jettyå®ç°Http Server Mockä½åå æµè¯](src/cn/aofeng/demo/jetty) ### EasyMock * [使ç¨EasyMockä½åå æµè¯](src/cn/aofeng/demo/easymock) ### WireMock * [使ç¨WireMockå®ç°Http Server Mockä½åå æµè¯](src/cn/aofeng/demo/wiremock) ### Mockito * [使ç¨Mockitoä½åå æµè¯](src/cn/aofeng/demo/mockito) ## ç½ç»ï¼I/O * [å¤çº¿ç¨ç½ç»echoæå¡](src/cn/aofeng/demo/io/MultiThreadEchoServer.java) * [çº¿ç¨æ± ç½ç»echoæå¡](src/cn/aofeng/demo/io/ThreadPoolEchoServer.java) * [NIO ç¼å²åº](src/cn/aofeng/demo/nio/BufferIO.java) * [NIO å åæ å°](src/cn/aofeng/demo/nio/MemoryMapper.java) * [NioEchoServer](src/cn/aofeng/demo/nio/NioEchoServer.java) * [NIO - å ¥é¨ç¯](http://aofengblog.com/2008/10/21/Java-NIO%E5%85%A5%E9%97%A8%E7%AF%87/) * [NIO - æä»¶é](http://aofengblog.com/2008/10/27/Java-NIO%E6%96%87%E4%BB%B6%E9%94%81/) * [ç¼å²åºæä½åå åæ å°](http://aofengblog.com/2013/09/29/Java-%E7%BC%93%E5%86%B2%E5%8C%BA%E6%93%8D%E4%BD%9C%E5%92%8C%E5%86%85%E5%AD%98%E6%98%A0%E5%B0%84/) * [Javaç½ç»å¤ç模å-é»å¡I/O+å¤çº¿ç¨](http://aofengblog.com/2013/10/22/Java%E7%BD%91%E7%BB%9C%E5%A4%84%E7%90%86%E6%A8%A1%E5%9E%8B-%E9%98%BB%E5%A1%9EI-O-%E5%A4%9A%E7%BA%BF%E7%A8%8B/) * [Javaç½ç»å¤ç模å-é»å¡I/O+çº¿ç¨æ± ](http://aofengblog.com/2013/10/24/Java%E7%BD%91%E7%BB%9C%E5%A4%84%E7%90%86%E6%A8%A1%E5%9E%8B-%E9%98%BB%E5%A1%9EI-O-%E7%BA%BF%E7%A8%8B%E6%B1%A0/) * [Reactor模å¼ä¸éé»å¡I/O | Reactor Pattern and NIO](http://aofengblog.com/2013/11/04/Reactor%E6%A8%A1%E5%BC%8F%E4%B8%8E%E9%9D%9E%E9%98%BB%E5%A1%9EI-O/) ### HTTP * [使ç¨Fluent APIåèµ·HTTP请æ±ï¼GetåPostï¼](src/cn/aofeng/demo/httpclient/FluentApi.java) * [使ç¨HttpClientåèµ·HTTP请æ±ï¼Get, Poståä¸ä¼ æä»¶ï¼](src/cn/aofeng/demo/httpclient/FluentApi.java) * [使ç¨JDKä¸çAPI建ç«ç®åçHTTP Server](src/cn/aofeng/demo/httpclient/server/SimpleHttpServer.java) ### Netty 4.0.x * [EchoServer](src/cn/aofeng/demo/netty40x/echo/EchoServer.java) * [EchoClient](src/cn/aofeng/demo/netty40x/echo/EchoClient.java) ## 线ç¨ï¼å¹¶å * [fork/join](src/cn/aofeng/demo/java/util/forkjoin/HelloForkJoin.java) * [Future](src/cn/aofeng/demo/java/util/future/HelloFuture.java) * [Futureæ¥å£å ³ç³»å¾](src/cn/aofeng/demo/java/util/future/Future.ucls) * [Servletç线ç¨å®å ¨é®é¢](http://aofengblog.com/2008/11/16/Servlet%E7%9A%84%E7%BA%BF%E7%A8%8B%E5%AE%89%E5%85%A8%E9%97%AE%E9%A2%98/) * [å¤çº¿ç¨æ± æ§è¡å¼æ¥ä»»å¡](http://aofengblog.com/2014/03/31/%E5%A4%9A%E7%BA%BF%E7%A8%8B%E6%B1%A0%E6%89%A7%E8%A1%8C%E5%BC%82%E6%AD%A5%E4%BB%BB%E5%8A%A1/) * [äºä»¶é©±å¨ç弿¥åæ¡æ¶:event4j](http://aofengblog.blog.163.com/blog/static/63170212014102463624267/) * [JDK HashMapæºç åæ | HashMap Source Code Analysis](http://aofengblog.com/2014/08/14/JDK-HashMap%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/) ## åå°ï¼ä»£ç * [è·åæé æ¹æ³ãæ®éæ¹æ³ãåæ®µå注解](src/cn/aofeng/demo/java/lang/reflect/ClassAnalyze.java) * [ä½¿ç¨æé æ¹æ³å建对象å®ä¾](src/cn/aofeng/demo/java/lang/reflect/CreateInstance.java) * [è°ç¨æ¹æ³](src/cn/aofeng/demo/java/lang/reflect/InvokeMethod.java) * [è·å/è®¾ç½®åæ®µå¼](src/cn/aofeng/demo/java/lang/reflect/InvokeField.java) * [éæä»£çï¼å¨æä»£ç](src/cn/aofeng/demo/proxy/AccountServiceClient.java) ## èæ¬è¯è¨ * [å¨Java䏿§è¡JavaScriptèæ¬](src/cn/aofeng/demo/script/ScriptRunPerformence.java) * [å¤ä¸ªèæ¬å¼ææ§è¡JavaScriptçæ§è½æ¯è¾](src/cn/aofeng/demo/script/MultiScriptEngineCompare.java) * [å¨JVMä¸ç¼è¯èæ¬æåè¿è¡æ§è½](http://aofengblog.com/2013/12/12/%E5%9C%A8JVM%E4%B8%AD%E7%BC%96%E8%AF%91%E8%84%9A%E6%9C%AC%E6%8F%90%E5%8D%87%E6%80%A7%E8%83%BD/) ## å å¯è§£å¯ * [Blowfishå å¯ä¸è§£å¯](src/cn/aofeng/demo/encrypt/Blowfish.java) * [AESå å¯ä¸è§£å¯](src/cn/aofeng/demo/encrypt/AES.java) * [Blowfish, AESæ§è½æ¯è¾](src/cn/aofeng/demo/encrypt/PerformanceCompare.java) * [HMAC-SHA1ç¾åç®æ³](src/cn/aofeng/demo/encrypt/HmacSha1.java) ## 弿ºç»ä»¶ ### Redis * [Redis客æ·ç«¯Jedis使ç¨ç¤ºä¾](src/cn/aofeng/demo/redis/JedisDemo.java) ### SSH * [Struts2 - æ¯æJSON / Using json in struts2](http://aofengblog.com/2010/08/23/Struts2-%E6%94%AF%E6%8C%81JSON/) * [Struts2 - Unable to load configuration. - bean é误解å³](http://aofengblog.blog.163.com/blog/static/631702120103184042768/) * [Spring IBatis Struts2 éæä¹ä¸ï¼Springä¸IBatiséæ | Spring IBatis Struts2 Integration I: Spring Integrates with IBatis](http://aofengblog.com/2011/03/19/Spring-IBatis-Struts2-%E9%9B%86%E6%88%90%E4%B9%8B%E4%B8%80%EF%BC%9ASpring%E4%B8%8EIBatis%E9%9B%86%E6%88%90/) * [Spring IBatis Struts2 éæä¹äºï¼Springä¸Struts2éæ | Spring IBatis Struts2 Integration II: Spring Integrates with Struts2](http://aofengblog.com/2011/03/22/Spring-IBatis-Struts2-%E9%9B%86%E6%88%90%E4%B9%8B%E4%BA%8C%EF%BC%9ASpring%E4%B8%8EStruts2%E9%9B%86%E6%88%90/) ### Tomcat * [JMX管çTomcat/Resin](http://aofengblog.com/2008/08/17/Tomcat-JMX%E7%AE%A1%E7%90%86Tomcat-Resin/) ### JBoss * [JBoss5.1.0 GA - é¨ç½²é¡¹ç®ç±»åºå ¼å®¹åç±»åºå²çªé®é¢è§£å³æ¹æ³](http://aofengblog.blog.163.com/blog/static/631702120113674626533/) ## EJB * [EJB3 - 使ç¨EclipseåJBosså¼ååé¨ç½²Session Bean | How to create Session Bean using JBoss and Eclipse](http://aofengblog.com/2011/03/14/EJB3-%E4%BD%BF%E7%94%A8Eclipse%E5%92%8CJBoss%E5%BC%80%E5%8F%91%E5%92%8C%E9%83%A8%E7%BD%B2Session-Bean/) * [EJB3 - 使ç¨EclipseåJBosså¼ååé¨ç½²Entity Bean | How to create Entity Bean using JBoss and Eclipse](http://aofengblog.com/2011/03/14/EJB3-%E4%BD%BF%E7%94%A8Eclipse%E5%92%8CJBoss%E5%BC%80%E5%8F%91%E5%92%8C%E9%83%A8%E7%BD%B2Entity-Bean/) ## è®¾è®¡æ¨¡å¼ * [äºä»¶é©±å¨](src/cn/aofeng/demo/eventdriver_normal) * [äºä»¶é©±å¨æ¹è¿ç](src/cn/aofeng/demo/eventdriver_improve) * [Reactor](src/cn/aofeng/demo/reactor) ## Javaå·¥å · * [å¨Linuxä¸å®è£ JDK](http://aofengblog.com/2008/11/17/%E5%9C%A8Linux%E4%B8%8A%E5%AE%89%E8%A3%85JDK/) * [å¨Linuxä¸å®è£ Ant](http://aofengblog.blog.163.com/blog/static/631702120081017113327582/) * [Javaç¨åºä»¥åå°æ¹å¼å¨Linuxä¸è¿è¡](http://aofengblog.blog.163.com/blog/static/631702120081014104934762/) * [Java使ç¨SSHä»è¿ç¨æå¡å¨ä¸è½½æä»¶](http://aofengblog.blog.163.com/blog/static/6317021201362975846986/) * [Javaå®ç°å¨æ§å¶ç»ç«¯æ¾ç¤ºçå符è¿åº¦æ¡](http://aofengblog.com/2013/07/27/Java-%E5%AE%9E%E7%8E%B0%E5%9C%A8%E6%8E%A7%E5%88%B6%E7%BB%88%E7%AB%AF%E6%98%BE%E7%A4%BA%E7%9A%84%E5%AD%97%E7%AC%A6%E8%BF%9B%E5%BA%A6%E6%9D%A1/) * [VisualGC+Jstatd宿¶çæ§è¿ç¨JVM](http://aofengblog.com/2013/06/29/Java-VisualGC-Jstatd%E5%AE%9E%E6%97%B6%E7%9B%91%E6%8E%A7%E8%BF%9C%E7%A8%8BJVM/) * [è·å主æºä¿¡æ¯](src/cn/aofeng/demo/misc/GetHostInfo.java)