1)配置tomcat应用服务器 File->Settings... Build,Execution,Deployment ->Application Servers 点击"+"号,选择"Tomcat Server...
阅读(61719) 评论(0)
如果不了解事务的概念的话,可参见笔者的另一篇文章"事务和MVCC" http://frank1234.iteye.com/blog/2164232 1 JDBC事务 这个没啥好说的,直接上代码 public class Jd...
阅读(165) 评论(0)
1 何为AOP AOP是Aspect Orinted Programming,翻译为面向切面编程。AOP能干什么呢,比如系统中有3个业务类,AService,BService和CService,如果现在要在3个Service...
阅读(314) 评论(0)
1 什么是IoC IoC 这么高大上的名字,咋听起来挺不容易理解的,说白了就是以前是对象自己获取它的协作对象,现在交给了Spring容器,就是获取协作对象的方式反转了。 Martin Fowler起了另一个名字DI(依赖注入...
阅读(145) 评论(0)
1 什么是Spring Spring是一个开源框架,它是为简化企业级系统开发而生的,由Rod Johnson大师创建。Spring正如其名,使开发者从EJB的繁琐中解脱出来,使企业级开发迎来了春天,感受到春天般的温暖。 1....
阅读(184) 评论(0)
1 索引的定义 索引是存储引擎用于快速找到记录的一种数据结构。 也就会说索引也是一种数据结构,也占用磁盘空间。 2 索引的价值 索引是对查询优化最有效的手段,可以将查询提升几个数量级,相当牛掰啊。 索引优点: 1)索引大大...
阅读(192) 评论(0)
SQL查询优化: 1 MySQL查询路径 MySQL查询路径如下图所示: 查询的生命周期大致包括:从客户端 到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端。 1.1 MySQL客...
阅读(253) 评论(0)
1)范式和反范式 第一范式:每一列都是一个不可分割的原子数据项。 第二范式:第一范式基础上消除部分依赖。 第三范式:第二范式基础上消除传递依赖。 反范式是针对第三范式来说的,通过添加冗余的方式破坏了第三范式,前两个范式还是要...
阅读(134) 评论(0)
本文不含数据库服务器配置优化,仅从应用程序设计的角度考虑数据库的设计优化方案。 主要从三部分来说:1.数据类型优化 2.数据库设计优化 3.SQL查询优化 ,细心的观众会觉得少了点什么,索引,对当然得有索引,索引忒重要,这个最...
阅读(156) 评论(0)
1 什么是复制 同它字面的意思一样,复制要解决的问题就是让一台服务器的数据同其他服务器保持同步,同文件copy等的意思相同,就是将修改的数据从一台数据库服务器拷贝到另外一台或者多台数据库服务器。 2 为何要有这玩意 解决高并...
阅读(168) 评论(0)
1 什么是视图 视图是一张虚拟表,本身不存储数据,数据来自于创建视图的表。 2 应用场景 1)使用视图可以屏蔽底层数据库表结构变化给应用带来的冲击。比如项目使用了第三方产品构建,可以创建对第三方产品数据库表的视图,这样如果第...
阅读(199) 评论(0)
1 为什么需要锁 数据库通常有大量的用户在同时操作,所以并发的情况下需要控制对临界资源的操作,数据库通过锁来控制对临界资源的访问,从而保证数据的一致性。例如对于同一个账户,操作之前账户余额为1000,同时开始2个事务,一个事务...
阅读(150) 评论(0)
1.适用场景 如非确实有必要,一般都要使用InnoDB存储引擎。 2.锁粒度 MyISAM是表锁,InnoDB是行锁。 3.事务 MyISAM不支持事务,InnoDB支持事务。 4.热备 MyISAM不支持热备,InnoDB支...
阅读(284) 评论(0)
1.事务概念 事务就是一组原子性的SQL,事务内的语句,要么全部执行成功,要么不执行。 例如:A要给B转账200元,那么A的账户要减少200,B的账户要增加200,这两个操作要在同一个事务中,要么全部执行成功,要 么不执行。...
阅读(150) 评论(0)
1 为什么要用线程池   线程也是一种对象,万事万物皆对象,线程池也就是对象池,通过将大对象池化,来达到对象复用,从而节省对象的内存开销以及对象的创建开销,设计模式中的享元模式就是将对象池化的一种模式,比...
阅读(163) 评论(0)
1.避免单点 使用负载均衡做集群避免单点。 负载均衡算法。 软件负载均衡(LVS、HAProxy和nginx)和硬件负载均衡(F5和netscalar)。 热备、多机房(数据同步、内存同步、文件同步) 2.提高应用自身的可用...
阅读(168) 评论(0)
通过升级和增加机器硬件来支撑增加的访问量和数据量的方式称为垂直伸缩。 通过增加机器来支撑增加的访问量和数据量的方式称为水平伸缩。 垂直伸缩,很容易达到瓶颈,增加到一定的程度后再增加硬件,成本会成指数级增长。水平伸缩面临的问题是...
阅读(131) 评论(0)
企业应用最大的难点在于复杂的业务逻辑,大型网站最大的难点在于大量用户以及高并发和海量的数据存储。 互联网1年对于技术人员的成长等于传统行业3年。 会不会很大程度上在于你是否遇到过这些问题,遇到了这些问题,并且解决了,迈过了这个...
阅读(165) 评论(0)
1 synchronized原理 synchronized关键字编译后会在同步块的前后添加上montorenter和monitorexit两个字节码指令,这两个字节码指令都需要一个指向锁定和解锁对象的reference,如果指...
阅读(152) 评论(0)