捉虫大师 捉虫大师
3年前
实现一个比LongAdder更高性能的计数器有多难
本文已收录https://github.com/lkxiaolou/lkxiaolou欢迎star。强悍的LongAdderLongAdder是jdk8引入的适用于统计场景的线程安全的计数器。在此之前,实现一款线程安全的计数器要么加锁,要么使用AtomicLong,加锁性能必然很差,AtomicLong性能要好很多,但是在高并发、多线程下,也显得吃力。
Stella981 Stella981
3年前
SpringBoot入门 1
本文记录了SpringBoot入门的过程,开发工具是IDEA,使用gradle来构建项目。首先学习一个新东西,最好的地方就是他的官方网站(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fspring.io%2Fguides)。1.首先在电脑上安装好运行环境,JDK1.8及以上
Wesley13 Wesley13
3年前
Java 程序读取Mysql数据库时间信息,与真实时间相差 13 小时
问题Java后台程序读取数据库时间,在前端页面进行展示的时候,出现了错误,展示的时间和数据库中的时间不一致。所用工具及其版本如下1.Mysql数据库版本:8.0.15forosx10.142.数据库里的时间类型:dateTime3.JDK版本:11.0.24.Mysql驱动:mys
Stella981 Stella981
3年前
Mac下使用SBT搭建play framework 2.x 项目
由于工作需要,项目中用到play,到官网上大致看了一下文档,在网上搜索了很多资料。总结如下:\\1.下载安装说明\\play官网2.2版本以后都不能手动下载。play官方建议使用sbt构建play项目,并且要求jdk1.8版本。下载解压sbt,设置环境变量。\\2.构建项目\\
Stella981 Stella981
3年前
Eclipse导入Web项目后代码不报错但项目图标上有红叉解决方案
在参照别人项目时,想要将其项目导入自己的项目中,发现代码不报错,但是呢项目的图标上有一个小红×(叉),项目业务运行时,一般是因为你的jdk版本或tomcat版本不一的原因。首先,检查buildpath中的Libraries是否报错!在这里插入图片描述(https://imgblog.csdnimg.cn/20200226210012
Wesley13 Wesley13
3年前
Java设计模式之immutable(不可变)模式
immutable简介不可变对象永远不会发生改变,其字段的值只在构造函数运行时设置一次,其后就不会再改变。例如JDK中常见的两种基本数据类型String和Integer,它们都是不可变对象。为了理解immutable与mutable的区别,可以看看下面的一段代码:packagedate0804.demo2;
Wesley13 Wesley13
3年前
Java 虚拟机中的运行时数据区分析
本文基于JDK1.8阐述分析运行过程我们都知道Java源文件通过编译器编译后,能产生相应的.Class文件,也就是字节码文件。而字节码文件通过Java虚拟机中的解释器,编译成特定机器上的机器码。跨平台的特性!在这里插入图片描述(https://imgblog.csdnimg.c
可莉 可莉
3年前
11张图让你彻底明白jdk1.7 hashmap的死循环是如何产生的
!(https://oscimg.oschina.net/oscnet/d453e1c3841f4bc9a99ec584cf6f7d94.gif)点击上方蓝字关注我!jdk1.7hashmap的循环依赖问题是面试经常被问到的问题,如何回答不好,可能会被扣分。今天我就带大家一下梳理一下,这个问题是如何产生的
SimpleDateFormat 线程安全问题修复方案 | 京东物流技术团队
在日常的开发过程中,我们不可避免地会使用到JDK8之前的Date类,在格式化日期或解析日期时就需要用到SimpleDateFormat类,但由于该类并不是线程安全的,所以我们常发现对该类的不恰当使用会导致日期解析异常,从而影响线上服务可用率。