SF
Herman7zNotes
Herman7zNotes
注册登录
关注博客
注册登录
主页
关于
RSS
JVM性能调优实战:让你的IntelliJ Idea纵享丝滑
Herman
2021-01-19
阅读 5 分钟
15.3k
在前面整理了一篇关于JVM故障诊断和处理工具,考虑到大部分的Java程序员都使用的时IntelliJ Idea,本篇就使用工具来实战演练对IntelliJ Idea运行速度调优
JVM故障诊断和处理工具
Herman
2021-01-14
阅读 5 分钟
1.9k
前几天中午正在和同事最近聊股市较好,这几天每天都可以喝点肉汤,心里还是挺高兴的;正在这个时候收到了线上告警邮件和运维同学的消息,“你们有服务挂了!”,心里一紧,立马打开电脑看来下线上cat监控大盘,发现很多服务都在报错,根据cat上的监控日志很快发现了其中一个服务内存溢出导致其他调用服务也有问题,竟然已...
一致性Hash算法Java版实现
Herman
2021-01-12
阅读 4 分钟
9k
在之前写了两篇关于缓存的文章《万字长文聊缓存(上)- http缓存》《万字长文聊缓存(下)- 应用级缓存》,谈到缓存不说一下一致性Hash算法那就是在耍流氓。
万字长文聊缓存(下)- 应用级缓存
Herman
2021-01-05
阅读 15 分钟
3.2k
深入解析SpringMVC核心原理:从手写简易版MVC框架开始(SmartMvc) : [链接]IDEA多线程文件下载插件: [链接]公众号:贝塔学JAVA
万字长文聊缓存(上)- Http缓存
Herman
2021-01-04
阅读 10 分钟
2.8k
深入解析SpringMVC核心原理:从手写简易版MVC框架开始(SmartMvc) : [链接]IDEA多线程文件下载插件: [链接]公众号:贝塔学JAVA
IDEA插件:多线程文件下载插件开发
Herman
2020-12-30
阅读 6 分钟
3.7k
上周使用Java开发了大文件多线程下载工具类,自己平时的文件下载也在使用这个工具,下载速度确实提升不少,但是每次下载都要去打开项目运行代码,觉得实在不是很方便;考虑到每天我们都会使用到IDEA开发工具,所以就决定把这个下载工具做成IDEA的插件,文章末尾附上插件下载地址。
深入解析SpringMVC核心原理:从手写简易版MVC框架开始(SmartMvc)
Herman
2020-12-28
阅读 2 分钟
2.6k
SpringMVC可以说的上是当前最优秀的MVC框架,采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性;为了提高框架的扩展性和灵活性,设计了松耦合可插拔的组件。理解SpringMVC的原理,在面试或工作中都十分的重要。
突破某度云盘下载限速,提速30倍!想学?我教你啊
Herman
2020-12-22
阅读 5 分钟
3k
在上一篇文章 《面试官不讲武德》对Java初级程序猿死命摩擦Http协议 中,我们有提到大文件下载和断点续传,本篇我们就来开发一个多线程文件下载器,最后我们用这个多线程下载器来突破百度云盘下载的限速。
《面试官不讲武德》对Java初级程序猿死命摩擦Http协议
Herman
2020-12-21
阅读 6 分钟
2.2k
我被Hr领进了一个小黑屋,让我在这里等面试官,过来一会,一位穿着拖鞋的中年男子走了进来,看着他绝顶聪明的发际线,知道这肯定是位大佬,我心里倍感到了压力;
从零开始学习Java8 Stream,看这篇就够了
Herman
2020-12-16
阅读 6 分钟
4.7k
在我们平常的开发中几乎每天都会有到List、Map等集合API,若是问Java什么API使用最多,我想也应该是集合了。举例:假如我有个集合List,里面元素有1,7,3,8,2,4,9,需要找出里面大于5的元素,具体实现代码:
8张图带你了解大型应用架构演进历程
Herman
2020-12-07
阅读 4 分钟
3.5k
前言先点赞再观看,要有好习惯几乎所有的大型应用都是从一个小应用开始的,好的互联网产品是慢慢运营出来的,不是一开始就开发好的,所以本篇我们来聊聊应用架构的演进历程。如何打造一个高可用,高性能,易扩展的应用?首先我们了解一下大型应用的特点:高可用:系统需要不间断的提供服务,不能出现单点故障高并发:在...
修炼码德系列:简化条件表达式
Herman
2020-12-03
阅读 9 分钟
1.3k
与面向过程编程相比,面向对象编程的条件表达式相对来说已经比少了,因为很多的条件行为都可以被多态的机制处理掉;但是有时候我们还是会遇到一些小伙伴写出来的条件表达式和面向过程编程没什么差别,比如我遇到过这段代码:
如何高效的使用并行流
Herman
2020-11-30
阅读 5 分钟
3.5k
在Java7之前想要并行处理大量数据是很困难的,首先把数据拆分成很多个部分,然后把这这些子部分放入到每个线程中去执行计算逻辑,最后在把每个线程返回的计算结果进行合并操作;在Java7中提供了一个处理大数据的fork/join框架,屏蔽掉了线程之间交互的处理,更加专注于数据的处理。
面试者必看:Java8中的默认方法
Herman
2020-11-26
阅读 3 分钟
1.5k
在Java8之前,定义在接口中的所有方法都需要在接口实现类中提供一个实现,如果接口的提供者需要升级接口,添加新的方法,那么所有的实现类都需要把这个新增的方法实现一遍,如果说所有的实现类能够自己控制的话,那么还能接受,但是现实情况是实现类可能不受自己控制。比如说Java中的集合框架中的List接口添加一个方法,...
CompletableFuture让你的代码免受阻塞之苦
Herman
2020-11-22
阅读 9 分钟
4.2k
现在大部分的CPU都是多核,我们都知道想要提升我们应用程序的运行效率,就必须得充分利用多核CPU的计算能力;Java早已经为我们提供了多线程的API,但是实现方式略微麻烦,今天我们就来看看Java8在这方面提供的改善。
Java中NullPointerException的完美解决方案
Herman
2020-11-18
阅读 5 分钟
3.2k
我相信所有的Java程序猿一定都遇到过NullPointerException,空指针在Java程序中是最常见的,也是最烦人的;它让我们很多程序猿产生了根深蒂固的感觉,所有可能产生空指针的地方都的加上if-else检查,但是这带给我们很多麻烦
Java8为什么需要引入新的日期和时间库
Herman
2020-11-14
阅读 6 分钟
2.1k
Date日期的解析、格式化通过JDK自带的api实现较为麻烦,通常会使用第三方的日期时间库,比如:joda-time, commons-lang
1
2
(current)
上一页
2
(current)
下一页