坚信科学,分享技术

Category Archives: java

这里有原创java教程,都是来自工作中的积累,有时候有些些弱。

“先进的互联互通技术”--使用ice联通php和java [part 1 server]

PHP没有中间件,导致了对很多麻烦。比如,对数据库的操作必须要链接数据库,然后做SQL操作。WEB程序直接操作数据库的方法,这样会带来很多人为因素的事故隐患,以及管理上的麻烦,尤其是对大型的网站应用来说。规范的模式应该是,WEB程序传递参数到一个服务程序上,由该服务程序进行判断并最终操作数据库或者其它数据文件,这样做到了明确权限控制,和业务类型集中管理。去年伴随着ICE的推出,PHP终于有了可以使用的中间件。在PHP的发展史上,应该是一个里程碑。 ICE入门 ICE(Internet Communications Engine 网络通讯引擎),是由Corba原核心成员开发的一个开源中间件,据称其各种性能完全优于Corba。除此之外,我们第一次见到了直接支持PHP的中间件。 ICE的安装,去http://www.zeroc.com/download.html 下载一个Ice针对PHP的安装包,按照说明安装上。 ICE的使用:使用Slice(ICE的一种简单语法脚本),编写一个xx.ice文件。可以使用slice2cpp或slice2java等生成一个cpp或java的ICE框架程序,然后在这个框架程序中进行代码编写。ICE在PHP的应用继承了PHP的一贯传统——简单,只需要在php.ini中加载该xx.ice,在PHP中就可以使用了。 ICE在PHP应用中的缺点,无法使用PHP编写Server端,其实这也是PHP的一个缺陷——没有完善的多进程和多线程管理机制。因此,Server端可以采用ICE所支持的其它语言进行编写,比如JAVA/C++/VB/PYTHON等。 开始传说中的“

Continue reading

Posted in java, php, 架构研究 | Tagged , , | 3 Comments

[五四陈]java项目管理神兵利器maven和nexus使用手记

"尽管 Ant 对于构建 Java 程序而言是事实上的标准工具,但这个工具在许多方面都不胜任项目管理任务。相反,Ant 提供的东西,Maven(出自 Apache Jakarta 项目的高级项目管理工具)都能提供,而且更多。" --转自IBM开发者网络 适用场景 如果你的项目互相有jar包的依赖,WEB-INF/lib下有大量杂乱的jar包,svn里lib目录下时常要更新东西,并且你为此伤透了脑筋,团队战斗力无法提升,那么,你就需要这两样利器了。 主角出场 windows环境居多 http://maven.apache.org/ 项目的主页,有洋文 http://maven.apache.org/download.html 下载的地方 安装的说明-好yy的居然有中文! http://www.sonatype.com/books/maven-book/reference_zh/installation.html 大概意思就是下一个包然后设置环境变量。主要目的就是让你的本地环境能够执行mvn。 跑龙套的出场 linux环境犹佳 http://nexus.sonatype.org/ 项目的主页,有洋文 http://nexus.sonatype.org/downloads/ 下载的地方 安装的说明 http://www.sonatype.com/books/nexus-book/reference/install.html 就是下一个包然后以webserver方式运行下。主要目录是让你的jar包能有个放处。 类似 ./bin/jsw/macosx-universal-32/nexu

Continue reading

Posted in java, 架构研究 | Tagged , , | 2 Comments

用java并发测试tokyo cabinet的性能[五四陈手记]

Tokyo Cabinet 是日本人 平林幹雄 开发的一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍。 编译安装tokyocabinet数据库 wget http://tokyocabinet.sourceforge.net/tokyocabinet-1.4.28.tar.gz tar zxvf tokyocabinet-1.4.28.tar.gz cd tokyocabinet-1.4.28/ ./configure make make install cd ../ http://tokyocabinet.sourceforge.net/javapkg/tokyocabinet-java-1.22.tar.gz 下载这个包 tar zxvf tokyocabinet-java-1.22.tar.gz cd tokyocabinet-java-1.22 ./configure make make install install会将libjtokyocabinet.so 和 tokyocabinet.jar放到/usr/lib64下面。 …

