随笔分类 - java
摘要:
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 问题发生 上上周,看到一位老哥找我们组同事联调接口,不知道是什么问题,两人坐一起搞了快1个小时,看起来好像有点复杂。 突然,老哥发出一声卧槽,"我传参里的+号,到你这怎么变成了空格!",这个声音很大,我明显的听到
阅读全文

摘要:
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 问题发生 这周正在写代码,突然,旁边小哥问我个问题... 小哥:我这有个接口,自己调用没有问题,但别人调用就不行,这种问题该如何排查? 我:抓下包看看呢... 小哥:是这样使用tcpdump吗? 我:是的 待小哥
阅读全文

摘要:
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 简介 现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常的重要,一旦不够用了,就会导致程序阻塞、性能低下,所以有时我们需要看看它们的使用情况,以判断这里是否是瓶颈。
阅读全文

摘要:
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 简介 日常编程工作中,Java集合会经常被使用到,且经常需要对集合做一些类似过滤、排序、对象转换之类的操作。 为了简化这类操作,Java8添加了一套新的Stream API,使用方式就像写SQL一样,大大简化了这
阅读全文

摘要:
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 最近我观察到一个现象,当服务的请求量突发的增长一下时,服务的有效QPS会下降很多,有时甚至会降到0,这种现象网上也偶有提到,但少有解释得清楚的,所以这里来分享一下问题成因及解决方案。 队列延迟 目前的Web服务器,
阅读全文

摘要:
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 java8之后,常用的Map接口中添加了一些非常实用的函数,可以大大简化一些特定场景的代码编写,提升代码可读性,一起来看看吧。 computeIfAbsent函数 比如,很多时候我们需要对数据进行分组,变成Map<
阅读全文

摘要:
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 要说Java中什么异常最容易出现,我想NullPointerException一定当仁不让,为了解决这种null值判断问题,Java8中提供了一个新的工具类Optional,用于提示程序员注意null值,并在特定场
阅读全文

摘要:
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 前面在密码学入门一文中讲解了各种常见的密码学概念、算法与运用场景,但没有介绍过代码,因此,为作补充,这一篇将会介绍使用Java语言如何实现使用这些算法,并介绍一下使用过程中可能遇到的坑。 Java加密体系JCA J
阅读全文

摘要:
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 如果你是后端程序员,我想你一定见过*.tar.gz、*.zip、*.jar后缀的文件吧,这些都是压缩文件,那这些文件都是怎么生成的,又有哪些关键区别呢?本文将带你一起了解这些文件和配套的操作命令,以及其经常使用的场
阅读全文

摘要:
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 问题 在Java的json框架中,Gson是使用得比较广泛的一个,其Gson类提供了toJson()与fromJson()方法,分别用来序列化与反序列化。 json序列化用得最多的场景是在调用外部服务接口时,大致如下:
阅读全文
