1.WHERE字句的查询条件里有不等于号(WHEREcolumn!=…),MYSQL将无法使用索引2.类似地,如果WHERE字句的查询条件里使用了函数(如:WHEREDAY(column)=…),MYSQL将无法使用索引3.在JOIN操作中(需要从多个数据表提取数据时),MYSQL只有在主键和外键的数据类型相同时才能使用索引,否则即使建立了索引也...
主流数据库连接池常用的主流开源数据库连接池有C3P0、DBCP、TomcatJdbcPool、BoneCP、Druid等C3p0:开源的JDBC连接池,实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate、Spring等。单线程,性能较差,适用于小型系统,代码600KB左右。DBCP(Da...
IDEA里有一个万能快捷键(altenter),功能非常强大,同一个快捷键,可以根据不同的语境提示你不同的操作,很多人可能还不了解这些功能,在处理代码的时候还手动处理,了解这些技巧之后,你编码也是一种享受。万能快捷键(altenter)可以帮你做很多事情,我大概总结了17点:转换lambda表达式equals的翻转自动导包异常捕获SimpleDa...
在网页中,常常需要用到图片,而图片需要消耗较大的流量。正常情况下,浏览器会解析整个HTML代码,然后从上到下依次加载<imgsrc="xxx">的图片标签。如果页面很长,隐藏在页面下方的图片其实已经被浏览器加载了。如果用户不向下滚动页面,就没有看到这些图片,相当于白白浪费了图片的流量。所以,淘宝、京东这些流量非常巨大的电商,商品介绍页...
常见SQL错误用法1.LIMIT语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般DBA想到的办法是在type,name,create_time字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。SELECT*FROMoperationWHEREtype='SQLStats'ANDname=...
一.了解强引用、软引用、弱引用、虚引用的概念在Java中,虽然不需要程序员手动去管理对象的生命周期,但是如果希望某些对象具备一定的生命周期的话(比如内存不足时JVM就会自动回收某些对象从而避免OutOfMemory的错误)就需要用到软引用和弱引用了。从JavaSE2开始,就提供了四种类型的引用:强引用、软引用、弱引用和虚引用。Java中提供这四种...
(一)重构原则1、何谓重构对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。另一种解释是:使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。重构不止是代码整理,它提供了一种高效且受控的代码整理技术2、为何重构改进软件设计:如果没有重构,程序的设计会逐渐变质,重构很像是在整理代码,你所做的...
注释不要给不好的名字加注释,一个好的名字比好的注释更重要不要“拐杖注释”,好代码>坏代码+好注释在文件/类级别使用全局注释来解释所有部分如何工作一定要给常量加注释团队统一定义标记TODO 待处理的问题FIXME 已知有问题的代码HACK不得不采用的粗糙的解决方案在注释中用精心挑选的输入输出例子进行说明注释应该声明代码的高...
1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。2.尽量...