Continue reading

Posted in java | Tagged , | 6 Comments

java使用bdb手记(Berkeley DB Java api记录)

在线Berkeley DB Java Edition API: http://www.oracle.com/technology/documentation/berkeley-db/je/java/index.html Berkeley DB是一个开放源代码的内嵌式数据库管理系统,能够为应用程序提供高性能的数据管理服务。应用它程序员只需要调用一些简单的API就可以完成对数据的访问和管理。与常用的数据库管理系统(如MySQL和Oracle等)有所不同,在Berkeley DB中并没有数据库服务器的概念。应用程序不需要事先同数据库服务建立起网络连接,而是通过内嵌在程序中的Berkeley DB函数库来完成对数据的保存、查询、修改和删除等操作。 用java来操作BDB,需要jar包je-3.3.62.jar import java.io.File; import com.sleepycat.je.Database; import com.sleepycat.je.DatabaseConfig; import com.sleepycat.je.DatabaseEntry; import com.sleepycat.je.DatabaseException; import com.sleepycat.je.Environment; import com.sleepycat.je.EnvironmentConfig; import com.sleepycat.je.LockMode; import com.sleepycat.je.OperationStatus; public clas

Continue reading

Posted in java | Tagged , | 1 Comment

[原创]使用postgreSQL+bamboo搭建比lucene方便N倍的全文搜索 第一部分

