- 浏览: 25174 次
- 性别:
- 来自: 上海
最新评论
文章列表
在面对具体的业务操作中,我们可能会从数据库中查询一部分数据然后根据客户端传进来的数据,然后根据具体的算法,对这2部分的数据进行取交集或者其它的算法;
这个问题延伸就是在面对的具体的2个(List)数据集的操作的时候如果其中的一个数据集中能通过一个元素唯一的确定一个数据,可以把元素转换成HashMap的的格式,这样:1.能减少循环的次数;2,HashMap存放的数据比ArrayList相对来说要大些。
总结:1.在面对数据量比较大的情况下的业务处理(对单个数据元素的处理)根据具体的业务规则来考虑尽量避免使用循环(如果无法避免就没办法);
2.如果在业务规则中有多层循环,可以考虑具体的业务看 ...
connection创建Statement对象,默认是使用resultSet的读取类型
Statement在编译的时候不进行sql语句的检测,只是把Sql语句看成一个String,只有在驱动程序执行sql语句的时候才去检查sql语句的正确性
一个Statement对应一个操作的过程,如果想对多个结果集操作就要创建多个Statement
当你使用一个Statement操作多个结果集的时候,当你在操作第二个结果集的时候就隐含着对第一个结果集的关闭
public java.sql.Statement createStatement()
throws SQLException ...
好久没更新博客了,最近主要工作是对sql的优化把自己的工作心得写下来;
sql优化是一个漫长和复杂的过程
1.对sql语句的本身的优化,sql分为简单的查询和复杂的查询,尽量保证所有的查询都能使用到索引(通过执行计划查看) ...
mysql数据库的索引的类型:normal ,Unique,full text三种类型的一般主键是唯一性索引,其他的一般是建普通的索引
索引的数据结构说明:
http://www.codinglabs.org/html/theory-of-mysql-index.html
索引在什么情况下使用,怎么使用是个很深的东西一般根据实际的情况区分不同的业务规则,创建不同的索引,索引创建过多对数据的入库和更新影响很大,因为每次insert和update都要去维护这个索引。
当然还可以通过 EXPLAIN 执行计划来查看索引的使用情况
查询的执行过程:
http://www.nowamag ...
mysql的引擎类型
- 博客分类:
- mysql
mysql的引擎最常用的是 MyISAM和InnoDB,MyISAM是不支持事务的,而InnoDB是支持事务的(包括分布式事务)所以MyISAM的性能会高点。在项目中根据具体的业务规则可以选择不同的数据库引擎可以通过 show engines 查看数据库的引擎类型 (看图片)
如果没有指定数据库默认是使用 MyISAM类型的引擎类执行处理的。
具体的 各个引擎之间的区别可以 看这篇文章
http://seaizon.iteye.com/blog/572081
关于 MyISAM和innoDB的区别:
http://www.mysqlops.com/2011/12/09/myisam ...
java使用poi读写excel
- 博客分类:
- poi操作excel
使用poi操作excel 代码
package com.tws.readexcel;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache ...
2011不管是工作上还是生活上,自己都经历了很多事情同时也成熟了很多,同时对自己的未来有了期待。
工作上:自己要有责任心,做事情要保证基本做到比较完美,同时要记得每天写日志对每天工作的东西都进行记录,即使是很少的部分也要记下来,同时对一些工作上的事情要有自己的想法记录,尽量做到对自己的以后的启迪。
生活上:改变自己的脾气,在和别人说话的时候不能那么大声,同时改变自己做事情有时太急的表现,
2012-01-08 晚 自己记录的
http://snowolf.iteye.com/blog/379860 从其它地方找到的好文章自己记录下。
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。
假设我们有两张表。
Table A 是左边的表。
Table B 是右边的表。
其各有四条记录,其中有两条记录是相同的,如下所示:
id name id name
-- ---- -- ----
1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spag ...
tomcat
- 博客分类:
- how tomcat works
how tomcat works 介绍tomcat的工作原理和怎么处理客户端请求,
自己记录下来word, pdf版。
在java中有时候要判断两个对象是否相等,不相等的情况下才做添加处理,我们一般是Set来保存model对象,因为Set是不能添加重复的对象的,但是Set是怎么判断对象重复的呢?
是通过重写hashCode()和equals()方法
比如:现在我有个业务model对象CaptureData
public class CaptureData implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* data_id.
*/
...
有时我们在操作数据库的时候可能会碰到,操作多个数据库的情况(当然最好避免这样操作数据库)事务应该怎么控制,与在单个数据库下有什么区别
主要还是applicaion.xml配置文件的变化
在java的list 中存放的是对象的引用,
比如: User u=new User();
u.setId(1);
u.setUserName("tangwensheng");
List<User> list=new ArrayList<User>();
list.add(u);
list的add(Object obj)的操作就相当于 User u1=u; 然后在把u1存放到数组中
所以list中引用和u的引用是一样, 是同一块内存地址 所以u 修改了内存中的对象的属性值 list中的引用的对象的值也变化了, 但是如果 u=null 跟lis ...
java删除问题
- 博客分类:
- 集合中循环条件满足删除
在操作集合的过程中,有时要对不满足条件的集合中的元素进行删除
1,可以使用iterator进行迭代删除
2,使用集合本身的remove()方法
在用迭代器 处理集合对象时候
当在创建Iterator对象的时候会获取集合对象的modCount值
当在调用next()方法时候 会比较在创建此Iterator时获取的modCount与目前的modCount
如果这个2个modCount不相等,就会抛出ConcurrentModificationException
所以我们在用Iterator遍历集合的时候对集合中对象的add,remove要小心
再用get(index)获取元素时 也会先检查modC ...