随笔分类 -  java

1
摘要:博客搬家至: https://lcy362.github.io/posts/13749/ Jstorm的UI中提供了大量非常详细的监控参数,对于我们排查问题帮助非常大,关于UI,可以参考我之前的另一篇文章: http://www.cnblogs.com/buptl/p/6520660.html 。 阅读全文
posted @ 2017-09-06 20:18 mobility 阅读(551) 评论(0) 推荐(0)
摘要:博客搬家至 https://lcy362.github.io/posts/1120/ apache camel 作为数据路由的利器,使用起来非常方便。不过与此同时,也有一个问题,就是由于封装的过于完善,隐藏了很多技术细节,所以一旦有问题,排查会比较困难。好在官方提供了一个debug工具,可以帮助我们 阅读全文
posted @ 2017-08-03 19:56 mobility 阅读(646) 评论(0) 推荐(0)
摘要:storm/jstorm里的进程遇到异常就会退出,看似是一个很简单的异常崩溃逻辑,但是事实上并不是这么简单。本文就从源码角度梳理jstorm里对于异常的整个处理逻辑,并分析这种设计是否合理。 阅读全文
posted @ 2017-08-03 19:29 mobility 阅读(634) 评论(0) 推荐(0)
摘要:除了通过properties,xml等格式的配置文件对log4j进行配置外,log4j还提供了各种接口,可以用代码动态修改log4j的配置,例如给一个logger增加一个appender。方法很简单,就是新建一个appder,然后添加到logger上,示例代码如下: 这里以一个kafkaappend 阅读全文
posted @ 2017-06-30 19:30 mobility 阅读(1176) 评论(0) 推荐(1)
摘要:原文地址: https://lcy362.github.io/posts/4987/ 有时候我们需要写一些简单的性能测试代码,恰好在stackoverflow上看到一篇经验之谈,https://stackoverflow.com/questions/504103/how do i write a c 阅读全文
posted @ 2017-06-05 20:39 mobility 阅读(563) 评论(0) 推荐(0)
摘要:java里通过获取线程池中的线程数,来控制提交任务的速度。 阅读全文
posted @ 2017-05-26 20:36 mobility 阅读(1472) 评论(0) 推荐(0)
摘要:原文地址: https://lcy362.github.io/posts/32793/ maven里的mirror和repository是两个比较容易混淆的概念,它们的作用都是配置远程maven仓库的地址。顾名思义,repository就是直接配置站点地址,mirror则是作为站点的镜像,代理某个或 阅读全文
posted @ 2017-05-19 19:40 mobility 阅读(7025) 评论(0) 推荐(0)
摘要:eclipse里有一个功能叫做“打可执行(runnable) jar包”, 用这个功能可以把一个工程自身和所有依赖包打成一个fat jar,并且指定Main方法,这样直接使用java jar xxx.jar就可以运行代码了。 但是在不使用eclipse的时候呢?其实,借助maven,我们很容易实现同 阅读全文
posted @ 2017-05-14 09:32 mobility 阅读(870) 评论(0) 推荐(0)
摘要:博客搬家至 https://lcy362.github.io/posts/65262/ 在命令行运行java程序时,如果想引入第三方jar包该怎么办呢。方法其实有很多,一般都是去折腾classloader. 这里介绍一种操作相对简单的方法,就是在运行之前把需要的jar包都加入到classpath中。 阅读全文
posted @ 2017-05-03 18:42 mobility 阅读(4330) 评论(0) 推荐(0)
摘要:原文地址: https://lcy362.github.io/posts/2478/ 最近试图运行一个fatjar的时候报错: 查了一下,跟jar包的签名有关。关于签名可以参考: http://www.cnblogs.com/jackofhearts/p/jar_signing.html 有些Jar 阅读全文
posted @ 2017-04-27 14:16 mobility 阅读(6256) 评论(0) 推荐(0)
摘要:和log4j相比,主要有这么一些变化, 首先整体结构上变化很大,appender、logger都被集中到了各自的一个根节点下。 xml各节点的名称也采用了新设计,名称直接就是有用信息,不再是之前appender xxx="xxx", param xxx="xxx"的形式。 然后一些属性,包括file 阅读全文
posted @ 2017-04-10 20:23 mobility 阅读(1021) 评论(0) 推荐(0)
摘要:java里比较两个list的值是否一致,不考虑顺序,有多种方法,比如排序后直接用equals比较,相互之间执行两次containsAll等,这些办法都需要我们给list的元素类实现equals和hashcode方法。但是有一种特殊情况,如果我们并不方便去实习类的equals方法,例如是一个古老的第三 阅读全文
posted @ 2017-04-10 19:57 mobility 阅读(623) 评论(0) 推荐(0)
摘要:hawtio(hawt.io)是一个开源的监控系统,它提供了多种启动方式,可以运行单独的jar包、war包,然后远程连接其他应用进行监控,也可以将它直接嵌到我们自己的应用中。 本文会介绍在一个单独的java进程(java standalone application)中嵌入hawtio,对应官方文档 阅读全文
posted @ 2017-04-01 19:42 mobility 阅读(953) 评论(0) 推荐(0)
摘要:java下的日志系统简介 阅读全文
posted @ 2017-03-31 19:47 mobility 阅读(5629) 评论(1) 推荐(1)
摘要:对于一个java object的序列化,想测一下使用json和使用一般序列化工具,在时间性能、空间性能上的区别。 json选择用fastjson. 序列化工具使用了protostuff和kyro. 为什么不用protobuf呢?因为感觉对于一个已有的上百个属性的java class来说,再去新建一个 阅读全文
posted @ 2017-03-02 18:10 mobility 阅读(2263) 评论(1) 推荐(0)
摘要:这篇文章只讲使用,不讲原理,简单粗暴。 分布式锁,顾名思义,就是分布式的锁,应用于一些分布式系统中。例如,有一个服务部在数太机器上,然后有可能操作数据库中的同一条记录。这时,就需要分布式锁。 分布式锁实现的方式很多,一般来说需要一个实体来代表一个锁,占用锁时就新建这个实体,锁释放时也对应将相应实体删 阅读全文
posted @ 2017-02-20 19:21 mobility 阅读(417) 评论(0) 推荐(0)
摘要:题目 Given a string, find the length of the longest substring without repeating characters. Examples: Given “abcabcbb”, the answer is “abc”, which the l 阅读全文
posted @ 2017-02-15 20:34 mobility 阅读(438) 评论(0) 推荐(0)
摘要:主要还是通过一个例子加深一下对java多线程里wait,notify的理解,因此写了一个例子,三个线程分别输出A,B,C三个字母,控制这三个线程的执行顺序,从而实现ABCABCABC..这样的输出。 这个问题主要还是需要设计一下锁的策略,这里只是提供了一种方式: 每个线程占用两把锁,分别代表自己(s 阅读全文
posted @ 2017-01-25 16:59 mobility 阅读(517) 评论(0) 推荐(0)
摘要:Integer类实质上也是一个普通的java类,即使值相同,也是不同的对象。 例如 Integer a = 148; Integer b = 148; System.out.println(a==b); 这时输出为false. 很容易理解。 但是如果把值换成48. Integer a = 48; I 阅读全文
posted @ 2016-12-02 19:45 mobility 阅读(242) 评论(0) 推荐(0)
摘要:原文地址: https://lcy362.github.io/posts/27021/ 运行机制 topology里spout/bolt的整体结构不再细讲,主要说说storm/jstorm topology运行时与传统java程序可能存在的区别。其实区别非常少,主要也体现在初始化上,本文的目的在于帮 阅读全文
posted @ 2016-11-16 18:21 mobility 阅读(524) 评论(0) 推荐(0)

1