首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
但时间也偷换概念
掘友等级
Developer
|
Alibaba
介绍不了我
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
三目运算符自动拆箱NPE分析
在笔者工作中曾经遇到过一次NPE异常,导致此异常的原因查到最后发现是三目运算符自动装箱导致的,我们来分析一下这个case。 首先我们来还原一下当时大致是怎样一个case。 如上述代码,当时大概是写了一个类似的三目运算符逻辑,然后在这里发生了NPE空指针异常。 我们来反编译最上面…
BeanCopy框架终极指南
如图所示,在开发之中,无论是MVC式的三层架构,还是DDD领域驱动式的架构。总会有各种DTO、DO、PO、VO之间的转换需求。所以我们经常会定义两层Object字段是保持一致的,便于防腐层Assember操作。但现实需求中也会遇到一些复杂映射。所以我们应该如何基于场景选择合适的…
StringBuilder性能优化
在String字符串拼接性能优化 博客中我已经介绍过了String "+" 拼接背后的StringBuilder实现。也聊到了StringJoiner、Joiner等类库都是通过StringBuilder实现的拼接。 那么今天我们来聊一聊StringBuilder还有什么点比较…
如何优雅的关闭线程池?
如果你想在jvm关闭的时候进行内存清理、对象销毁等操作,或者仅仅想起个线程然后这个线程不会退出,你可以使用Runtime.addShutdownHook。 这个方法的作用就是在JVM中增加一个关闭的钩子。当程序正常退出、系统调用 System.exit方法或者虚拟机被关闭时才会…
<Mysql> 深入理解MySQL分区(Partition)
Mysql数据库中的数据是以文件的形式保存在磁盘上的,默认放在mysql/data路径,不同的引擎生成的文件后缀不同,像MyISAM生成.MYD和.MYI后缀文件,MYI存放索引(非聚簇索引)。Innodb生成.idb后缀文件(聚簇索引)。 当mysql表中数据越来越多,文件会…
深入理解Java虚拟机锁优化&逃逸分析技术
HotSpot虚拟机团队在1.5 -> 1.6版本演进中,进行了大量的锁优化技术,相应的jdk6并发包也推出了很多并发容器&API,所以JDK6是高效并发大放异彩的一个关键版本。本文主要介绍一下java虚拟机中对于锁的优化技术、逃逸分析技术。 在进行锁优化介绍&逃逸分析介绍之前…
Lambda重构设计模式
设计模式理论上是一种通用问题的解决方案模版,但是随着编程范式的进步,设计模式的写法也变得多样。诚然,设计模式没有最优实践,以前解决问题的方式可能会在新的场景下成为“反模式”,所以我们这次讨论的是如何用Lambda表达式让现有的设计模式变的更简单,带来一些新的思路。 在strea…
Java 8日期&时间处理
在Java 8 之前的版本中,时间处理一直是备受吐槽的点,比如早期的Date、Calendar等类库。 最早的jdk 1.0版本,Date类创建时间非常不直观,并且toString方法返回的字符串也很容易误导人,返回的值包含了JVM默认时区CET,即中欧时间(Central E…
String字符串拼接性能优化
java.lang.String拼接操作是很常见的操作,这篇blog主要分析一下String拼接操作的性能优化。 我们最初使用的拼接方式应该是操作符拼接,也就是+。 我们先来看一下这种操作背后的原理,首先看一段代码。 可以看到,上述代码在编译之后,我们用javap -c命令反编…
CompletableFuture打开方式
有过研究的读者应该会想到,很多rpc框架中可以通过future先挂起一个线程,然后阻塞得到结果,这个过程也可以做超时控制。 还有JetCache这种缓存框架,返回值会是一个CompletionStage对象,这样也可以做一些异步操作并且保证用户线程不会持续阻塞下去。 其实Fut…
下一页
个人成就
文章被点赞
14
文章被阅读
29,498
掘力值
408
关注了
8
关注者
9
收藏集
0
关注标签
10
加入于
2019-02-22