JAVA
-
手拉手Centos7安装配置Redis7
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数…
-
在Docker上实战ElasticSearch以及与SpringBoot集成
简介 项目地址:https://gitee.com/charlinchenlin/wysmall Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多…
-
Caffeine高性能本地缓存框架初探
通常情况下,为了提升服务性能,使用缓存框架是一个非常常见的选择。在Java语境下,经过我查阅,Caffeine被称作地标最强Java本地缓存框架。Caffeine是站在巨人(Gua…
-
【开发宝典】Java并发系列教程(四)
作者:京东零售 刘跃明 Monitor概念 Java对象的内存布局 对象除了我们自定义的一些属性外,还有其它数据,在内存中可以分为三个区域:对象头、实例数据、对齐填充,这三个区域组…
-
java.lang.OutOfMemoryError- unable to create new native thread 问题排查
问题描述 最近连续两天大约凌晨3点,线上服务开始异常,出现OOM报错。且服务所在的物理机只能ping通,但是无法登录。报错信息如下: ERROR 04-12 03:01:43,93…
-
Java SPI概念、实现原理、优缺点、应用场景、使用步骤、实战SPI案例
一、前言 在当今互联网时代,应用程序越来越复杂,对于我们开发人员来说,如何实现高效的组件化和模块化已经成为了一个重要的问题。而 Java SPI(Service Prov…
-
使用SpringBoot进行文件压缩
1 简介 你知道在Java应用程序中优化文件服务器的磁盘空间是非常重要的非功能性要求之一吗?如果管理得当,可以节省文件存储服务器上60%至70%的成本。因此,对于由Java Spr…
-
面试必问,JVM内存模型扫盲
JVM简介 JVM(Java Virtual Machine,Java虚拟机)是Java语言的核心,是一个用于解释Java字节码的虚拟计算机。它可以在运行Java程序时自动管理内存…
-
Java LockSupport与线程中断
什么是中断? 首先 一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止。所以,Thread.stop, Thread.suspend, Thread.resume…
-
Java 21 将不再有public static void main !
之前的Java是这样: Java 21会是这样: 看到这个消息,我最大的感受是: 卧槽,怎么就Java 21了?!我还在用Java 8 呢! 实际上,从Java 8 到…
-
关于Java已死,看看国外开发者怎么说的
图片 博主在浏览 medium 社区时,发现了一篇点赞量 1.5k 的文章,名称叫《Java is Dead — 5 Misconceptions of developers th…
-
你知道如何使用Java线程池吗?
一、什么是线程池 线程池是一种优化线程管理的机制,它可以在程序启动时创建一定数量的线程,并将它们保存在一个池中。当需要执行任务时,可以从线程池中获取一个空闲的线程来执行任务,执行完…