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