PropertyUtilsBean beanutils包beanutils,顾名思义,是java bean的一个工具类,可以帮助我们方便的读取(get)和设置(set)bean属性值、动态定义和访问bean属性;细心的话,会发现其实JDK已经提供了一个java.beans包,同样可以实现以上功能,只不过使用起来比较麻烦,所以诞生了apache commons beanutils;看源码就知道,其实apache commons bea 2018-08-25 Spring Java
如何在jar包中读取配置文件 今天开发的时候遇到一个问题——当程序以jar包运行的时候,有个txt配置文件无法获取到,但是本地测试无法复现.后来发现是因为以Jar包形式运行,文件无法访问到,这里记录一下。 1. 如何判断当前进程是否以jar包形式运行的?/** * 是否以Jar包运行 * * @return */ public static boolean isRunningInJar() { 2018-08-02 服务端 Java
基于Ngxtop的QPS监控 之前参与一个公有云项目的开发,系统入口是公有云平台提供的LB。云平台的LB再将请求转发到后方的多台Nginx,Nginx上再做反向代理到后方的服务器。为了获取系统的QPS,我们在Nginx服务器上写了个定时任务脚本,定期采集并发量,然后汇总。 并发量采集脚本 先安装ngxtop依次运行:sudo yum -y install epel-release sudo yum -y install p 2018-07-14 nginx 服务端
异步线程池优化 目前在公司做的一个无线Wi-Fi认证系统,采用公有云模式,24小时不间断服务,而且在上班时间会有业务并发的高峰,目前高峰值能到4000多的qps,在这个领域来说,还是比较高的。在这种场景下需要将一些操作异步执行,以提高页面的响应速度,比如某些情况下将大对象入库,可以采用异步线程去处理,这样在入库没有完成时,请求就可以返回(前提是入库失败,不需要通知给客户端)。那么如何创建异步线程,去执行这种异步 2018-06-22 服务端 Java
Java垃圾回收 在目前我参与的实际项目开发中,启动Java进程时,并没有设置额外的虚拟机参数。因为公司通过k8s集群给我们自己的业务微服务打了标签,基本上时独享整个机器的内存,所以没有增加相关的JVM参数,对这块了解也不多。在上一家公司工作的时候,测试内存溢出用的是Jprofile,运行一段时间之后,手动触发GC,看内存是否增长。 Java虚拟机内存分区Java虚拟机主要分为以下五个区: 一、方法区: 1 2018-06-18 服务端 Java
TCP链接数优化记录 之前在开发无线wifi认证系统的时候,遇到一次性能问题,表现就是前端3台nginx返回大量502和504,所有接口返回慢,包括html,css以及js等资源文件的响应也很慢。在后端服务器上,用netstat查看发现有大量数据阻塞在接收队列,服务器处理不过来,同时TCP链接数很多,不过后端服务器的CPU以及内存正常,所以之前怀疑是TCP链接数过多导致的,所以后续采取了一些方法来,减少后端服务器和前 2018-06-15 服务端 服务端
几道逻辑思维题 上个月去一个互联网公司面试,三面的时候面试官出了两道思维逻辑题,挺有意思的,这里记录一下。 1.过河问题 描述:有一条河,河岸边有一个警察,一个犯人,一个父亲和两个儿子,一个母亲和两个女儿,河边只有一条船,这8个人要过河; 约束: 1.能划船的只有警察,父亲和母亲; 2.船上同一时刻只能有两个人,包括小孩; 3.犯人会在警察不在身边的时候伤害其他人,父亲会在母亲不在的时候,伤害女儿,母亲 2018-06-14 面试 面试题
Shell 实现的几个Http交互的方法 由于测试需求,需要测试一些http接口是否正常,作为后端开发可以用脚本语言来实现比如python,shell之类的,这里分享一下,用shell如何实现。 URLencode方法既然是http接口,必定会用到urlencode来将参数放入URL中。 url_encode(){ echo "$1" | tr -d '\n' | xxd 2018-06-14 服务端 Java
面试题记录 今天去某互联网公司面试,从3点一直面试道6点多,面的怎么样倒不清楚,有几道题挺有意思的,这里记录下。 1.区间合并 写一个方法将如下区间合并: 例如输入: [1,2],[4,6],[5,8],[10,11] 输出: [1,2],[4,8],[10,11] 思路:先排序,然后尝试将相邻两个区间合并,遍历整个区间即可; public List<Order> merge(L 2018-06-14 面试 面试题
Solo博客搭建 用Github Pages可以搭静态博客,可以写点东西,不过不能有人评论,毕竟是静态页面。今天突然想到去年在Godaddy买了个域名一直没有用,今天就索性在搬瓦工买了个linux虚机搭个动态博客试试。 虚机软件安装购买虚机就不用说了,190块/年,买了个最低配的linux虚机,安装了ubuntu12.4系统,动态博客是基于solo搭建的,由于solo是用java开发的,所以先要安装jdk。so 2018-06-12 杂七杂八 服务端