??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲美女在线一区,中文字幕av免费专区久久,欧美大片欧美激情性色a∨久久http://www.aygfsteel.com/jarod/category/7318.htmlA Developer's Notebookzh-cnFri, 15 Feb 2008 07:22:05 GMTFri, 15 Feb 2008 07:22:05 GMT60json-lib序列化java.sql.Datehttp://www.aygfsteel.com/jarod/archive/2008/02/15/180021.htmlJarodJarodFri, 15 Feb 2008 02:11:00 GMThttp://www.aygfsteel.com/jarod/archive/2008/02/15/180021.htmlhttp://www.aygfsteel.com/jarod/comments/180021.htmlhttp://www.aygfsteel.com/jarod/archive/2008/02/15/180021.html#Feedback0http://www.aygfsteel.com/jarod/comments/commentRss/180021.htmlhttp://www.aygfsteel.com/jarod/services/trackbacks/180021.htmlimport java.util.HashMap;

import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsDateJsonBeanProcessor;

/**
 * 
@author jarod
 *
 
*/
public class JsonDate {

    
public static void main(String[] args) {
        
// json-lib默认不支持java.sql.Date的序列化Q要序列化自qc,实现一个BeanProcessor处理卛_
        JsDateJsonBeanProcessor beanProcessor = new JsDateJsonBeanProcessor();
        java.sql.Date d 
= new java.sql.Date(System.currentTimeMillis());

        
// 直接序列?/span>
        JsonConfig config = new JsonConfig();
        JSONObject json 
= beanProcessor.processBean(d, config);
        System.out.println(json.toString());

        
// 序列化含java.sql.Date作ؓ属性值的bean
        HashMap m = new HashMap();
        m.put(
"date", d);
        config.registerJsonBeanProcessor(java.sql.Date.
class, beanProcessor);
        json 
= JSONObject.fromObject(m, config);
        System.out.println(json.toString());
    }
}


Jarod 2008-02-15 10:11 发表评论
]]>
Embedded tomcat 6.0http://www.aygfsteel.com/jarod/archive/2007/12/20/169030.htmlJarodJarodThu, 20 Dec 2007 06:49:00 GMThttp://www.aygfsteel.com/jarod/archive/2007/12/20/169030.htmlhttp://www.aygfsteel.com/jarod/comments/169030.htmlhttp://www.aygfsteel.com/jarod/archive/2007/12/20/169030.html#Feedback0http://www.aygfsteel.com/jarod/comments/commentRss/169030.htmlhttp://www.aygfsteel.com/jarod/services/trackbacks/169030.html tomcat-6.0.14
ubuntu gusty
sun-jdk-1.6

多个人合作的目里只要修改tomcat-conf.properties文g后即可用。我q里用了slf4j做LOGQ不用LOG的把相关cd掉即可。还有我是把tomcat/lib下的jar都加qclasspath的?br />
目录l构
/-|projectHome
  |
  |--src
  |   |--TomcatServer.java
  |   |--tomcat-conf.properties
  |
  |--webapp
  |   |--WEB-INF
  |   |   |-web.xml

TomcatServer.java:
 1 import java.io.File;
 2 import java.io.IOException;
 3 import java.util.Properties;
 4 
 5 import org.apache.catalina.Context;
 6 import org.apache.catalina.Engine;
 7 import org.apache.catalina.Host;
 8 import org.apache.catalina.LifecycleException;
 9 import org.apache.catalina.startup.Embedded;
