`
小网客
  • 浏览: 1248866 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
单元测试代码质量之必备,junit4中有几个有用但是不常用的注解。 前序: public abstract class StringUtilsExt { public static boolean isEmpty(String str) { return StringUtils.isEmpty(str); } public static boolean is(String str) { if (StringUtils.isNotEmpty(str)) { throw new RuntimeException(); } return true; ...
场景:        json格式在目前的数据传输中比较流行,那么我们需要把自己的vo类转换为json的string格式。 实现: public class User implements Serializable { private static final long serialVersionUID = 4268352833923502792L; private String id; private String name; private List<String> values = new ArrayList<String>(); ...
场景: 1.获取ftp列表 2.获取文件 实现: private static void list() { FTPClient ftpClient = new FTPClient(); try { ftpClient.connect("ftp.someabcd.com", 21); ftpClient.setControlEncoding("UTF-8"); ftpClient.login("anonymous", "anonymous@ftp.someabcd.com"); ...
场景: 1.使用list的时候需要判断是否为null,同时是否为空 2.使用String的时候我们需要判断是否为null,同时是否为空 3.随机数,随机字符串 代码: String t=null; if(t==null ||"".equals(t)){ //do }  list的操作 List<String> list=null; if(list==null ||list.isEmpty()){ //do }   方案: 我们可以采用apache下的common进行常用的操作 import org. ...

JVM性能调试之mat

    博客分类:
  • Java
mat为eclipse的一个内存分析插件,帮助查找内存泄漏和减少内存消耗。 首先基于jmap导出的堆信息 jmap导出参见另一则博客 jmap -dump:live,format=b,file=test.bin 29030  准备代码: 对象: class User { private String id; private String name; ...

JVM性能调试之jmap

    博客分类:
  • Java
jmap 的用途是为了展示java进程的内存映射信息,或者堆内存详情 常用的参数如下: histo jmap -histo pid 展示class的内存情况 展示的信息为编号,实例数,字节,类名 例如: jmap -histo:live 2540 num #instances #bytes class name ---------------------------------------------- 1: 20981 908120 [C 2: 21015 50 ...
场景:        mysql有压力测试,会利用压测工具,mock一大批数据,但是hbase没有提供相应的功能,此时我们可以自己写一个mock工具,以满足我们的测试需求。 分析: 我们看下Mapper的源码: public void run(Context context) throws IOException, InterruptedException { setup(context); while (context.nextKeyValue()) { map(context.getCurrentKey(), context.getCurrentValue(), con ...
场景:       在MapReduce操作Hbase的时候有时候不需要reduce,只需要用Mapper的时候读A表,处理完之后写B表,也就是A表为输入表,B表为输出表。需求就是 A中的有一列E:E,把‘E:E’中为数字的数据保存到B表中。 表说明:      create A,'E'      create B,'E' 方案一:直接在mapper中打开B表,如果不是数字,那么直接Put进去,这个比较简单优缺点就不说了 方案二:TableMapReduceUtil.initTableMapperJob把A表作为输入,同时设置outputValueClass为Put,然后设置Ou ...
介绍两个小工具 1.MapReduce方式统计某表的行数 org.apache.hadoop.hbase.mapreduce.RowCounter  使用方式如下: bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter TEST  参数说明: <tablename> [--range=[startKey],[endKey]] [<column1> <column2>...] -Dhbase.client.scanner.caching=100\n -Dmapred.map.tasks.sp ...
需求如下: hadoop的MR执行时,有时候需要获取当前读取的文件名,如对qq聊天记录的分词解析,每个聊天记录的问题命名为qq1-qq2.txt用来表示qq1对qq2说的所有的聊天记录,那么当我们分词完成之后,需要入Hbase,这个时候rowkey为qq1-qq2,内容为语义分析的结果列表。 方案: 针对此操作需要获取当前读取的文件的路径或者直接读到文件名,从而得到文件名,实现如下: String id = ((FileSplit) context.getInputSplit()).getPath().getName();  
Spring支持基于Quartz的任务调度,那么其cron表达式类似于Linux的crontab,有7个字符构成,详情如下: 位置 代表名称 允许值 允许字符 1 秒 0-59 , - * / 2 分 0-59 , - * / 3 时 0-23 , - * / 4 日 1-31 , - * ? / L W C 5 月 1-12 , - * / 6 星期 1-7 , - * ? / L C # 7 年 空值1970-2099 , - * /   字符的含义说明如下:
普通的web工程,不支持Spring,我们需要执行定时任务,那么步骤如下: 步骤1:Spring的支持,在web.xml中引入Spring的context <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>  同时加入Spring的配置文件路径信息 <context-param> <param-name>contextConf ...
Jsoup为一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。 场景如下: 1.获取京东的图书类目 2.以类目id为key,类目名称为value保存到map中 代码如下: private static Map<String, String> getWareCategory() { Connection conn = Jsoup.connect(JDConstants.CATEGORY_URL_FORMAT).userAgent( JDConstants.MOZILLA_AGENT).timeout(JDConstant ...
采用的版本如下: Java代码   joda-time-2.1.jar   基于joda-time进行date format的操作代码如下: Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); String pattern = "yyyy-MM-dd hh:mm:s
采用的版本如下: commons-lang-2.5.jar   基于commons-lang进行date format的操作代码如下: Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); String pattern = "yyyy-MM-dd hh:mm:ss"; String dateStr = DateFormatUtils.format(calendar, pattern); Date ...
Global site tag (gtag.js) - Google Analytics