首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java
订阅
cimor
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
JVM 系列文章之 GC 算法浅析
再介绍垃圾回收算法之前,先来看看 Java中的堆,Java里的堆指的是用于存放 Java 对象的内存区域。JVM的堆被同一个JVM实例中所有的Java线程共享,它通常由某种自动管理机制所管理,这种机制通常叫做"垃圾回收"。 堆大小 = 新生代 + 老年代。其中堆的大小可以通过参…
Netty堆外内存泄露排查与总结
Netty 是一个异步事件驱动的网络通信层框架,用于快速开发高可用高性能的服务端网络框架与客户端程序,它极大地简化了 TCP 和 UDP 套接字服务器等网络编程。 使用 JDK 自带的 NIO 需要了解太多的概念,编程复杂。 Netty 底层 IO 模型随意切换,而这一切只需要…
对HashMap的思考及手写实现
前言 HashMap是Java中常用的集合,而且HashMap的一些思想,对于我们平时解决业务上的一些问题,在思路上有帮助,基于此,本篇博客将分析HashMap底层设计思想,并手写一个迷你版的Hash
CPU Cache与缓存行
CPU 是计算机的心脏,最终由它来执行所有运算和程序。主内存(RAM)是数据(包括代码行)存放的地方。这两者的定义大家应该不会陌生,那 CPU 高速缓存又是什么呢?
线程间的协作机制
上篇文章我们介绍了 synchronized 这个关键字,通过它可以基本实现线程间在临界区对临界资源正确的访问与修改。但是,它依赖一个 Java 对象内置锁,某个时刻只能由一个线程占有该锁,其他试图占有的线程都得阻塞在对象的阻塞队列上。 但实际上还有一种情况也是存在的,如果某个…
SpringBoot 应用程序启动过程探秘
关于 @SpringBootApplication 注解的剖析已经在上文:《SpringBoot 中 @SpringBootApplication注解背后的三体结构探秘》 中完成了,其实它背后就是一个三体结构,只是 SpringBoot给了其一个包装而已。那么本文我们就来看看这…
Java应用异常状态监测
老板最近分派了一个任务,说线上客户在部署应用的时候发生了系统级别的OOM,触发了OOM Killer杀掉了应用,让我们解决这个问题。 对于这个任务,我从如下几点开始调研、分析与解决。 当创建进程时,进程都会建立起自己的虚拟地址空间(对于32位系统来说为4g)。这些虚拟地址空间并…
聊一聊 RestTemplate
从 3.0 版本开始,Spring 提供了 RestTemplate 作为用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程 Http 服务的方法,能够大大提高客户端的编写效率。 在平时的使用中,我们通常都是使用包装好的getForObject/…
ThreadLocal内存泄漏问题
ThreadLocal类用来提供线程内部的局部变量。这些变量在多线程环境下访问(通过get或set方法访问)时能保证各个线程里的变量相对独立于其他线程内的变量,ThreadLocal实例通常来说都是private static类型。 总结:ThreadLocal不是为了解决多线…
并发编程模型小结
由于接触过的语言比较多,各种语言之间对并发任务的处理方式不尽相同,时常会令人迷惑。这次尝试系统的整理和总结一下常见的并发调度方式和编程模型。 《并发之痛》中认为,并发编程最难解决的问题是,究竟要创建多少个线程(这里指内核线程)才最合适。不同的语言对于这个问题的理解和解决方案都不…