jdk8升级成jdk17报错 module java.base does not “opens java.lang“ to unnamed module @1941a8ff

jdk9+ 出现错误module java.base does not “opens java.lang” to unnamed module @1941a8ff在启动类配置中增加vm--add-opens java.base/java.lang=ALL-UNNAMEDJdk17增加了 错误modu
2024年12月17日 226次浏览

mvn 打包报错 Cannot run program "gpg.exe": CreateProcess error=2, 系统找不到指定的文件

报错详细内容:Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.6:sign (sign-artifacts) on project jim: Unable to execute gpg command: Error
2024年12月15日 310次浏览

线程池是否需要关闭?

前言大家在日常开发中会经常用多线程,为了合理地管理线程,我们会通过线程池来创建线程。那么在使用完线程池之后我们需要显式关闭线程池么?举个例子下面我们来通过一个demo看看显式关闭线程池是否有必要public class TestShutDown {private static void asynEx
2024年05月13日 467次浏览

从jdbc url获取数据库名host及port

public static void getHostFrom(String url) { Pattern p = Pattern.compile("jdbc:(?<db>\\w+):.*((//)|@)(?<host>.+):(?<port>
2024年05月13日 515次浏览

JAVA 判断ResultSet是否为空

问题说明:从数据库中查询数据判断判断resultset为空的条件,然后使用resultset==null来进行判断,在测试时发现使用该条件进行判断时无法进入该对应分支,在进行一番google之后,将结果在此进行记录 ,常用的共有三种方法。第一种方法该方法首先跳转到 ResultSet 最后一行,然后
2023年11月21日 609次浏览

并发容器:阻塞队列之PriorityBlockingQueue

文章目录1 介绍2 使用2.1 构造2.2 不存在阻塞写方法2.3 优先级队列读方法1 介绍PriorityBlockingQueue优先级阻塞队列是一个“无边界”阻塞队列,该队列会根据某种规则(Comparator)对插入队列尾部的元素进行排序,因此该队列将不会遵循FIFO(first-in-fi
2022年04月21日 807次浏览

JVM常用启动参数

本文参考jvm参数设置大全:http://www.cnblogs.com/marcotan/p/4256885.html堆内存分配及gc:http://www.cnblogs.com/weiguo21/p/5195460.html在一个java应用启动时,我们可以配置其jvm的启动参数,如:java
JVM 2021年03月17日 1,478次浏览

JVM内存模型

一、为什么会有年轻代  我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话
JVM 2021年03月15日 1,512次浏览

java双亲委派模型

Java类加载器(ClassLoader)双亲委派模式要求除了顶层的启动类加载器外,其余的类加载器都应当有自己的父类加载器,请注意双亲委派模式中的父子关系并非通常所说的类继承关系,而是**采用组合关系来复用父类加载器的相关代码**,类加载器间的关系如下:双亲委派模式是在Java 1.2后引入的,其工
java 2021年02月10日 1,201次浏览

Java中的ThreadLocal详解

** 一、ThreadLocal简介**  多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性。ThreadLocal是除了加锁这种同步方式之外的一种保证一种规避多线程访问出
java ThreadLocal 2020年09月09日 1,174次浏览