首页
学习
活动
专区
工具
TVP
发布

Kirito的技术分享

专栏成员
167
文章
327722
阅读量
72
订阅数
聊聊Unsafe的一些使用技巧
记得初学 Java 那会,刚学完语法基础,就接触到了反射这个 Java 提供的特性,尽管在现在看来,这是非常基础的知识点,但那时候无疑是兴奋的,瞬间觉得自己脱离了“Java 初学者”的队伍。随着工作经验的积累,我也逐渐学习到了很多类似的让我为之而兴奋的知识点,Unsafe 的使用技巧无疑便是其中一个。
kirito-moe
2021-10-18
8060
OracleJDK和OpenJDK有什么区别?
Oracle JDK与OpenJDK里的JVM都是HotSpot VM。从源码层面说,两者基本上是同一个东西。
kirito-moe
2021-09-08
7960
lambda 表达式导致 Arthas 无法 redefine 的问题
通过 arthas 的 redefine 命令,可以做到不用重新发布,就可以改变程序行为。
kirito-moe
2020-09-08
2.6K0
一文探讨堆外内存的监控与回收
记得那是一个风和日丽的周末,太阳红彤彤,花儿五颜六色,96 年的普哥微信找到我,描述了一个诡异的线上问题:线上程序使用了 NIO FileChannel 的 堆内内存作为缓冲区,读写文件,逻辑可以说相当简单,但根据监控却发现堆外内存飙升,导致了 OutOfMemeory 的异常。
kirito-moe
2019-04-30
1.2K0
Java随机数探秘
一提到 Java 中的随机数,很多人就会想到 Random,当出现生成随机数这样需求时,大多数人都会选择使用 Random 来生成随机数。Random 类是线程安全的,但其内部使用 CAS 来保证线程安全性,在多线程并发的情况下的时候它的表现是存在优化空间的。在 JDK1.7 之后,Java 提供了更好的解决方案 ThreadLocalRandom,接下来,我们一起探讨下这几个随机数生成器的实现到底有何不同。
kirito-moe
2018-09-30
1.6K0
JAVA拾遗 — JMH与8个代码陷阱
JMH (http://openjdk.java.net/projects/code-tools/jmh/) 是 Java Microbenchmark Harness(微基准测试)框架的缩写(2013年首次发布)。与其他众多测试框架相比,其特色优势在于它是由 Oracle 实现 JIT 的相同人员开发的。在此,我想特别提一下 Aleksey Shipilev (http://shipilev.net/)(JMH 的作者兼布道者)和他优秀的博客文章。笔者花费了一个周末,将 Aleksey 大神的博客,特别是那些和 JMH 相关的文章通读了一遍,外加一部公开课视频 《"The Lesser of Two Evils" Story》 ,将自己的收获归纳在这篇文章中,文中不少图片都来自 Aleksey 公开课视频。
kirito-moe
2018-09-30
1.5K1
java实用小技巧(一)--远程debug
该系列介绍一些java开发中常用的一些小技巧,多小呢,从不会到会只需要一篇文章这么小。这一篇介绍如何使用jdk自带的扩展包配合Intellij IDEA实现远程debug。 项目中经常会有出现这样的问题,会令程序员抓狂:线上项目关键代码段没有打印日志,本地环境正常生产环境却又问题...这时候,远程debug可能会启动作用。 1 准备用于debug的代码 准备一个RestController用于接收请求,最后可以通过本地断点验证是否成功开启了远程debug @RestController public cl
kirito-moe
2018-04-27
1.7K0
JAVA拾遗--关于SPI机制
JDK提供的SPI(Service Provider Interface)机制,可能很多人不太熟悉,因为这个机制是针对厂商或者插件的,也可以在一些框架的扩展中看到。其核心类 java.util.ServiceLoader可以在jdk1.8的文档中看到详细的介绍。虽然不太常见,但并不代表它不常用,恰恰相反,你无时无刻不在用它。玄乎了,莫急,思考一下你的项目中是否有用到第三方日志包,是否有用到数据库驱动?其实这些都和SPI有关。再来思考一下,现代的框架是如何加载日志依赖,加载数据库驱动的,你可能会对class.
kirito-moe
2018-04-27
8750
深入理解RPC之序列化篇--Kryo
一年前,笔者刚刚接触RPC框架,从单体式应用向分布式应用的变革无疑是让人兴奋的,同时也对RPC背后到底做了哪些工作产生了兴趣,但其底层的设计对新手而言并不是很友好,其涉及的一些常用技术点都有一定的门槛。如传输层常常使用的netty,之前完全没听过,想要学习它,需要掌握前置知识点nio;协议层,包括了很多自定义的协议,而每个RPC框架的实现都有差异;代理层的动态代理技术,如jdk动态代理,虽然实战经验不多,但至少还算会用,而cglib则又有一个盲区;序列化层倒还算是众多层次中相对简单的一环,但RPC为了追求
kirito-moe
2018-04-27
2K0
JAVA 拾遗--Future 模式与 Promise 模式
写这篇文章的动机,是缘起于微信闲聊群的一场讨论,粗略整理下,主要涉及了以下几个具体的问题: 同步,异步,阻塞,非阻塞的关联及区别。 JAVA 中有 callback 调用吗? jdk 包中的 Future 怎么用? Future 模式和 Promise 模式是包含的关系,还是交集的关系,还是没有关系? 带着上面这些疑问,来看看我到底要拾遗些啥。 浅析同步,异步,阻塞,非阻塞 这几个概念一直困扰着我,说实话我现在依旧不能从一个很深的层次去和一个小白解释,这几个概念到底有什么区别。本节我不掺杂自己的描述,主要
kirito-moe
2018-04-27
6.5K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档