10 import org.slf4j.Logger;
11 import org.slf4j.LoggerFactory;
12 
13 /**
14  * http://www.aygfsteel.com/jarod
15  * @author jarod
16  */
17 public class TomcatServer {
18 
19     private static final Logger logger = LoggerFactory
20             .getLogger(TomcatServer.class);
21 
22     public static void main(String[] args) {
23         try {
24             new TomcatServer();
25         } catch (Throwable t) {
26             logger.error("", t);
27         }
28     }
29 
30     private Embedded tomcat;
31 
32     // tomcatȝ?/span>
33     private String catalinaHome;
34 
35     private String projectHome;
36 
37     public TomcatServer() {
38         initConf();
39 
40         tomcat = new Embedded();
41         tomcat.setCatalinaHome(catalinaHome);
42         Engine engine = tomcat.createEngine();
43         Host host = tomcat.createHost("localhost", projectHome);
44         host.addChild(tomcat.createContext(""""));
45         Context context = tomcat.createContext("/webapp1""webapp");
46         // 当以debug模式启动Ӟ修改可立即生?/span>
47         context.setReloadable(true);
48         host.addChild(context);
49         engine.addChild(host);
50         engine.setDefaultHost("localhost");
51         tomcat.addEngine(engine);
52         tomcat.addConnector(tomcat.createConnector("0"8081false));
53         registerShutdownHook();
54         try {
55             tomcat.start();
                
Thread.sleep(Long.MAX_VALUE);
56         } catch (Exception e) {
57             throw new RuntimeException(e);
58         }
59     }
60 
61     private void initConf() {
62         Properties properties = new Properties();
63         try {
64             properties.load(TomcatServer.class
65                     .getResourceAsStream("/tomcat-conf.properties"));
66             catalinaHome = properties.getProperty("catalina.home");
67 
68             File f = new File(".");
69             projectHome = f.getAbsolutePath();
70         } catch (IOException e) {
71             throw new RuntimeException(e);
72         }
73     }
74 
75     private void registerShutdownHook() {
76         Runtime.getRuntime().addShutdownHook(new Thread() {
77             @Override
78             public void run() {
79                 try {
80                     tomcat.stop();
81                 } catch (LifecycleException e) {
82                     throw new RuntimeException(e);
83                 }
84             }
85         });
86     }
87 }


tomcat-conf.properties:
catalina.home=/home/jarod/server/tomcat/apache-tomcat-6.0.14


Z么要setCatalinaHome?
设了该|tomcat启动时会在该目录加蝲默认的一些配|,如MIME mapping{,如果要自己手动添加配|太ȝ了,而如果不要这些配|,q个embedded tomcat用处也不?br />


Jarod 2007-12-20 14:49 发表评论
]]>
一个简单的Java反射Ҏ调用性能试http://www.aygfsteel.com/jarod/archive/2006/09/27/72161.htmlJarodJarodWed, 27 Sep 2006 00:28:00 GMThttp://www.aygfsteel.com/jarod/archive/2006/09/27/72161.htmlhttp://www.aygfsteel.com/jarod/comments/72161.htmlhttp://www.aygfsteel.com/jarod/archive/2006/09/27/72161.html#Feedback0http://www.aygfsteel.com/jarod/comments/commentRss/72161.htmlhttp://www.aygfsteel.com/jarod/services/trackbacks/72161.html补:后来?.6上测了测Q性能提高了不,1.6真的是值得期待

Java 1.5
Reflection | Normal
3685|210
3696|210
4086|211
3685|211
3775|210
3696|210

Java 1.4.2
Reflection | Normal

3295|340
3325|370
3295|340
3315|350
3305|340
3285|330


Java 1.6 beta2
Reflection | Normal
2954|200
2644|581
3005|170
2944|190
2684|170
3014|191

试代码



Jarod 2006-09-27 08:28 发表评论
]]>
Singleton: Beyond double-checkedhttp://www.aygfsteel.com/jarod/archive/2006/09/26/71941.htmlJarodJarodTue, 26 Sep 2006 04:30:00 GMThttp://www.aygfsteel.com/jarod/archive/2006/09/26/71941.htmlhttp://www.aygfsteel.com/jarod/comments/71941.htmlhttp://www.aygfsteel.com/jarod/archive/2006/09/26/71941.html#Feedback0http://www.aygfsteel.com/jarod/comments/commentRss/71941.htmlhttp://www.aygfsteel.com/jarod/services/trackbacks/71941.htmlDouble-checked locking and the Singleton pattern才知道还有更多要做的。。?img src ="http://www.aygfsteel.com/jarod/aggbug/71941.html" width = "1" height = "1" />

Jarod 2006-09-26 12:30 发表评论
]]>
maven2也不是那么可?/title><link>http://www.aygfsteel.com/jarod/archive/2006/07/27/60352.html</link><dc:creator>Jarod</dc:creator><author>Jarod</author><pubDate>Thu, 27 Jul 2006 07:03:00 GMT</pubDate><guid>http://www.aygfsteel.com/jarod/archive/2006/07/27/60352.html</guid><wfw:comment>http://www.aygfsteel.com/jarod/comments/60352.html</wfw:comment><comments>http://www.aygfsteel.com/jarod/archive/2006/07/27/60352.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jarod/comments/commentRss/60352.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jarod/services/trackbacks/60352.html</trackback:ping><description><![CDATA[我有个项目是用Maven2理Jar包的Q最q加入了commons-httpclient-alpha1Q在pom中加入了httpclient。直到运行时才发现缺包commons-codec。也是说maven2没有自动下蝲httpclient所依赖的包。最后还要自己在pom中加入commons-codec。看来maven2q东西也不太可靠<br /><img src ="http://www.aygfsteel.com/jarod/aggbug/60352.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jarod/" target="_blank">Jarod</a> 2006-07-27 15:03 <a href="http://www.aygfsteel.com/jarod/archive/2006/07/27/60352.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Linux下配|Java开发环境(二)http://www.aygfsteel.com/jarod/archive/2006/03/11/34813.htmlJarodJarodSat, 11 Mar 2006 05:16:00 GMThttp://www.aygfsteel.com/jarod/archive/2006/03/11/34813.htmlhttp://www.aygfsteel.com/jarod/comments/34813.htmlhttp://www.aygfsteel.com/jarod/archive/2006/03/11/34813.html#Feedback0http://www.aygfsteel.com/jarod/comments/commentRss/34813.htmlhttp://www.aygfsteel.com/jarod/services/trackbacks/34813.html 三、安装apache、PHP、phpMyAdmin和resin

apache安装Q?/p>

apache的安装我选择了源码版Q用以下命o安装Q?br />tar xfj httpd-2.0.55.tar.bz2
cd httpd-2.0.55
./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most
&& make && make install

  so模块用来提供DSO支持的apachehe核心模块Q与PHP集成必须Q; --enable-shared=max是指除了so以外的所有标准模块都~译成DSO模块
  安装完后q入/usr/local/apache2/binQ运?/apachectl start。在览器进入localhost如果能看到apache默认面没问题了?/font>



PHP安装Q?br />
用以下命令安装:
tar xfj php-5.1.2.tar.bz2
cd php-5.1.2
./configure --prefix=/usr/local/php --enable-mbstring --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs && make && make install

--enable-mbstring是让PHP支持中文字符集,--with-mysqlQ?-with-apxs2分别是PHP与MYSQLQAPACHE集成的支?br />默认配置文g

如果按照上面的方式编译PHPQ在$HTTPD_HOME/conf/httpd.conf中会加入一?br />LoadModule php5_module modules/libphp5.so

如果没有的可以把modules/libphp5.soҎ指向libphp5.so的文件名


?HTTPD_HOME/conf/httpd.conf中加?br />    AddType application/x-httpd-php .php .phtml
    AddType application/x-httpd-php-source .phps


phpMyAdmin安装Q?/font>

tar xfj phpMyAdmin-2.8.0.1.tar.bz2
mv phpMyAdmin-2.8.0.1 /usr/local/apache2/htdocs/phpMyAdmin

q入
/usr/local/apache2/htdocs/phpMyAdmin/librariesQ?br />cp config.default.php ../config.inc.php

phpMyAdmin默认的验证模式ؓconfigQ即数据库的用户名密码写入config.inc.php文g。改为cookie模式可以在登陆时自p用户名密?br />
~辑config.inc.php文g
$cfg['blowfish_secret'] = '随便一个字W串';
$cfg['Servers'][$i]['auth_type']     = 'cookie';

启动apacheQ在览器进入localhost/phpMyAdmin/index.php试


resin
安装 Q?br />
通过以下命o安装Q?/font>
tar xfz resin-3.0.18.tar.gz
mv resin-3.0.18 /usr/local
ln -s resin-3.0.18 resin
cd resin
./configure --with-apache=/usr/local/apache2/ && make && make install

启动apache, 通过bin/httpd.shq行resin。在览器进入http://localhost/resin-doc/试


Jarod 2006-03-11 13:16 发表评论
]]>
在Linux下配|Java开发环境(一Q?/title><link>http://www.aygfsteel.com/jarod/archive/2006/03/05/33663.html</link><dc:creator>Jarod</dc:creator><author>Jarod</author><pubDate>Sun, 05 Mar 2006 02:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/jarod/archive/2006/03/05/33663.html</guid><wfw:comment>http://www.aygfsteel.com/jarod/comments/33663.html</wfw:comment><comments>http://www.aygfsteel.com/jarod/archive/2006/03/05/33663.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jarod/comments/commentRss/33663.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jarod/services/trackbacks/33663.html</trackback:ping><description><![CDATA[<font size="2">  在Linux下配|Java的开发环境以前也有好几次了,但时间一长,L不少l节会忘了,到重新要配置时又要花不少旉去解册些再ơ遇到的问题。这ơ就写下来吧Q做个笔讎ͼ以后再要配置时就省时了?br>  以下是这ơ要配置的环境:<br>LinuxQFC4<br>JDKQ?.4.2<br>服务器:apache-2.0.55 + resin-3.0.18<br>数据库:mysql-4.1.18 + phpMyAdmin-2.8</font><br><br><br><font face="Tahoma" size="5"><b>一、安装、配|JDK<br><br></b></font><font size="3"><font size="4">安装Q?/font><br><font size="2">  官网上有两种版本的JDK下蝲。我下蝲回来的JDK文g名ؓQj2sdk-1_4_2_11-linux-i586.bin_File_j2sdk-1_4_2_11-linux-i586.bin。这个在官网上称解压版,q个版本我还是第一ơ下。以前用的都是RPM版。两者的区别在于,自解压版q行后就在当前目录生个JDK的目录。RPM版则直接安装到指定的目录。通常?usr/java/jdk-version目录?br>  在安装目录上我有个徏议,是都装?usr/java的子目录下,然后做个链接?usr/java/jdk。如Q我q里看装后的路径?usr/java/j2sdk1.4.2_11。可以通过以下命o建立一个Y链接?br>ln -s /usr/java/j2sdk1.4.2_11 /usr/java/jdk<br>  q样做的好处是当有几个JDKq存Ӟ要改变默认JDK的版本只要改变这个Y链接OK了。而且跟JDK相关的各U环境变量也不用变来变去Q就把JAVA_HOME指向/usr/java/jdkp了?br>  至于CLASSPATH的配|我׃用说了,因ؓ我一向都是用IDE或者是ANT的,配CLASSPATHҎ来说没意义?/font></font><font size="2"><br><br></font><font size="2"><font size="4">中文支持的配|:</font><br>  q个步骤好像不是必须的,因ؓ听网上的一些朋友说有些Linux发行版在装好JDK后直接就支持中文。在配置前可以先q行一?JAVA_HOME/jre/bin/ControlPanel和其它中文程序看是否可以正确昄中文QLinux的locale要设成中文ControlPanel才是中文的)?br>  q入$JAVA_HOME/jre/lib目录。拷贝一份font.properties.zh_CN.Redhat覆盖原来的font.properties文g。然后把font.properties以外的font.properties_***文g都删了。打开font.properties在最后一行会有类g面的代码Q?br><br>filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1 =/usr/share/fonts/zh_CN/TrueType/zysong.ttf<br><br>把后面的/usr/share/fonts/zh_CN/TrueType/zysong.ttfҎ自己的中文字体所在位|,如simsun或VeraSansYuanTi。simsun可以在windows的font目录里找刎ͼVeraSansYuanTi可以在Linux公社下蝲?br><br>如果用JDK5.0的可以参考这文章:http://addone.blogchina.com/blog/187527.html<br><br><br></font><hr size="2" width="100%"><br><b><font size="5">二、MYSQL</font></b><br><font size="2"><br>  在MySQL的下载页上有很多版本可供下蝲。由于我装MySQL只是作ؓ开发用途,q不是作服务器,因此可以选择最单的版本来下载。如Q标准二q制版或对应Linux发行版的RPM包等?我下载的是标准二q制版,文g名ؓQmysql-standard-4.1.18-pc-linux-gnu-i686.tar.gz。解压后是一个已l编译,初始化好的文件夹。解压好后把文g夹移到某个目录,我这里ؓ/usr/local/database/mysql41。然后徏立Y链接Q?br>ln -s /usr/local/database/mysql41 /usr/local/mysql<br><br>  ׃mysql里很多默认设|都是指?usr/local/mysql目录的,铑ֈq里q了不事。我q里不直接把数据库放?usr/local/mysqlQ而是通过链接Q也是ؓ了可以多版本共存。因?.0, 4.1, 5.0q几多版本都比较多用Q而且差别又比较大Q所以共存的必要q是有的?br>  ?MYSQL_HOME/support-files/my-small.cnf拯?MYSQL_HOME/data/my.cnfQ徏立一个Y链接Q?br>ln -s /usr/local/mysql/data/my.cnf /etc/my.cnf<br><br>  ~辑my.cnf文gQ分别在以下区加入下面的行,q里的编码都用UTF-8<br><br>[client]<br>default-character-set=utf8<br><br>[mysqld]<br></font><font size="2">default-character-set=utf8<br>default-storage-engine=INNODB<br><br>其中字符集的讄只有?.1以后的版本才支持。这栯|了Q徏立数据库旉认就使用UTF-8~码Q而且只要connector/j的版本号大于3.1Q徏立数据库链接时会自动使用数据库的~码?br>  在MYSQL>4.1 && connector/j > 3.1ӞJDBC链接URL为:<br>jdbc:mysql://</font><font size="2"><host>/<database></font><font size="2">?useServerPrepStmts=false<br>  否则要在链接上指定连接编码:<br>jdbc:mysql://<host>/<database>?useUnicode=true&characterEncoding=utf-8<br><br></font><font size="2">至于default-storage-engine=INNODBQ则在当你的E序需要用C务时可以方便点,q没用C没所谓,反正只是个开发环境,方便OK?br><br>再ؓ启动MYSQLDq程d用户Q执行以下命令:<br><br>d用户l?br>groupadd mysql<br>d用户<br>useradd -g mysql mysql<br>讄MYSQL目录的拥有?br> chown -R root  .<br>讄数据文g目录拥有?br>chown -R mysql data<br>讄目录所属组<br>chgrp -R mysql .<br>安装初始数据?br></font>scripts/mysql_install_db --user=mysql <br><font size="2">启动q程<br>bin/mysqld_safe --user=mysql &<br><br>如果没有昄mysqld end之类的字|通常都是正常启动了?br><br><br>如果需要MYSQL开机时自动启动的:拯$MYSQL_HOME/support-files/mysql-server?etc/rc.d/init.d/mysqld<br></font><font size="2">再执行chkconfig --add mysqld卛_<br><br>因ؓ我试q?, 5版的MYSQL启动脚本是可以通用的,所以这里就不用再搞链接了。。?br></font><font size="2"><br></font> <img src ="http://www.aygfsteel.com/jarod/aggbug/33663.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jarod/" target="_blank">Jarod</a> 2006-03-05 10:13 <a href="http://www.aygfsteel.com/jarod/archive/2006/03/05/33663.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Dz</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">崲</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ɯ</a>| <a href="http://" target="_blank">۶</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">Ľ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ׯ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">⳵</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">׺</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˻</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>