`
septem
  • 浏览: 53312 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
很久之前写过两篇博客: spring3.0使用annotation完全代替XML spring3.0使用annotation完全代替XML(续) 用java config来代替XML,当时还遗留下一些问题: <tx:annotation-driven />声明性事务等配置无法用简单代码来实现 web.xml无法去掉 随着servlet 3.0规范以及spring3.1.M2的发布,现在以上的问题也解决了。 先来说说web.xml,有两种方法来替代 (一)annotation @WebServlet(urlPatterns="/hello") public cl ...
//java_md.c /* Load the Java VM DLL */ if ((handle = LoadLibrary(jvmpath)) == 0) { ReportErrorMessage2("Error loading: %s", (char *)jvmpath, JNI_TRUE); return JNI_FALSE; } /* Now get the function addresses */ ifn->CreateJavaVM = (void *)G ...
晚上试了下手工编译openjdk6。 从http://download.java.net/openjdk/jdk6/下载源码解压到openjdk6。我编译用的OS是ubuntu11.04,参考源代码根目录下的README-builds.html中Ubuntu 9.04的说明,首先安装openjdk-6: sudo apt-get install openjdk-6-jdk #编译openjdk6之前 ...
对于纯python代码,即使开启多个线程也无法并行执行,因为GIL会将它们串行化,但这并不意味着多线程在python中无用武之地: 一个I/O密集型的线程因等待而sleep时,会释放GIL,另一个线程这时可以接手 可以在C扩展中开启多个线程,不受GIL的限制,比如ctypes 对于多用户的程序或者需要responsive interface的GUI程序,多线程是一个很好的解决方案
上一篇文章还有些话没说完,没想到一拖就是2周,所以干脆另开一篇吧。 从回帖的反应来看,大多数人还是不赞成完全代替XML的,这点倒是在意料之中。我个人还是倾向于用代码来取代XML的Bean定义,当然这更多的是关乎个人偏好,不代表与我观点不同的人就是错的。 先来说说代码相对于XML的优点吧:    1. 更加简洁,相对于XML的“语法”,java来得更熟悉    2. 类型安全,更大程度上发挥java静态语言的特性    3. 对重构更加友好 再说说用annotation代替XML的可能性吧,目前看来是不大可能,主要还存在以下的限制: 1. java的语言文化 不知道还有哪门语言比jav ...
@Service与@Component有什么不同?那天被问到这个问题,一时之间却想不起来,就利用这篇文章来纪录spring3.0中常用的annotation。 从spring2.5开始,annotation结合BeanPostProcessor成了扩展Spring IoC容器的常用方法。Spring2.5增加了对JSR-250中@Resource, @PostConstruct, @PreDestroy的支持,Spring 3.0又增加了对JSR-330 (Dependency Injection for Java)中 @Inject,@Qualifier, @Named, @Provider ...
首先得承认这篇文章有点标题党的味道,哈哈,到java6为止,java是不支持函数式编程的。前几天在使用apache commons collections的时候偶然发现CollectionUtils.exist方法,该方法用于判断集合中是否存在满足某个条件的元素,具体使用如下: @Test public void test_functional_programming(){ String[] langs = {"java", "python", "c"}; assertTrue( Collection ...

html cheat sheet

    博客分类:
  • html
最基本的HTML,在使用的时候却经常忘记,在网上找到了一份小抄,纪录在这里 HTML Basic Document <html> <head> <title>Title of document goes here</title> </head> <body> Visible text goes here... </body> </html> Heading Elements <h1>Largest Heading</h1> < ...
这章讨论通过收集必要的监控数据来获取数据库运行细节,为性能优化做指导 数据库很慢,通常由5种原因引起: 非数据库问题,网络不稳,或主机因某种原因超过负荷 整体性能突然下降,有两种情况要考虑,可能是性能真的 ...
这章讨论在表设计,程序架构甚至需求都不合理的前提下对复杂SQL的优化 数据库的性能依赖于合理的数据库设计,其次依赖于清晰的策略和良好的程序设计。但现实情况往往是发现性能问题后才会进行调优,我们不可避免会遇到糟糕的设计和效率级差的程序
本章讨论数据量增加时面对的特殊挑战,包括如何高效地搜索庞大的表,如何避免数据量稍有增长就可能出现的性能下降 在达到目标数据量之前,第一次严重的性能问题通常会出现。当数据量较少时,从最终用户的角度看不出 ...
这章讨论如何应对大量并发用户的情况 一个测试时很高效的查询可能在大并发情况下执行地很慢,而且当大量语句并发执行,如果SQL语句提交的速度比服务速度要快时,系统性能就会出现严重问题,所有查询都会受到影响,原 ...
本章讨论对SQL而言实际中经常遇到的困难与相应的解决策略 看似高效的查询条件 有些选择条件乍一看很高效,但需要稍加修改才能发挥潜力。遇到基于键值的一部分比较等特殊情况,比如信用卡前置码比较,可使用范围条件来表达,并尽量使用下限和上限值 select count(*) from credit_card_check where ? like prefix + '%' 如果prefix字段长度可变,很可能无法使用这个字段上的索引,可以将条件改为: where substring(? + '0000000000000000000', 1, 19) between lower_bo ...
这章讨论树状结构(hierarchy)与层次数据库(hierarchical database)
本章讨论存取经过适当规范化的数据时,遇到的9种最经典的情况 小结果集,源表较少,查询条件直接针对源表 对于典型的OLTP应用,多为返回小结果集的查询。如果过滤条件直接针对源表,我们必须保证这些过滤条件高效,对 ...
Global site tag (gtag.js) - Google Analytics