crossoverJie's Blog
  • Home
  • Archives
  • Categories
  • Tags
  • About
  • github
  • gscript
  • cim
  • vlog

HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!

前言Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。 HashMap众所周知 HashMap 底层是基于 数组 + 链表 组成的,不过在 jdk1.7 和 1.8 中具体实现稍有
2018-07-23
Java 进阶
#Java #concurrent #ConcurrentHashMap #HashMap

Guava 源码分析(Cache 原理【二阶段】)

前言在上文「Guava 源码分析(Cache 原理)」中分析了 Guava Cache 的相关原理。 文末提到了回收机制、移除时间通知等内容,许多朋友也挺感兴趣,这次就这两个内容再来分析分析。 在开始之前先补习下 Java 自带的两个特性,Guava 中都有具体的应用。 Java 中的引用首先是 Java 中的引用。 在之前分享过 JVM 是根据可达性分析算法找出需要回收的对象,判断对象的存
2018-07-16
Guava
#Cache

一次线上问题排查所引发的思考

前言之前或多或少分享过一些内存模型、对象创建之类的内容,其实大部分人看完都是懵懵懂懂,也不知道这些的实际意义。 直到有一天你会碰到线上奇奇怪怪的问题,如: 线程执行一个任务迟迟没有返回,应用假死。 接口响应缓慢,甚至请求超时。 CPU 高负载运行。 这类问题并不像一个空指针、数组越界这样明显好查,这时就需要刚才提到的内存模型、对象创建、线程等相关知识结合在一起来排查问题了。 正好这次借助之前
2018-07-08
Java 进阶
#Java #Thread #concurrent #JVM

Netty(二) 从线程模型的角度看 Netty 为什么是高性能的?

前言在之前的 SpringBoot 整合长连接心跳机制 一文中认识了 Netty。 但其实只是能用,为什么要用 Netty?它有哪些优势?这些其实都不清楚。 本文就来从历史源头说道说道。 传统 IO在 Netty 以及 NIO 出现之前,我们写 IO 应用其实用的都是用 java.io.* 下所提供的包。 比如下面的伪代码: 123456789ServeSocket serverSocket
2018-07-04
Netty
#内存模型

一个学渣的阿里之路

前言最近有些朋友在面试阿里,加上 Java-Interview 项目的原因也有小伙伴和我讨论,近期也在负责部门的招聘,这让我想起年初那段长达三个月的奇葩面试经历🤣。 本来没想拿出来说的,毕竟最后也没成。 但由于那几个月的经历让我了解到了大厂的工作方式、对候选同学的考察重点以及面试官的套路等都有了全新的认识。 当然最重要的是这段时间的查漏补缺也让自己精进不少。 先交代下背景吧: 从去年 12 月
2018-06-21
Interview > Person

Guava 源码分析(Cache 原理)

前言Google 出的 Guava 是 Java 核心增强的库,应用非常广泛。 我平时用的也挺频繁,这次就借助日常使用的 Cache 组件来看看 Google 大牛们是如何设计的。 缓存 本次主要讨论缓存。 缓存在日常开发中举足轻重,如果你的应用对某类数据有着较高的读取频次,并且改动较小时那就非常适合利用缓存来提高性能。 缓存之所以可以提高性能是因为它的读取效率很高,就像是 CPU 的 L1、
2018-06-13
Guava
#Cache

分布式工具的一次小升级⏫

前言之前在做 秒杀架构实践 时有提到对 distributed-redis-tool 的一次小升级,但是没有细说。 其实主要原因是: 秒杀时我做压测:由于集成了这个限流组件,并发又比较大,所以导致连接、断开 Redis 非常频繁。最终导致获取不了 Redis connection 的异常。 池化技术这就是一个典型的对稀缺资源使用不善导致的。 何为稀缺资源?常见的有: 线程 数据库连接 网络
2018-06-07
Distributed Tools
#Distributed Lock #Distributed Limited

记于 2018 年高考!

2012/02/28 2012年二月二十八日。 这天学校举行了高考 100 天誓师大会,当时完全不知道意味着什么,只感觉现场热血沸腾、激情高涨,心里告诉自己就算只剩下 100 天我也能考上清华其次也是北大。 2012/06/03 2012年六月三日。 晚自习拿出前段时间刚拍的毕业合照,恨死摄影师,没有抓拍到我最帅的角度😡。
2018-06-06
小情绪

Netty(一) SpringBoot 整合长连接心跳机制

前言Netty 是一个高性能的 NIO 网络框架,本文基于 SpringBoot 以常见的心跳机制来认识 Netty。 最终能达到的效果: 客户端每隔 N 秒检测是否需要发送心跳。 服务端也每隔 N 秒检测是否需要发送心跳。 服务端可以主动 push 消息到客户端。 基于 SpringBoot 监控,可以查看实时连接以及各种应用信息。 效果如下:
2018-05-24
Netty
#SpringBoot #TCP #Heartbeat

1K star+ 的项目是如何炼成的?

前言首先标题党一下,其实这篇文章主要是记录我的第二个过 1K star 的项目 Java-Interview,顺便分享下其中的过程及经验。 需求选择Java-Interview之所以要做这个项目主要是当时我正在面阿里的两个部门,非常幸运的是技术面都过了。其中的过程真是让我受益匪浅更是印象深刻,所以就想把期间的问题记录下来,加上自己的理解希望能对其他朋友起到帮助。 正好那段时间也是传说中的金三银
2018-05-15
小技巧
#GitHub
1…2122232425…28

Search

Hexo Fluid
© 2016 – 2025 | 总访问量 次 总访客数 人