`
文章列表
因为目前的一个项目中,数据库变动比较频繁,本控制做的有些不好,想找一个比较好的工具和最佳实践来做数据库版本控制。google到主要工具就是dbdeploy。  dbdeploy(http://dbdeploy.com/) 获得 第17届Jolt奖,是thoughtworks公司开发的开源的,java-based数据库重构工具。大致看了一下介绍,和Rails migration很象,通过运行一些特定格式的sql-scripts,做到对数据库的控制,所有的数据库操作都要写到scripts中。 最近正在研究的开源项目unitils(http://www.unitils.org/summary.htm ...
最近Lucene2.3发布,最大的变化是使用了新的索引算法,使用新的in-memory模型来大幅提升速度。中提到最简单的把lucene2.2的jar文件换成lucene2.3的jar文件就可以在某些测试中提速500%。Lucene2.3的changlog见http://svn.apache.org/repos/asf/lucene/java/tags/lucene_2_3_0/CHANGES.txt我认为最主要的几个变化是:对象池。可以复用Document、Field和Token的实例。 写道LUCENE-969: Add new APIs to Token, TokenStream and A ...
Enum Fields VS Varchar VS Int + Joined table: What is Faster?from MySQL Performance Blog by Alexey KovyrinReally often in customers' application we can see a huge tables with varchar/char fields, with small sets of possible values. These are "state", "gender", "status", ...
Memcached(http://www.danga.com/memcached/)是被广泛使用的分布式缓存技术,javaeye也使用memcached做对象缓存。 不同的语言有不同的memcached客户端程序,对于java客户端来说,memcached网站给了两个选择: 引用 1. A Java API is maintained by Greg Whalin from Meetup.com. You can find that library here:     * http://www.whalin.com/memcached/ -- Java API for memcached 2. ...
最近米国那边又在讨论这个话题, 孟岩也发了一篇帖子http://blog.csdn.net/myan/archive/2008/01/10/2033386.aspx。 我个人最开始使用Pascal学的数据结构,现在已经忘差不错了。 入门语言算是C语言了,虽然不精通,但是指针这一块还是比较熟悉的。 我个人认为教学语言用Java确实不是很好,就像孟岩的文章里提到了,封装太多,隔离了一些底层操作,而这恰恰是一个优秀的程序员必备的知识。 当然不能否认,你可以用java入门,然后花时间在研究JVM的规范,看java底层是怎么做的,从而再了解计算机底层的一些操作,那么为什么一开始不用其他的语言入门呢? ...
MySQL InnoDB表有外键约束功能,可以保证数据的一致性和实现一些级联操作,比如 表 product id, name 表 order id, product_id name product_id就可以使用Mysql的外键约束功能,如果插入新的order是,product_id在product表中并不存在则这条记录就不完整,不能插入数据库中。 现在我的疑问就是: MySQL在使用外键约束,做一致性检查的时候,对插入和更新性能有多少影响? 对查询性能应该没有太多影响
最近使用了Spring2.5 annotation风格的DI,发现竟然不支持基本类型的自动装配,更别说使用PropertyPlaceholderConfigurer了。既然不支持,只能想其它的办法,最后使用XML和annotation相结合的方式解决了这个问题。 Bean定义 @Service public class Service { //默认是按Type装配,可以指定Qualifier使用name装配 @Autowired @Qualifier("path") private String path; @Autowired @Qualifier(& ...
/** *作者:andyao,email:andyaoy@gmail.com *http://andyao.iteye.com/blog/154092 */ ActiveMQ5.0实战一: 安装配置ActiveMQ5.0 ActiveMQ5.0实战三:使用Spring发送,消费topic和queue消息 简介 上一篇http://www.iteye.com/topic/15317介绍了ActiveMQ5.0的安装,这一篇将介绍的配置。ActiveMQ包含了很多features(详见http://activemq.apache.org/features.html ),   不同的需求 ...
/** *作者:andyao,email:andyaoy@gmail.com *http://andyao.iteye.com/blog/153171 */ ActiveMQ5.0实战二: 基本配置 ActiveMQ5.0实战三:使用Spring发送,消费topic和queue消息 简介   ActiveMQ 是开源的JMS实现,Geronimo应用服务器就是使用的ActiveMQ提供JMS服务。ActiveMQ5.0相比以前版本提供了一些非常有用的新功能: AMQ Message Store (Faster Persistence!) Cursors (To handle ver ...
/**作者:andyao,email:andyaoy@gmail.com*http://andyao.iteye.com/blog/153173/JMS,Java Message Service,是JavaEE平台最重要的规范之一, 也是企业开发中经常使用到的异步技术。JMS规范目前支持两种消息模型:点对点(point to point, queue)和发布/订阅(publish/subscribe,topic)。点对点: 消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。这里要注意:消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的 ...
/***作者:andyao,email:andyaoy@gmail.com*http://andyao.iteye.com/blog/153087 */ 简介     Annotation还是XML的配置方式一直是Java world争论的焦点; 声明式事务管理(Declarative Transaction Management)是现在用的最多的一种事务管理方式。Spring同时提供了Annotation和XML配置方式的声明式事务管理。本文主要讨论这两种方式的各自特点,以及如何选择适当的声明式事务配置方式声明式事务    自从EJB提出了声明式事务管理的概念,声明式事务管理就成为事务管理的最 ...
/**作者:andyao,email:andyaoy@gmail.com*http://andyao.iteye.com/blog/149978*/ 异常处理在Java开发中是比较重要的一部分,通过java提供的国际化支持,可以为java的异常添加自定义的国际化信息输出。实现代码如下: 1. I18nException 类 java 代码 public class I18nException extends Exception {          private static final long serialVersionUID = -23223488107 ...
        一直认为作为一个软件工程师,不能够只知道写程序,一定要有一定的领域知识才可以做得更好,更能够成为一个成功的软件工程师。在研究生阶段就想找一个领域认真研究研究,但是在研究生阶段做了很多软件开发相关的研究和工作,没有真正在“研究”生阶段做很多研究,现在想想可惜了中科院良好的研究环境。                        现在工作的公司重点在于NLP和搜索,工作也不是很忙,老板也很好给了很多时间做NLP方面的研究。自己仔细考虑了很长时间,还是决定投入搜索这个行业中。         既然做了决定,之前的种种顾虑,犹豫都应该没有了。从现在就实际行动起来,先定一下现在能想 ...
原文:http://www.javaworld.com/javaworld/jw-11-2007/jw-11-exceptionset.html?page=1 ——针对有效的错误处理设计异常管理系统 作者:Jean-Pierre Norguet,JavaWorld.com,11/15/07 在面向对象的应用程序中,由于代码重载、错误的问题处理方式,导致异常有越来越多的趋势。在这篇文章中,作者Jean-Pierre Norguet介绍了如何设计异常,来实现一个简单的、可读的、健壮的、灵活的 ...
原文出处:http://dev2dev.bea.com/pub/a/2006/11/effective-exceptions.html 摘要   Java开发人员做出的有关架构的最重要的决定之一便是如何使用Java异常模型。Java异常处理成为社区中讨论最多的话题之一。一些人认为 Java语言中的已检查异常 ...
Global site tag (gtag.js) - Google Analytics