- 博客(15)
- 收藏
- 关注
转载 一次Metaspace OutOfMemoryError问题排查记录
转发:一次Metaspace OutOfMemoryError问题排查记录 - 掘金
2023-07-03 16:22:53
144
转载 java8时间类LocalDateTime
1、创建根据年、月、日、时、分、秒、纳秒等创建LocalDateTimeeg: LocalTime zero = LocalTime.of(0, 0, 0); // 00:00:00 LocalTime mid = LocalTime.parse("12:00:00"); // 12:00:00 LocalTime now = LocalTime.now(); // 23:11:08.006all method LocalDateTime of(int year, Month month.
2021-09-09 17:58:13
138
原创 Google的CacheBuilder缓存
1:refreshAfterWriteGuava Cache特性:对于同一个key,只让一个请求回源load数据,其他线程阻塞等待结果这种情况:如果缓存过期,恰好有多个线程读取同一个key的值,那么guava只允许一个线程去加载数据,其余线程阻塞。这虽然可以防止大量请求穿透缓存,但是效率低下。使用refreshAfterWrite可以做到:只阻塞加载数据的线程,其余线程返回旧数据。2:之前常用ConcurrentMap来做缓存,那它们有什么区别呢?Guava Cache与Concu...
2021-08-31 17:04:26
1207
1
转载 序列化:这是一份很有诚意的 Protocol Buffer 语法详解
前言习惯用 Json、XML 数据存储格式的你们,相信大多都没听过Protocol BufferProtocol Buffer 其实 是 Google出品的一种轻量 & 高效的结构化数据存储格式,性能比 Json、XML 真的强!太!多!由于 Google出品,我相信Protocol Buffer已经具备足够的吸引力今天,我将详细介绍Protocol Buffer 的语法 & 如何去构建Protocol Buffer 的消息模型阅读本文前请先阅读:快来看看Google出品的P
2021-08-30 18:01:13
714
原创 Java同步--Callable和Runnable同步异步的使用
Callable和Runnable同步异步的使用Runnable我们都用过,因为开启一个新的线程的时候,需要传递一个Runnable接口作为执行对象,这个接口里面只包含一个run方法,无参数,无返回值。
2021-08-03 11:37:42
1927
原创 ProtoBuf 下的JsonFormat的用法
关于谷歌ProtoBuf,可以参照以下文章:https://www.jianshu.com/p/a24c88c0526a今天简单介绍一下ProtoBuf下的一个工具类JsonFormatmerge方法:public static void main(String[] args) throws Exception { // merge方法 UserListPb.UserData.Builder userData = UserListPb.UserData.newBuilder()
2021-08-02 16:14:17
1980
原创 Redis命令总结(常用)
Redis字符串Redis Mget 命令Redis Mget 命令返回所有(一个或多个)给定 key 的值。 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。
2021-08-02 11:03:22
330
转载 SpringMVC 初始化流程分析(转发,微信公众号,详细完整版)
SpringMVC 初始化流程分析(转发,微信公众号,详细完整版)https://mp.weixin.qq.com/s/IeMOfnXhOX5RCf4i5Xsdzw
2021-07-31 11:17:18
72
转载 Spring Cloud OAuth Token 生成源码解析
内容较长,spring security oauth 整个放发过程的类都有详细说明,建议大家保存后 慢慢阅读,或者当工具书查询 Spring Security OAuth核心类图解析 关于Oauth2是什么以及OAuth2的四种授权模式请移步Oauth2官网。 下面简单介绍一下关...
2021-07-30 17:50:39
484
转载 为什么阿里巴巴要禁用Executors创建线程池?
目录 写在前面 线程池的定义 Executors创建线程池的方式 ThreadPoolExecutor对象 线程池执行任务逻辑和线程池参数的关系 Executors创建返回ThreadPoolExecutor对象 OOM异常测试 如何定义线程池参数 看阿里巴巴开发手册并发编程这块有一条:线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,通过源码分析...
2021-07-30 16:36:59
169
转载 java并发之SynchronousQueue实现原理
<div id="article_content" class="article_content clearfix"> <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-1a85854398.css"> <div id="content_views" class=...
2021-07-30 16:13:25
124
原创 EasyExcel对Excel文件的解析过程
POI与easyExcel的区别:POI是通过WorkBook来解析表格文件的,虽然内部有使用到Sax模式,能后大大的提高效率,但是要解析大文件(10w,100w行)的话很容易出现OOM(内存溢出)。相比之下,1、easyExcel解析实在磁盘上进行的,几乎可以将几mb级别的内存压缩到kb级别,几乎不用担心OOM;2、用Java模型进行关系映射,项目中最常用的就Java模型映射,通过 @ExcelProperty注解就可以完成行与列的映射;3、easyExcel中有一个类AnalysisEv
2021-07-30 15:35:45
2784
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人