java
苏雨田
多思考,多学习,多沉淀。
展开
-
网站后台service层controller层测试方案总结
网站后端一般从下往上有Entity层(对应DB table) —> Dao层(对应DB table增删改查各种操作)—> Service层(业务逻辑层,调用dao层和DB打交道) —> Controller层(对应http api urls,调用service)。前后端分离开发的话,后端必须做到充分的自测,才能保证前后端联调时不出大问题。如果Dao层使用JPA的话,其实不需要测...原创 2020-04-05 22:53:30 · 657 阅读 · 0 评论 -
解决我们自动化工具内存溢出/性能低下的问题
最近做了一个5分的Story,要解决我们excel(基于Key列的值)比对工具内存和性能问题。拿了很多不同大小的文件测试下来,发现当重复记录很多(Key列的值相同,这里的Key列,就跟数据库表的key column一个意思),会内存溢出。溢出的代码行竟然是非常常见的 String s = intNumber + “”,即把一个int值转成一个String…而且这个写法在内存溢出的方法体里随处可见。...原创 2020-02-11 20:41:01 · 246 阅读 · 0 评论 -
最近忙着写网站
最近两个月忙着做网站。收获还是很多的,只是我司的政策不准往外网传任何代码,查封公网github,国内一票博客网站是老早就查封了,包括我现在正在写的csdn…甚是无奈,并不觉得以技术自由为代价换来信息安全,是一笔划得来的操作。总结下最近做的事情,仅供我自己日后参考:Automation center网站全盘重新设计:homepage,header navigation bar,logo des...原创 2019-12-06 22:04:33 · 165 阅读 · 0 评论 -
使用SXSSFWorkbook创建大型excel文件
对于大型excel文件的创建,一个关键问题就是,要确保不会内存溢出。其实,就算生成很小的excel(比如几Mb),它用掉的内存是远大于excel文件实际的size的。如果单元格还有各种格式(比如,加粗,背景标红之类的),那它占用的内存就更多了。对于大型excel的创建且不会内存溢出的,就只有SXSSFWorkbook了。它的原理很简单,用硬盘空间换内存(就像hash map用空间换时间一样)。原创 2018-02-03 14:40:02 · 11459 阅读 · 4 评论 -
jdbcTemplate读数据内存溢出
最近做Hadoop项目的自动化测试,代码要从hadoop mart里读数据出来,写到.csv文件里。有一个query结果集包含10万+条记录,且每条记录包含30+个列,于是jdbcTemplate华丽丽的内存溢出了。其实论数据量,这个真心不算大… 仔细看了看代码,大概知道了原因,结果集保存在List>这种结构中,而Map是比较消耗内存的,10万+个Map,每个Map30+对key-value…内原创 2018-01-20 12:00:17 · 4829 阅读 · 4 评论 -
生成不重复随机数序列(Java)
从1到n之间抽取出k个不重复的随机数,用Math.random()实现的话,可参照下面的代码。int r = (int) (Math.random() * n), 生成下标,据此下标,去到numbers数组里拿到随机数。然后将numbers[r]的值设置成numbers[n-1]的值,下次抽取时,从numbers数组的前n-1个元素里抽取。以此类推,再下次,就是从umbers数组的前n-2个元...原创 2018-09-16 15:23:09 · 8804 阅读 · 3 评论 -
Excel文件内容比对 -- Java Apache Poi
Excel文件内容比对 -- Java Apache Poi代码结构代码运行结果测试用例工具使用前提条件待完善的点在某些项目中,报表比对是测试的一大内容。比如,在某版本下生成baseline report作为标准答案,新代码进来后,再次生成report,跟baseline report作比较,确保改动没有引入差异。报表多以excel文件形式导出,用工具进行excel文件比对十分有用。Apach...原创 2019-03-05 16:01:19 · 1902 阅读 · 0 评论 -
Java程序解数独
https://github.com/sophie2805/SolveSoduku喜欢解数独,不过老爷们解数独似乎更胜一筹,iPad上的最高分一直都是他的。于是,写了一段解数独的代码,不到一秒就解出来了,然后把答案照搬到iPad上,拼的是手速啊。终于扬眉吐气了!基本思路就是把当前空白单元格的所有可能解罗列出来(基于横,竖,小九宫格罗列可能解,也就是getCandidates(…)方法),填入第...原创 2019-04-20 11:00:37 · 446 阅读 · 0 评论 -
定时查询DB记录返回条数和耗时
org.quartz-scheduler定时执行DB查询,FufutreTask异步执行timeout后取消任务原创 2019-08-10 09:52:57 · 319 阅读 · 0 评论 -
在Mac OS X + Idea下搭建Maven项目 -- Maven的依赖管理
上一篇博文讲到如何安装maven,这篇算是它的续篇,总结下maven是如何管理依赖的。maven强大之处就是管理依赖。通过依赖传递,依赖继承,以及pom导入,可以轻松实现依赖的版本管理。通过依赖scope实现在不同的生命周期时段,加入依赖。如下是一个最简单的为当前项目添加依赖的示例: IntelliJ Idea > Preferences… > Build, Execution, Dep原创 2018-01-07 18:09:53 · 2838 阅读 · 0 评论 -
在Mac OS X + Idea下搭建Maven项目 -- 安装maven及常用mvn命令介绍
在公司参与的项目是windows下的eclipse + maven. 想在自己的电脑上玩一下maven,所以以下是在Mac + Idea下搭建Maven项目的过程。 首先是安装Maven: 1. 从Apache网站上下载最新版本的Maven: https://maven.apache.org/download.cgi ,mac下下载.tar.gz 2. 解压缩后,将文件夹放置于合适的目录原创 2018-01-06 17:20:48 · 7365 阅读 · 1 评论 -
LeetCode OJ平台上的Climbing Stairs题目用java迭代解决
题目如下。You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?x原创 2014-06-11 22:11:51 · 657 阅读 · 0 评论 -
LeetCode OJ平台上Single Number II题目使用java位运算解决
原题如下,不让用extra Given an array of integers, every element appears three times except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implem原创 2014-06-11 21:55:11 · 608 阅读 · 0 评论 -
LeetCode OJ平台上Maximum Subarray题目O(n)复杂度解决方案
原始题目如下,意为寻找数组和最大的子串,返回这个最大和即可。Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [−2,1,−3,4,−1,2,1,−5,4],the原创 2014-06-14 11:53:07 · 794 阅读 · 0 评论 -
LeetCode OJ平台上Sort Colors题目算法探讨
原题如下,意思就是说无序数组(由0,1,2组成),一遍扫描,把数组整理成0,1,2这样的序列。Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red,原创 2014-06-17 20:30:08 · 1008 阅读 · 0 评论 -
Selenium IDE录制登录操作,导出Java / Junit 4 / WebDriver
Selenium IDE可以录制简单的浏览器操作,然后导出成想要的对应的代码。在用Selenium 2.46正式做一些事情之前,我打算先用IDE录制简单的登录操作,然后导出成Java代码,给自己后面直接写代码做个范例。【Selenium IDE下载】【Selenium IDE安装】打开FireFox浏览器 -> 附加组件 -> 获取附加组件 -> 右上角设置图标 -> 从文件安装附原创 2015-07-02 11:51:26 · 5379 阅读 · 0 评论 -
Java泛型类泛型方法
Java泛型类和泛型方法原创 2015-07-10 22:40:25 · 816 阅读 · 0 评论 -
Selenium_WebDriver自动登录BBS找到特定帖子回复指定内容领铜钱(xpath初练手)_Java
Selenium_WebDriver自动登录某财BBS找到特定帖子回复指定内容领铜钱(xpath初练手)原创 2015-07-03 11:02:03 · 1169 阅读 · 0 评论 -
Java去重合并List
之前写C#的项目,去重合并List很方便,使用list1.Union(list2).ToList()即可(Enumerable.Union)。并且,如果想要从list1里移除list2的item,也很方便,list2.Except(list1).ToList()现在写Java的项目,它没有此类原生方法可以直接调用,操作起来,稍微多点步骤。 public static void main(Str原创 2017-11-08 21:28:32 · 443 阅读 · 0 评论 -
LeetCode OJ平台上Binary Tree Postorder Traversal题目用java堆栈实现
原始题目如下,意为后序遍历二叉树,不要用递归。Given a binary tree, return the postorder traversal of its nodes' values.For example:Given binary tree {1,#,2,3}, 1 \ 2 / 3return [3,2,1].原创 2014-06-07 16:09:16 · 698 阅读 · 1 评论