- 浏览: 7953 次
- 性别:
- 来自: 深圳
最新评论
文章列表
在什么情况下使用线程池?
1.单个任务处理的时间比较短;
2.将需处理的任务的数量大;
使用线程池的好处:
1.减少在创建和销毁线程上所花的时间以及系统资源的开销;
2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及”过度切换”。
线程池原理: http://www.ibm.com/developerworks/cn/java/j-jtp0730/
参照设计原则:
高内聚低耦合,可扩展性,可维护性,易操作性(容易部署,方便运维)易测试性。
可借助的方法和工具:
1.分而治之,将系统进行分解,按业务逻辑划分为业务功能单元,按交互结构划分层次;
2.遵照设计原则,应用常见设计模式;
3.自动构建,敏捷开发,及时交付,Maven、CI等工具应用;
4.使用缓存,静态化等保证性能。
5.分析系统性能瓶颈,进行优化。
问题描述:
每个班级下有多个学生,班级与学生存在一对多的关联,即N个学生对应一个班级;如果在查询班级时需要查询出班级里的所有学生,就会出现查询班级的sql一条与N条查询每个学生的sql。
问题解决:
1.可以使用连接查询一次性查出全部数据,包括班级和学生。2.懒加载,对班级下的学生懒加载。
Struts MVC与Spring MVC比较
- 博客分类:
- 转发
1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。
2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。spring3 mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去,在spring3 mvc中,一个方法对应一个request上下文。而struts2框架是类级别的拦截,每次来了请求就创建 ...
It is indirectly referenced from required .class file
原因:你正要使用的类调用了另一个类,而这个类又调用了其他类,这种关系可能会有好多层。而在这个调用的过程中,某个类所在的包的缺失就会造成以上那个错误。
解决方法:导入缺失的包
HSQLDB安装与使用
- 博客分类:
- 转发
HSQLDB是一个轻量级的纯Java开发的开放源代码的关系数据库系统。因为HSQLDB的轻量(占用空间小),使用简单,支持内存运行方式等特点,HSQLDB被广泛用于开发环境和某些中小型系统中。
HSQLDB的运行需要Java环境的支持。
HSQLDB的下载与安装:
HSQLDB的最新版本可以通过http://sourceforge.net/projects/hsqldb/下载。本文执笔阶段HSQLDB的最新稳定版本是:1.8.0.7。
下文以Windows环境为例,介绍怎么样安装HSQLDB。Linux环境除了目录与命令不一样之外,其余基本一样。
下载完成之后,把下载的ZIP文件解压 ...
应用服务器和WEB服务器的区别
- 博客分类:
- 转发
通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。转自百度百科
delete 和 truncate 区别
- 博客分类:
- 转发
delete from aa
truncate table aa
区别
1。delete from后面可以写条件,truncate不可以
2。delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整个页,因此日至里面只记录页释放,简言之,delete from更新日志,truncate基本不,所用的事务日志空间较少
3。delete from删空表后,会保留一个空的页,truncate在表中不会留有任何页
4。当使用行锁执行 DELETE 语句时,将锁定表中各行以便删除。truncate始终锁定表和页,而不是锁定各行。
5。如 ...