摘要: 1、横向分表 案列1.订单是一个实现性很强的实体,我们很少查询几年前的订单数据,我们可以在淡定创建时间上对订单进行分表。 案列2.员工操作log日志同上也可以按照时间经行分表 案列3.论坛帖子,我们可以根据id3w经行分表 2、对表中的所有数据用Lucene建立索引这样就大大提高的数据库性能 阅读全文
posted @ 2013-09-02 23:14 谷文仁 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1、对查询进行优化,尽量避免全表扫描,首先考虑在where 或orderby 涉及的列建立索引。2、where 后面不要使用null,否则引擎放弃索引,而经行全表扫描。可以在num列中默认设置为0确保num中没有null中,这样方便查询3、where 后面尽量不要使用!= or in not in进行索引,这样数据库引擎也会放弃索引,而经行全表扫描 可以使用 nuion all4、in(1,2,3,4) 尽量使用between 1 and 4代替5、like “%aaa%”不会使用索引 但是 like “aaa%” 可以使用索引6、select id from t where num/2=1. 阅读全文
posted @ 2013-09-02 23:04 谷文仁 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 1.目标类的所有方法都添加了横向切面的逻辑,而有时我们仅仅只需要对某些特定的方法添加切面逻辑2.织入点的切面逻辑采用了硬编码的方式3.为不同的类要编写不同的程序代码,无法实现通用。 阅读全文
posted @ 2013-08-30 00:41 谷文仁 阅读(121) 评论(0) 推荐(0) 编辑
摘要: public class JDKProxy2 implements InvocationHandler { private Object targetObject; public Object JDKProxy2(Object targetObject) { this.targetObject = targetObject; return Proxy.newProxyInstance(targetObject.getClass().getClassLoader(), targetObject.getClass().getIn... 阅读全文
posted @ 2013-08-30 00:25 谷文仁 阅读(158) 评论(0) 推荐(0) 编辑
摘要: CGLIB可以生成目标类的子类,并重写父类非final修饰符的方法。//实现methidpublic class CGLIBProxy2 implements MethodInterceptor { // 目标类对象 private Object targetObject; // 根据目标类对象创建代理子类 public Object createProxyObject(Object obj) { targetObject = obj; Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(obj.getClass()); ... 阅读全文
posted @ 2013-08-30 00:13 谷文仁 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 控制反转IoC:应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护就是由外部容器负责的。 这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。 依赖注入:在运行期,由外部容器动态地将依赖对象注入到组件中。 为何要使用spring 1.降低组建之间的耦合度,使各层间解耦 2.可以使用s... 阅读全文
posted @ 2013-08-29 01:35 谷文仁 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 一、struts2的执行流程 1.客户端浏览器发出http请求 2.根据web.xml配置,请求被StrutsPrepareAndExecuteFilter接收 3.根据struts.xml配置找到对应的Action和所调用的方法,通过IOC将值注入给Action 4.Action调用业务逻辑组建处... 阅读全文
posted @ 2013-08-28 20:48 谷文仁 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 一、hibernate的工作原理1.读取并解析hibernate.cfg.xml配置文件、mapping映射文件2.创建SessionFactory文件,获取Session3.打开Session4.创建事物Transation5.持久化操作6.提交事物commit7.关闭Session8.关闭SessionFactory二、hibernate有什么好处1.对JDBC访问数据库进行的封装,大大降低了繁琐的重复性代码的编写2.HIbernate是一个基于JDBC主流的ORM框架,是一个非常优秀的产品3.Hinernate使用反射技术机制是一个轻量级框架,性能非常优秀,支持一对多、多对多各种复杂关系 阅读全文
posted @ 2013-08-28 20:00 谷文仁 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 3.3、转换流(了解,千万别会) 现在对于IO操作就存在了字节流和字符流两种操作流,那么对于这两种操作流之间也是可以进行转换的,而转换的操作类有两个: · 将字节输出流变为字符输出流(OutputStream è Writer):OutputStreamWriter; · 将字节输入流变为字符输入流(InputStream è Reader):InputStreamReader。 以上两个类的定义结构和构造方法如下:OutputStreamWriter:InputStreamReader:public class OutputStreamWriter e 阅读全文
posted @ 2013-04-28 23:01 谷文仁 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 一、web概述 静态web资源:内容是静态的,不同的人在不同的时间来访问时都是相同的内容。HTML,CSS,JS 动态web资源:内容是由程序生成的,不同的人在不同的时间访问的内容很可能是不同的。 常见的动态web资源开发技术:ASP,PHP,JSP/Servlet C/S,B/S之争 云,... 阅读全文
posted @ 2013-04-27 23:54 谷文仁 阅读(246) 评论(0) 推荐(0) 编辑