AlstonWilliams's Blog

Thinking will not overcome fear but action will.

编译Flume

由于Flume不能满足我们的需求,我们打算在Flume的基础上进行开发.那我们首先就需要了解一下其手动编译安装的方式. 官网上说的很简单,一条mvn clean compile就完事了.而我编译时,则没有这么洒脱. 首先,由于众所周知的网络原因,好几个依赖都下载不下来.特别是eigenbase-properties,我特别搞不明白.当我访问它的对应的网页时,如果不用代理,那么一会好使,一...

简单的Docker容器监控工具.html

简单的Docker容器监控工具 简单的Docker容器监控工具 提到Docker容器的管理与监控,往往人们想到的都是Kuberbetes等这些分布式的工具.然而,要搭建一套这些东西,往往不简单.那有没有什么简单易用的方式呢?第一种方式,使用Docker自带...

第一次性能调优的经历

这两天,好不容易写完了全部的API.基本上做的差不多的. 于是乎,想看看到底会不会因为高并发而造成接口崩溃.就用JMeter测试了一下. 先测试最简单的一个获取用户相关信息的接口.因为是第一次测试,我就从小并发到大并发逐渐测试.先测试20个并发的情况.没想到,一测试,就出问题了. 下面是我们测试完20个并发访问的结果: 我从右下角的Average处,我们可以看到平均执行时间为31...

由Docker垃圾回收机制引发的一场血案

今天早晨,在我还没睡醒的时候,我们团队中的一名成员就告诉我,我写的微服务中,上传头像的那个没法用.而我在发布之前,已经测试过可以使用了.那这到底是怎么回事呢? 首先,我重新执行了一遍测试过程,发现生产服务器上的微服务上的这个上传头像的接口确实不可用. 然后,我在本地启动了一下微服务,同样测试了一下微服务.发现还是不可用.同时,通过本地打印错误日志,发现错误是在执行保存图片这个写操作的时候...

独白

好久没写随笔了. 这一段时间,也没有静下来学习,总是有各种各样的事情. 开始准备秋招,由于Java开发的笔试题中,有很多是无用的逻辑题,于是就一直找内推,找到内推后,面试地也很好,但是由于学历在这,过不去HR的这个坎. 就这样认了. 后来,感觉秋招无望了,就开始从网上海投了,当然,也是投一些比较感兴趣的公司,投了很多公司,有一家通过了面试,本来欢天喜地地想要去,后来跟同学商量了一下,...

独居

有人喜欢独居,有人喜欢群居. 而我,是一种很奇怪的生物. 有时,我喜欢独居,我认为这样我可以静下心来. 而更多的时候,我喜欢群居,因为独居容易懈怠,群居不会孤独. 但是,现在,我正在独居,而我此时最需要群居. 我千方百计想要集中心绪,来钻研某个问题.但是,有的问题,没有高昂的情绪,是不想解决的. 此时,我就需要群居的环境,来形成这种情绪. 那么此刻我能干什么呢? 无数人告诉我...

点赞模块的设计及优化

昨天晚上,跟我们的几名开发人员,去水吧开了个小小的会议,一起总结了一下过去一个月中的进度,并规划了下一步的开发计划. 期间,针对排名的问题,讨论了一下排名算法的设计. 而这个排名算法中的一个很重要的因子,就是点赞数. 之前针对点赞的功能,简单的讨论了一下,但是因为没有硬性需求,也一直没有进一步的讨论.而现在,为了这个排名算法,我们却是必须想办法实现它. 之前我们对点赞模块的设计中,一...

点赞模块中合并数据部分的实现

昨天我们谈了一下如何设计点赞模块,最后给出了优化这个模块的方案. 我们提到,可以通过合并收到的数据,来进行优化.而如何合并数据,就成了一个尤为重要的问题. 针对这个问题,我们也给出了几种解决方案,一种是重写Tomcat,通过Tomcat进行拦截并定时处理,但是这种方案,实现起来难度有些大,第二种是通过服务器在处理请求时,是为其新建一个线程来处理的原理,来实现,这种方案相对较简单一些,第三...

深入理解Java虚拟机总结-运行期优化

注:此文是我在读完周志明老师的深入理解Java虚拟机之后总结的一篇文章,请阅读此书获取更加详细的信息. 在这篇文章中,我们将会介绍: 编译器与解释器的关系 什么样的代码才会在运行时被编译成本地代码? 在何时被编译成本地代码? 如何编译成本地代码? 运行期都有哪些优化技术? 解释器与编译器 解释器就是在运行时,读取Class文件中的内容并解释执行,而编译器...

深入理解Java虚拟机总结-虚拟机类加载机制

注:此文是我在读完周志明老师的深入理解Java虚拟机之后总结的一篇文章,请阅读此书获取更加详细的信息. 类加载的时机 遇到new, getstatic, putstatic, invokestatic四条字节码指令时,如果类没有进行过初始化,则需要先触发其初始化.生成这四条指令的最常见的Java代码场景是:使用new关键字实例化对象的时候,读取或设置一个类的静态字...