使用IDEA remote JVM 远程调用debug项目
一、背景 运行在线上服务器上的Java后端Springboot程序出现问题,只能通过打印日志的方式调试,无法快速定位问题,很影响效率。 二、解决方案 使用IDEA Remote JVM 远程连接到服务…
目标 路径 时间 结果 信息 定位 闭环 复盘 精力 极限 稳态 框架 邮箱:linqingyang@datagov.top
一、背景 运行在线上服务器上的Java后端Springboot程序出现问题,只能通过打印日志的方式调试,无法快速定位问题,很影响效率。 二、解决方案 使用IDEA Remote JVM 远程连接到服务…
引入 在Java中,线程是实现并发编程的重要工具。为了让初学者和不熟悉底层实现的工程师也能理解线程的启动过程,我们将详细解析从Java代码调用到JVM虚拟机内部和操作系统级别的线程创建与启动过程。本文…
Go语言(也称为Golang)和Java都是高效、强大的编程语言,但它们在设计哲学、性能特点、使用场景等方面存在一些显著差异。下面是Go和Java之间的一些关键区别: ### 1. 设计哲学与简洁性 …
问题 wait() 方法和 sleep() 方法都能让当前线程挂起一段时间,那它们的区别是什么? 解析 wait() 方法和 sleep() 方法确实都能使当前线程暂停执行,但它们之间存在几个关键区别…
引入 在多线程编程中,确保不同线程间对共享变量的修改能够被彼此正确地看到,是保障程序正确运行的关键。Java内存模型(JMM)提供了一系列机制来处理这种内存可见性问题。本文将探讨如何在Java中确保一…
Jeremy Manson and Brian Goetz, February 2004 ref: https://www.cs.umd.edu/~pugh/java/memoryModel/jsr-…
引言 在当今多线程和并发编程日益普及的背景下,正确理解和处理数据类型在不同系统架构下的表现至关重要。特别是在32位操作系统中,对64位长整型数据(如Java中的long类型)的操作可能隐藏着并发难题。…
BlockingQueue BlockingQueue是一个支持在检索元素时等待队列变得非空,并在存储元素时等待队列中有空间可用的队列。 BlockingQueue 方法有四种形式,处理无法立即满足但…
Download Java 20 Online Documentation Installation Instructions Release Notes Documentation License …
Download Java 8 Documention Download Online Documentation Installation Instructions Release Notes Ja…
Download JDK 11 Online Documentation Installation instructions Release Notes Consolidated JDK 11 Rel…
Download JDK 17 JDK 17 Release Notes Online Documentation Installation Instructions Release Notes Co…
引入 常听人说,递归调用太深,可能导致栈溢出。你思考一下原因是什么?有哪些解决方案呢? 递归调用栈溢出原因 递归调用导致栈溢出的主要原因是每次递归调用都会在程序的调用栈中创建一个新的函数调用帧(fun…
在Java中,你有几种方式来异步执行代码,包括使用线程(Thread),线程池(ExecutorService),CompletableFuture,以及在Spring框架中使用@Async注解。以下…
【金山文档】 序列化 https://kdocs.cn/l/cs2Bq024neWm
原文: https://blogs.oracle.com/java/post/the-arrival-of-java-20 https://jdk.java.net/20/release-notes …
一、JAVA 异常分类及处理 1.1 概念 如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。…
/** * 1.创建一个可缓存的线程池。如果线程池的大小超过了处理任务所需要的线程,那么就会回收部分空闲(60秒不执行任务)的线程<br> * 2.当任务数增加时,此线程池又可以智能的添加…
将1个输入流转换为2个输入流使用 InputStream fis = xxx; // 使fis流可以使用多次 ByteArrayOutputStream byteArrayOutputStream =…
Class Hierarchy java.lang.reflect.AccessibleObject (implements java.lang.reflect.AnnotatedElement) j…