摘要: 1. 什么是伪共享 CPU 缓存系统中是以缓存行(cache line)为单位存储的。目前主流的 CPU Cache 的 Cache Line 大小都是 64 Bytes。在多线程情况下,如果需要修改“共享同一个缓存行的变量”,就会无意中影响彼此的性能,这就是伪共享(False Sharing)。 阅读全文
posted @ 2018-06-05 09:09 Java技术栈 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 今天是 Github 嫁入豪门的第 2 天,炒得沸沸扬扬的微软 Github 收购事件于昨天(06月04日)尘埃落定,微软最终以 75 亿美元正式收购 Github。 随后,Gitlab 趁势带了一波节奏,在其官网上祝贺 Github 被微软收购,并表示此次收购代表着软件开发者的影响力的日渐增长,将 阅读全文
posted @ 2018-06-05 09:04 Java技术栈 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 5月又即将要离我们远去了,这个月有小长假51劳动节,有54青年节,有513母亲节,更有坑爹的520神马节?!! 废话不说,又到了总结上个月干货的时候了,这个月我们带来了各种Java技术干货,都是不得不看的 Java 实战经验及最新的热门资讯。如果你有错过本月干货,那么你可以在这里统一回顾一下。 "J 阅读全文
posted @ 2018-05-31 09:08 Java技术栈 阅读(1403) 评论(0) 推荐(2) 编辑
摘要: 说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示。 重新温故了下原始数据类型,现在来解释下它们之间的转换关系。 自动类型转换 自动类型转换是指:数字表示范围小的数据类型可以自动转换成范围大的数据类型。 如: long l = 1 阅读全文
posted @ 2018-05-30 16:39 Java技术栈 阅读(24751) 评论(2) 推荐(8) 编辑
摘要: 我们的对象并不只是存在内存中,还需要传输网络,或者保存起来下次再加载出来用,所以需要Java序列化技术。Java序列化技术正是将对象转变成一串由二进制字节组成的数组,可以通过将二进制数据保存到磁盘或者传输网络,磁盘或者网络接收者可以在对象的属类的模板上来反序列化类的对象,达到对象持久化的目的。 如果 阅读全文
posted @ 2018-05-30 09:02 Java技术栈 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 问题背景 线上某个新管理型系统出现了日志无法按天切割生成日志文件的问题,所有的日志都在一个日志文件里面,只有每次重启的时候才会重新生成文件。 这个管理系统使用的是 Spring Boot + Logback 框架,查看了 Logback 的日志文件,发现了策略组合使用问题。 以下是有问题的日志配置代 阅读全文
posted @ 2018-05-24 14:52 Java技术栈 阅读(3632) 评论(0) 推荐(0) 编辑
摘要: Spring Boot支持在系统加载的时候配置随机数。 添加config/random.properties文件,添加以下内容: 添加绑定类: 输出如下: 具体的生成细节可以参考Spring Boot的配置类: 来看下它的源码,实现其实很简单。 其实就是使用了 Java 自带的 和 等工具类,实现很 阅读全文
posted @ 2018-05-23 10:39 Java技术栈 阅读(2994) 评论(0) 推荐(0) 编辑
摘要: 获取类名的方法 Java 中获取类名的方式主要有以下三种。 getName() 返回的是虚拟机里面的class的类名表现形式。 getCanonicalName() 返回的是更容易理解的类名表示。 getSimpleName() 返回的是类的简称。 都有什么区别? 通过一个实例来看下它们主要的区别。 阅读全文
posted @ 2018-05-22 15:37 Java技术栈 阅读(30147) 评论(0) 推荐(3) 编辑
摘要: Elastic Job支持 JAVA API 和 Spring 配置两种方式配置任务,这里我们使用 JAVA API 的形式来创建一个简单的任务入门,现在都是 Spring Boot 时代了,所以不建议使用 Spring 配置文件的形式。 Elastic Job 需要依赖 Zookeeper 中间件 阅读全文
posted @ 2018-05-22 15:33 Java技术栈 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 有粉丝建议可以偶尔推送一些 Java 方面的基础知识,一方面可以帮助一初学者,也可以兼顾中高级的开发者。 那么今天就讲一下 Java 中的 switch case 语句吧,有忘记的同学正好可以温习一下。 Java 中 switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为 阅读全文
posted @ 2018-05-22 15:28 Java技术栈 阅读(13860) 评论(0) 推荐(0) 编辑