240 发简信
IP属地:浙江
  • SpringBoot服务无法读取系统变量,我重新认识了profile和bashrc

    背景 CentOS服务器上,我们用Systemd部署了一个SpringBoot服务。这个服务会用ProcessBuilder去调用机器上一个C++的可执行文件。 问题描述 S...

  • 线程池因为会有线程重用,最好在线程任务结束之前清除ThreadLocal数据,以防脏数据或者潜在的内存泄漏

    深入理解Threadlocal

    前言 并发是Java开发中绕不开的一个话题。现代处理器都是多核心,想要更好地榨干机器的性能,多线程编程是必不可少,所以,线程安全是每位Java Engineer的必修课。 应...

  • 120
    深入理解Threadlocal

    前言 并发是Java开发中绕不开的一个话题。现代处理器都是多核心,想要更好地榨干机器的性能,多线程编程是必不可少,所以,线程安全是每位Java Engineer的必修课。 应...

  • 120
    Java四种引用详解

    前言 为了满足对不同情况的垃圾回收需求,从Java从版本1.2开始,引入了4种引用类型(其实是额外增加了三种)的概念。本文将详细介绍这四种引用。 Java 4种引用类型 Ja...

  • 120
    如何优雅地重启Spring Scheduler

    定时任务是一个比较常见的功能,在某些情况下,需要重新启动或者是重设Scheduler Job,但是官方的API上都没有提供类似restart的方法,那该如何完成此需求呢? S...

  • 120
    InstanceAlreadyExistsException的解决方案

    背景 JMX Java Coder们都知道,Java提供了JMX(Java Management Extensions) attach的机制(如JConsole),可以动态获...

  • 120
    PF4J中FileSystem的Bug导致无法删除文件

    背景 我们有一个Plugin的管理系统,可以实现Jar包的热装载,内部是基于一个Plugin管理类库PF4J,类似于OSGI,现在是GitHub上一个千星项目。以下是该类库的...

  • 120
    SimpleDateFormat线程安全问题深入解析

    背景 众所周知,Java中的SimpleDateFormat不是线程安全的,在多线程下会出现意想不到的问题。本文将解析SimpleDateFormat线程不安全的具体原因,从...

  • 120
    Bloom过滤器

    引文 思考一个问题:从大量数据里面如何高效率地去重?有过一点编程经验的人都知道,可以通过Set这种数据结构来做到。比如HashSet,采用了Hash算法,可以在O(1)的复杂...

  • 120
    表重复更新引发的问题

    1. 问题描述 我们的工程部署在两个DC上,双活。两边的服务器以及逻辑都是一样的,也分别都有自己的业务。数据库用的Oracle,之间有同步,用的是Quest的DB同步产品sh...

  • 120
    Redis OOM问题排查

    1. 问题描述 看到Redis报了OOM的错误,而且服务响应速度非常慢,页面上丢了很多数据,赶紧起来查看问题。 2. 问题排查 我们的系统架构是双边双活的,两个DC都会有数据...

  • 120
    OSI七层模型简述

    1 概述 我们每天都在用手机或者电脑等电子设备浏览网页,收发邮件。有没有想过为什么你在浏览器里面输入一个网址,就能打开一个页面?为什么你写了一封电子邮件,点击发送,对方就能收...

  • 120
    图文并茂,揭秘 Spring 的 Bean 的加载过程

    目录 概述 总体流程 细节分析3.1. 转化 BeanName3.2. 合并 RootBeanDefinition3.3. 处理循环依赖3.4. 创建实例3.5. 注入属性3...