[文章作者:陈臻 本文版本:v1.2 最后修改:2009.7.7 转载请注明原文链接:http://www.54chen.com/_linux_/postgresql-bamboo-lucene-fulltextindex.html ] 修正:一些“--”(连续的两个杠)被转成了全角的“-”(一个杠)了,运行不过的试试-变成-- 所有用到到包有: cmake-2.6.4.tar.gz (编nlpbamboo用) CRF++-0.53.tar.gz(同上) nlpbamboo-1.1.1.tar.bz2(分词用) postgreSQL-8.3.3.tar.gz(索引用) 安装pgsql tar -zxvf postgreSQL-8.3.3.tar.gz cd postgre-8.3.3 ./configure --prefix=/opt/pgsql make make install useradd postgre chown -R postgre.postgre /opt/pgsql su - postgre vi ~postgre/.bash_profile 添加 export PATH PGLIB=/opt/pgsql/lib PGDATA=/data/PGSearch PATH=$PATH:/opt/pgsql/bin …

Continue reading

Posted in java, linux, 架构研究 | Tagged , , | 12 Comments

内部培训--memcached协议详解[原创][总结]

[ 文章作者:陈臻 本文版本:v1.0 最后修改:2009.5.12 转载请注明原文链接:http://www.54chen.com/c/584 ] 本次讲座讲师是校内网高手张洁同学,主题是“memcached协议详解及java client分析比较”,java client分析比较线条化,只有在现场才能明白,此处只回顾memcached协议详解,为易于理解,标题段落有调整。 一.连接 安装好memcached,直接通过telnet localhost 11211连接。11211是memcache默认的端口。 二.协议 2.1store (存储) (可用命令)set/add/replace/prepend/append <command name> <key> <flags> <exptime> <bytes> [noreply]\r\n exptime 只能精确到秒 例如: set name 0 0 5<回车> zhangjie<回车> STORED 区别:set可能覆盖,add不能覆盖,prepend是续在前面,append是续在后面。 另:[noreply] 是新版中增加的标志,可以让服务器端不用返回。 2.2 cas(compare and set) …

Continue reading

Posted in java, linux | Tagged , , | 2 Comments

[原创][收集]各种语言版本的变量值作变量名的方法

[文章作者:陈臻 本文版本:v1.1 最后修改:2009.3.11 转载请注明原文链接:http://www.54chen.com/c/498] 在写代码的过程中,不可避免经常遇到的一个问题是,如何将上下文中的变量值当变量名。本文将收集各种语言下的情况,以供参考。 PHP 这是最最简单的一种: <?php $fruit = "apple"; $var = "fruit"; echo $$var; ?> 将得到结果 apple JAVA JavaScript <script type="text/javascript"> var str = "hello world!"; var str2 = "str"; alert(eval(str2)); </script> 将得到结果:hello world AS2 AS3 Perl C …

Continue reading

Posted in WEB相关, java, linux, php | Tagged , | 2 Comments

java关于夏令时的神来之笔

夏令时简介: Daylight Saving Time:DST     夏令时,又称“日光节约时制”或“夏时制”,是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。一般在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏令时的国家具体规定不同。目前全世界有近110个国家每年要实行夏令时。(各时区多数位于其理想边界之西,导致实际上全年实施夏令时。)       1986年至1991年,中华人民共和国在全国范围实行了六年夏令时,每年从4月中旬的第一个星期日2时整(北京时间)到9月中旬第一个星期日的凌晨2时整(北京夏令时)。除1986年因是实行夏令时的第一年,从5月4日开始到9月14日结束外,其它年份均按规定的时段施行。1992年4月5日后不再实行。 如果有幸你阅读完了上面的内容,下面的东西可能会更加有趣:  java的1986年5月4号的0点不见了!!!   public static final SimpleDateFormat Y2MD_HMS = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); Date d = TimeFormattor.Y2MD_HMS.parse("1986-5-4 0:0:0");  System.out.println(d);  输出是Sun May 04 01:00:00 CDT 1986 继续验证:   循环打印了附近的时间 long _1986_5_4_0_0_0 = 5

Continue reading

Posted in java | Tagged , | 1 Comment

tomcat,resin,oc4j,jboss大比拼

本文是山寨比较方法,全凭个人感觉,高手和自认为高手略过。 老资格tomcat,但只是web容器,不支持ejb;resin比起tomcat更加优秀在于中文的支持,性能更好,校内网用;oc4j师出名门oracle,明声好,没有别的特别的,某大型保险公司用;jboss很牛叉,很开放,效率未知,淘宝用。待续。。。

Continue reading

Posted in java | Tagged , , , | 1 Comment

yahoo、taobao云计算利器之“云”端的小飞象—Hadoop

  “云”端的小飞象—Hadoop 孙 牧 Hadoop简史 在搜索技术界,也许有人不熟悉Doug Cutting,但很少有人不知道Lucene这个著名的全文检索引擎。事实上,Lucene应该是Doug Cutting的成名作,它被广泛地应用在各种规模的网站和系统中,甚至Eclipse中的搜索功能也是Lucene来实现的。   但Doug Cutting并没有满足Lucene取得的成绩。2002年,他发起了一个基于Lucene的开源项目Nutch,其目标是构建出一个包括网络蜘蛛、文件存储等模块的网页搜索系统。经过2年的努力,Nutch虽然可以用4台机器支持1亿网页的抓取和检索,但系统的扩展性开始遇到瓶颈。恰在此时,Google发表了GFS、MapReduce的论文,这两个创新性的思路点燃了Nutch 2名开发人员的斗志,他们又花了2年的业余时间实现了DFS(分布式文件系统)和MapReduce机制,这次改造使Nutch可以在20台机器上支持几亿的数据规模,其编程和运维的简易性也得到了大幅提升,但系统的吞吐能力与一个真正的网页搜索系统仍有不小的差距。   2006年,开源社区如火如荼,当美国雅虎在思索构建一个高度利用硬件资源、维护和开发都非常简易的软件架构时,Doug Cutting和他的Nutch进入了他们的视野。一方具有超强的技术前瞻性和实战经验,另一方能提供世界上数一数二的数据、硬件和人力资源,双方一拍即合,同年1月Doug Cutting正式加入雅虎,2月Hadoop从Nutch中分离出来,正式成为Apache组织中一个专注于DFS和MapReduce的开源项目。  

Continue reading

Posted in java, linux | Tagged , , | 10 Comments
Page 7 of 8« First...45678