文章列表
进段时间在折腾一个批量处理数据的东西,就是从几百万的表中查数据到内存,还会通过主键关联很多表。
callback方法一次查300行数据,每行数据用主键关联2张表的数据,就是一次900行的数据。
其中一个实体是内容,在mysql是一个text子段,可能比较长。
在每次调用完callback后,只是close了session。
用jstat看了内存使用,在200多次查询以后,老身代堆区 100% 。
之后调用了session的clear()以后解决。
这里为什么明明在不调clear()的时候,明明GC了,但是还是没有明显的内存回收,session缓存的 ...
mysql camand
- 博客分类:
- MySQL
一、MySQL 连接本地数据库,用户名为“root”,密码“123”(注意:“-p”和“123” 之间不能有空格)
C:\>mysql -h localhost -u root -p123
二、MySQL 连接远程数据库(192.168.0.201),端口“3306”,用户名为“root”,密码“123”
C:\>mysql -h 192.168.0.201 -P 3306 -u root -p123
三、MySQL 连接本地数据库,用户名为“root”,隐藏密码
C:\>mysql -h localhost -u root -p
Enter pass ...
MySQL索引 聚集索引
如果你想了解MySQL索引查询优化,你首先应该对MySQL数据组织结构、B-Tree索引、聚集索引,次要索引有一定的了解,才能够更好地理解MySQL查询优化行为。这里主要探讨MySQL InnoDB的聚集索引。
InnoDB数据存储结构
1.MySQL将所有数据都逻辑地存放在ib_data1文件中,我们称之为表空间。当然,你也可以一个表对应一个物理文件,将innodb_file_per_table设置成ON即可。2.表空间又划为成段,有数据段(leaf node segment),索引段(none-leaf node segment),回滚段(rollba ...
String是不可变的对象,就是说String对象内部的数据是不可变的。一般修改一个String的方法其实做的操作是创建了一个新的对象作为返回。因此每次对String做了改变都会长生一个新的String对象,所以对于不经常改变的字符串用String比较好。
《String,StringBuffer区别》
http://blog.csdn.net/ngj/archive/2009/08/15/4449224.aspx
评价:写的通俗易懂,直掐要害,很给力。
《java中String,StringBuffer,StringBuilder的思考》
http://blog.csdn.net/zwhfyy/archive/2007/01/13/1481956.aspx
评价:
《理解java的String对象》
http://blog.chinaunix.net/space.php?uid=122937&do=blog&cuid ...
http://www.stubc.com/thread-2117-1-1.html
问题重述:
给出n种邮票,每种邮票有自己的面值(面值可能重复)
指定m种“总面值”,对每种“总面值”,求解满足如下条件的组合以达到该“总面值”
(1) 所用邮票在n种中可以重复选取
(2) 所用邮票张数〈=4
(3) 尽量多的适应那个不同总类的邮票 Max (Stamp Types)
(4) 若有多种方案满足(3),则选取张数最小的一种方案 Min (Stamp Num)
(5) 若有多种方案满足(3)(4),则选取“最大面额”最高的一种方案。 Max(Heightest Value)
(6 ...
题意:http://hi.baidu.com/hammerc/blog/item/b5251d9bd32492b9c9eaf45a.html
自己的思路:1.碰到连续几行是一样的数字时,不计算直接返回0
2.求得一个数的max后,向右推出结果一样的最远的那个值
麻烦:1.求一个像素结果(绝对值的Max)过程很繁琐,要退出上下左右的临近的值,如果不建二维表的话计算过程很繁琐。
2.向右退出同样max的过程同样繁琐。
暂时放弃
http://zhoujin.com/post/154/
PS:今天在服务器上安装了。ubuntu-10.04-server-amd64版本。因为要安装oracle企业版本。所以又在线安装了GNOME基本版本。ORACLE安装好了,以及LDAP,JDK,TOMCAT都初建了好。做到最后收尾工作了,修改一下启动方式吧,让系统以后启动自动进入文本模式。问题来了。以前改变INIT值的方式不行了。最后总算找到万恶的根源:Upstart1.Debian下的三大神器sysv-rc-conf, update-rc.d,rcconf,全部不起作用,明明里面已经显示GDM是不启动了,可是他还是启动。2.自己切换 ...
http://my.oschina.net/suwenyin/blog/13710
参考文档:http://forum.ubuntu.org.cn/viewtopic.php?t=183803
jdk版本:jdk-6u22-linux-i586.bin
步骤一 在/usr/lib/jvm中创建java目录
cd /usr/lib/jvm
sudo mkdir java
http://my.oschina.net/taohong/blog/14530
对于 虚拟化,我们希望 共享虚拟光盘上的系统,每个虚拟机的 个性配置和数据在各自的虚拟硬盘上!这样我们只需维护 一个共享的系统和 各自的数据,这样虽然系统只读,不会感染病毒,但光盘不能更新,容易被攻击!进而我们想到用共享的只读虚拟硬盘存放系统。
而linux的系统结构要求etc、bin、sbin、lib必须在同一个分区(/),usr、var、home、boot等系统目录及自定义目录可以放在其他分区。这就要求我们必须从etc目录中分离出跟本机有关的文件或目录,或只保留能引导到挂载其他分区的一小部分,要动etc,必 ...
group by:
在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用
having子句限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表
达式的值分组查询结果。
在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么包含聚组函数
select max(sal),job emp group by job; (注意max(sal),job的job并非一 ...
NanoHTTPD是个很简单的http服务器,简单到只有一个java文件,主要原理是用ServerSocket接受请求,对每一个请求的Socket创建一个线程去处理(HTTPSession),线程内保存Socket,用Properties保存切割出来的head信息和url后的参数信息,serveFile方法处理是返回异常页面,还是响应请求,返回请求的页面,代码有点乱...
Properties是继承自HashTable是个同步的Map,一个请求用一个线程处理,感觉不需要同步,却用了同步。
创建线程的代码如下:
public NanoHTTPD( int port ) thr ...
http://www.infoq.com/cn/news/2011/01/nosql-why
http://www.infoq.com/cn/news/2011/01/relation-db-nosql-db
http://www.infoq.com/cn/news/2011/02/nosql-architecture-practice
在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有:minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为falseconnectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为 ...
CREATE TABLE `t` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=latin1
select * from t where id in(select id from t where name='a');
show status like'last_query_cost';
结果比较悲催。。
+------------ ...