- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 多线程写文件操作
最近项目有个需求,对数据库中的号码进行检查,检查号码状态是否正常,检查方法需要依赖接口,每个号码调一次http接口,基本思路:1,轮询分页查询数据库,取号码2,对取出的号码循环调接口查询3,接口结果记录到文件中由于最初没有考虑大量号码的情况,使用的是单线程处理,当时2W号码用了4个小时,简直跑废了的感觉,可能接口返回比较慢接近1s后边就使用了多线程处理,网上查了下,基本都是
2017-06-20 18:14:04
6152
原创 Http4.3工具类(连接池和非连接池实现)
由于之前项目数据量小,直接用的一般的http请求,后边随着数据量猛增到百万级,造成大量http请求 org.apache.http.conn.ConnectTimeoutException ,上网搜了搜,大神们说原因是http请求过多,请求占资源一直没有释放,最后导致连接失败,看了下当时的http请求代码,的确没有释放的环节,当时也没有找需要再什么地方释放了,就整体改成连接池的模式,最后问题得以解
2017-05-15 16:54:34
558
原创 使用 xmlSerializer 解析xml 数据方法
由于项目需求,接口协议是xml数据格式传输,所以就需要对发送的数据和接收的数据进行xml封装和解析 网上有很多使用 dom,dom4j的方式来封装或者解析xml数据,但是需要自己写处理逻辑,我也上网查了下,发现xmlSerializer 又进行封装了一层,直接把json转为xml,xml转成json,感觉更方便了(其实是我偷懒了),我的项目基本是些一个 类,类中的属性就是需要发送的xml属性
2017-03-03 13:30:24
4419
原创 记一次mysql分页错误(感觉自己真SB)
当数据库数据异常多的时候,取数据时使用分页是最常用的方法,但是请注意mysql数据库的分页,是从0开始的,0,0,0,(重要的事情说三遍)例如:取表 A 按照 b字段排序,每次取 10条数据sql的bean:@SQL("select * from A where order by b limit :1,:2")public List get(long offset,long limi
2017-03-02 14:29:19
366
原创 记使用阻塞队列的坑
由于项目需求,使用多线程处理数据,期间数据量后期可能达到百万甚至千万级别,所以考虑使用阻塞队列存储,所有数据使用的是 LinkedBlockingQueue 队列,大小设置为 10000 每次数据库中只取号码list 每个list大小 500 所以可以支撑数据量是 500W下面的代码是没有问题的贴源码:/** * 获取所有号码列表 存入队
2017-03-02 12:29:59
861
原创 java时间处理Calendar使用小记
我理解Calendar类主要对于获取某些特定特殊的时间时特别方便,比如月的最后一天,月的某一个星期,星期的某一天,年的某一天等等,并且和date类相互可以转换注意: Calendar.MONTH 的值是从0-11表示12个月JANUARY 0FEBRUARY 1MARCH 2APRIL 3MAY 4JUNE 5JULY
2017-02-04 15:51:53
9814
转载 poj 1850
大致题意:(与POJ1496基本一致)输出某个str字符串在字典中的位置,由于字典是从a=1开始的,因此str的位置值就是 在str前面所有字符串的个数 +1规定输入的字符串必须是升序排列。不降序列是非法字符串不要求用循环输入去输入若干组字符串,但若输入非法字符串则输出0,且结束程序,这是和POJ1496最猥琐的区别,很多同学只注意到规定str的长度不同,以为把str数组长度改一下直接
2014-01-06 20:08:10
408
原创 输入a的值求以a为边的直角三角形有多少组,b要大于a,c是斜边 三个数都是整数
#include#includeusing namespace std;//输入a的值求以a为边的直角三角形有多少组,b要大于a,c是斜边 //A=a*a=c*c-b*b推出A=x*y x=c+b y=c-b int main(){ __int64 a; while(cin>>a&&a) { __int64 A=a*a; int ans=
2013-05-11 19:19:22
756
原创 poj3286
输出a到b之间有多少个0#includeusing namespace std;__int64 d[11]; //存放0-9出现次数 __int64 value; //记录相应的权值 void deal(__int64 n){ if(n<=0)return; __int64 one,
2013-05-10 23:24:31
416
原创 poj3619
题意是给你书的页数N,M=3,每分钟读的速度s,连续读的时间t,歇息时间r,求读完书的时间#include #includeusing namespace std; int main(int argc, char *argv[]){ int N,K; cin>>N>>K; while(K--) { int s,t,r; cin>>s>>t>>
2013-05-08 21:16:58
528
原创 poj1922
题目就不说了,这是同学的一个思路,把所有的人得时间都算一下,取最小值的就是结果,时间是负就不考虑了#includeusing namespace std; int main(){ int n; while(cin>>n&&n) { int min=100000; while(n--) {
2013-05-08 18:18:14
472
原创 poj3173
水题一道,输入上三角矩形的行和列N,第一个元素S,输入的数都是1到9,按列优先填就行了,空格特殊处理一下#includeusing namespace std; int main(){ int n,s; int arry[21][21]; cin>>n>>s; memset(arry,0,sizeof(arry)); for(int i=1;
2013-05-08 18:17:09
491
原创 poj2255
题意就是给你一颗二叉树的前序和中序遍历,输出后序遍历其实是很简单的一道题,唉,做了好几天,真是感觉自己太菜了,但是懂了当你递归不会写时,就用笔运行程序,得出递归的公式 #include#includeusing namespace std;void Dg(string s1,string s2){ if(s1.length()==0) return;
2013-05-08 18:14:13
411
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人