Java
慢行慢行
这个作者很懒,什么都没留下…
展开
-
实现 Java 本地缓存
缓存,我相信大家对它一定不陌生,在项目中,缓存肯定是必不可少的。市面上有非常多的缓存工具,比如 Redis、Guava Cache 或者 EHcache。对于这些工具,我想大家肯定都非常熟悉,所以今天我们不聊它们,我们来聊一聊如何实现本地缓存。参考上面几种工具,要实现一个较好的本地缓存,平头哥认为要从以下三个方面开始。1、存储集合的选择实现本地缓存,存储容器肯定是 key/value 形式的数...转载 2019-11-06 10:46:10 · 222 阅读 · 0 评论 -
IntellIJ IDEA 导入 Java 项目后无法运行 main 方法的解决方案
问题描述:使用 IDEA 导入一个普通的 Java 项目后,当需要运行项目中的一个类中的main方法时,但此时发现,鼠标右键发现菜单中没有 Run main 而且 main 函数前也没有出现可以运行的标识,此时无法运行main方法。如下所示:而且,目录下每个文件的文件名左下角都有一个红色的小时钟图标。解决方案:(1) 进入 Project Structure 设置选项(2)设置 J...原创 2019-11-04 21:47:15 · 25423 阅读 · 3 评论 -
使 IDEA 的 termina l可以使用 Linux 下的终端命令
在 Windows 环境下,未进行设置时,在 IDEA 的 terminal 中默认使用的是 windows 自带的 cmd 命令行,不能使用 Linux 的终端命令。通过安装Linux命令行工具选择:setting -> Tools -> terminal,在Shell path 选项中选择本地安装好的Linux终端运行工具,这里是直接使用的Git工具自带的命令行工具(一个在W...原创 2019-11-04 21:40:48 · 831 阅读 · 0 评论 -
Kafka学习笔记
LinkedIn开源项目分布式数据同步系统Databus高性能计算引擎CubertJava异步处理框架ParSeqKafka流处理平台Kafka流处理平台LinkedIn开发2011年初开源,加入Apache基金会2012年从Apache Incubator毕业Apache顶级开源项目Streaming platform has three key capabilities:...原创 2019-08-27 20:30:32 · 161 阅读 · 0 评论 -
通过Redis实现分布式锁
分布式锁是控制分布式系统或不同系统之间共同访问共享资源的一种锁的实现;如果不同的系统或同一系统的不同主机间共享某一资源时,往往需要通过互斥来防止彼此干扰,以此来保证一致性。分布式锁需要解决的问题互斥性任一时刻只能有一个客户端获取锁,不能有两个客户端都获取到锁安全性锁只能被持有该锁的客户端删除,不能由其他客户端删除死锁获取锁的客户端因为某些原因而宕机,而未能释放锁,其他客户端再也不能获...原创 2019-08-31 10:12:34 · 534 阅读 · 0 评论 -
生产环境碰到系统CPU飙高和频繁GC,你要怎么排查?
处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。对于线上系统突然产生的运行缓慢问题,如果该问题导致线上系统不可用,那么首先需要做的就是,导出jstack和内存信息,然...转载 2019-09-02 20:34:28 · 1633 阅读 · 0 评论 -
StringBuffer、StringBuilder、ArrayList、Vector、HashMap、HashTable 的扩容机制
1. StringBuffer、StringBuilder 的扩容机制StringBuffer、StringBuilder,默认初始化是 16 个字符,默认增容为 原长度+2 → 扩容后:2(n+1)*代码如下://默认初始化大小public StringBuilder() { super(16);}// 默认扩容int newCapacity = (value.lengt...原创 2019-09-09 10:30:55 · 266 阅读 · 0 评论 -
同步、异步、阻塞、非阻塞、BIO、NIO、AIO
常规的误区假设有一个展示用户详情的需求,分两步,先调用一个HTTP接口拿到详情数据,然后使用适合的视图展示详情数据。如果网速很慢,代码发起一个HTTP请求后,就卡住不动了,直到十几秒后才拿到HTTP响应,然后继续往下执行。这个时候你问别人,刚刚代码发起的这个请求是不是一个同步请求,对方一定回答是。这是对的,它确实是。但你要问它为什么是呢?对方一定是这样回答的,“因为发起请求后,代码就卡住不...转载 2019-09-27 11:42:29 · 153 阅读 · 0 评论