
java
文章平均质量分 64
IamLsz
专注服务端及数据。
展开
-
java基于browsermob实现代理服务器
在日常应用中,我们希望代理服务器可以拥有可以进行定制的能力,比如在浏览器透明的情况下修改浏览器的请求内容,响应结果,我们可以用browsermob来实现这一功能. <dependency> <groupId>net.lightbody.bmp</groupId> <artifactId>browsermob-core</artifactId> ...原创 2020-06-29 15:30:19 · 2717 阅读 · 0 评论 -
JSON与CSV相互转换
在这里我使用jackson相关的库来操作。在maven中添加以下依赖。<dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-csv</artifactId> <version>2.9.8</version></dependency><de原创 2020-06-03 18:04:09 · 1895 阅读 · 1 评论 -
maven compile的web项目时指定/WEB-INF/lib 目录作为额外的库目录
有一些冷门的jar包,自己又比较懒,不想上传上nexus,就直接放web项目中的/WEB-INF/lib目录了,构建的时候,在编译期出错,因为无法依赖那些jar包,此时用maven的compile插件指定该目录为额外的库目录即可。 maven-compiler-plugin 1.7 1.7原创 2015-11-16 11:55:47 · 5766 阅读 · 1 评论 -
java String类型的格式化
String类提供了静态方法String.format(String formatContent,Object ... value); 在使用上必须使用%d、%f、%s...等等具体制定类型的格式占位符,比如String str = String.format("%d,%s,%d",1,"2",2);这种写法,感觉上非常的不灵活。 在记录日志的时候,我们习惯了 logger.i原创 2015-11-27 16:41:22 · 1402 阅读 · 0 评论 -
maven插件编写与调试
maven常见的插件有compile插件,deploy插件,jetty插件等等,这些插件有的是主动去执行,有的是在maven特定的生命周期中执行。原创 2016-03-30 13:34:32 · 3597 阅读 · 1 评论 -
webservice soap脱离客户端代码单独http调试
webservice soap的实现序列化方式默认也是最通用的是采用xml进行序列化以及http协议进行传输的,也就是文本协议传输调用,这样给了我们脱离客户端代码用工具进行调试或者用HttpClient的代码进行各种测试的方便。 目前需要对webservice soap的server端进行压力测试,然而,每次java这边测试的时候都要启动cxf进行对象的序列化和调用,非常损耗客户端机器的原创 2015-05-13 11:06:27 · 1445 阅读 · 0 评论 -
分享java压力测试模版类 版本2
在上一次,我们分享了一个压力测试的模板类,在模板类里面通过继承然后实现重写几个方法即可以实现压力测试,其本质就是由实现者去实现具体的测试逻辑,将功能代码独立抽离出来实现复用。然而,继承存在着一些缺点是无法避免的。比如具体的失去了灵活性,而且如果java不支持多继承,意味着测试类会被限制少了继承其他类的能力,再者之前的代码对外部暴露的接口过多,无法对用户实现彻底的透明。因此对原先的代码采用了Func原创 2014-10-24 10:55:47 · 1497 阅读 · 0 评论 -
装饰器模式以及继承的应用场景
最近,看到有朋友在吐槽,说在用redis的client库jedis的连接池的时候,得到的jedis的实例,调用close方法之后,不能回到池里面,而是真的关闭了连接。为什么大家会觉得调用close方法是回到连接池而不是关闭连接呢?这个还要从最常见的JDBC的连接池说起,几乎常见的jdbc的连接池在构造连接的时候都增强了connection类,将其close方法重写为returnPool之类的,调用原创 2017-01-22 09:45:14 · 3094 阅读 · 0 评论 -
总结下自己一路走过的java http客户端
这篇文章主要是用来总结自己写代码以来,使用java http客户端的历程,从最开始的原生方式到 httpclient4再到okhttp到现在的unirest,在此只是记录一些demo,没有按使用习惯进行封装。原创 2017-02-27 00:07:24 · 4600 阅读 · 1 评论 -
基于zookeeper的分布式一致性配置中心
当同一个项目部署多个节点,或者多个项目部署在不同的jvm实例上,因为没办法共享内存。那共享项目的配置参数就成了一个问题,当然解决的办法很多,一起读数据库,一起读redis/memcahed,读本地缓存,修改的时候再一个个去触发。这些方案或多或少都会有效率或者时效性比较低的问题。 可能是被人问多了几次,我觉得用zk来实现这种配置中心的方案也是很方便的,不怕效率问题的,就实时去读zk。兼顾效原创 2017-05-22 22:17:15 · 1962 阅读 · 0 评论 -
String的连接方式
总是忘记,做做笔记本。String c = a+"."+b;会转化为String c = new StringBuilder(b).append(".").append("c").toString();----------------------------String c= a;c+=".";c+=b;会被翻译为:String c = new StringBuilder(a原创 2017-07-20 10:58:20 · 4411 阅读 · 0 评论 -
使用intelliji调试 Nashorn java js脚本引擎执行的js文件
执行复杂逻辑的代码,debug是避免不了的。在java中引入js脚本用来做业务逻辑的动态定制修改,我们用的是jdk1.8的nashorn引擎。 本文章,参考了http://hevi.info/programming-language/java/java-1-8-javascript-engine-nashorn-debugging-javascript-file/https://bl...原创 2018-03-14 11:30:38 · 2399 阅读 · 1 评论 -
intellij 开发调试elasticsearch插件
elasticsearch之所以功能比较强大,更多的是因为其插件机制比较灵活,可以直接不需要改动源码的情况下,被es的节点扫描加载。本篇文章就简单的讲一下如何进行调试插件,其实无论是river、analysis或者是其他的plugin,都是差不多的写法,所以我们用其中一个river的插件来演示下如何进行调试。 首先,在github上git clone对应的elasticsearch的源码原创 2015-04-14 14:15:50 · 10679 阅读 · 1 评论 -
linux下采用ps、jstack命令排查命中java应用中占用CPU高的代码
一般情况下,是因为系统出现瓶颈了,才会去进行调优,而调优则要先找出项目代码中的问题,这次针对java应用占用CPU高的代码进行排查。 假设,目前有一个应用在运行过程中会导致CPU居高不下,而无法知道是哪段代码引起的,这个时候,则可以采用本篇文章说的PS命令和jstack命令进行排查命中相关的代码,对于linux下大名鼎鼎的ps命令就不介绍了,我们直接切入主题,在本篇中,我们需要获得对应的原创 2015-04-03 15:57:01 · 3085 阅读 · 2 评论 -
java 配置生成工厂类的封装
java中关于properties文件(k-v形)原创 2014-04-07 13:33:45 · 1329 阅读 · 0 评论 -
最基本的网页爬虫(数据采集)
经常看到一些交流网页爬虫的原创 2014-04-27 01:38:05 · 7643 阅读 · 1 评论 -
java调用protobuf
protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了三种语言的实现:java、c++ 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,原创 2014-07-19 11:26:41 · 4103 阅读 · 1 评论 -
采用池化的思想替换StringBuffer的使用
大家对StringBuffer的第一个印象就是,用来替换string+原创 2014-08-12 23:07:50 · 952 阅读 · 0 评论 -
java使用ByteArrayOutputStream读取任意大小的二进制数据
java提供了很丰富的io接口,包括原创 2014-04-24 10:02:55 · 9688 阅读 · 0 评论 -
使用java自定义jmeter的压力测试用例
之前已经分享过如何用java进行压力测试,然而,那种直接用代码压测的缺乏图形化GUI的直观。同时,只能够单机进行压测,有些情况下,比如webservice的压测需要大量的序列化反序列化xml,这些很消耗CPU之类的资源的压力测试,单机根本不足。 基于上述的原因,我选择了jmeter来进来一些压力测试用例的实施,像普通的http压力测试的对jmeter来说都小菜一碟,同时分布式的压力测试对原创 2014-12-19 15:12:26 · 3188 阅读 · 0 评论 -
java常用对象序列化对象性能简单比较
java常用的序列化手段有很多,包括 jdk Serialize、json、kryo、protobuf、xml等。在这里,我原创 2014-10-27 17:18:07 · 2328 阅读 · 0 评论 -
webservice soap简单的性能测试结论
在这里,我jiang原创 2014-11-04 09:51:57 · 2627 阅读 · 0 评论 -
分享java压力测试模版类
压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败。网络游戏中也常用到这个词汇。 我们在日常一个系统的交付过程中,需要对系统进行压力测试,即单位时间内相应数的测试,常用在web以及数据库和其他网络服务器的开发交付中,对于web的压力测试我们可以选择ab之类的,而jmeter原先是为了web压力测试产生的,目前更是通过插件扩充到了可以进行包括数据库在内的各种压力原创 2014-10-22 17:32:50 · 3435 阅读 · 1 评论 -
springmvc 报无法解析视图异常
最近,前端nginx的日志一直在报一些URL的请求后端响应是500状态码,于是缓存其结果,可以看到一直是报一个 javax.servlet.ServletException: Could not resolve view with name 'xxxx'in servlet with name 'Spring MVC Dispatcher Servlet ‘的异常。 分析这些报这原创 2015-01-15 10:18:54 · 14656 阅读 · 0 评论 -
jstack直接dump出jvm的thread statck解决系统运行过程中停止响应的问题
jstack直接dump出jvm的thread statck解决系统运行过程中停止响应的问题~~~原创 2014-12-12 14:57:50 · 6871 阅读 · 0 评论 -
java调用phantomjs采集ajax加载生成的网页
日前有采集需求,当我把所有的对应页面的链接都拿到手,原创 2014-04-23 09:04:03 · 12381 阅读 · 6 评论