java技术圈 为您找到相关结果 582

告别繁琐操作!Maven常用命令一网打尽,让你的项目开发事半功倍!

Maven作为一款强大的项目管理工具,已经成为了Java开发者的必备技能。那么,如何才能更好地利用Maven来管理我们的项目呢?本文将为你介绍Maven的常用命令,让你的项目构建更轻松! ## 一、maven 的概念模型 Maven 包含了一个项目对象模型 ,一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 ![image.png](http://static.itsharecircle.com/231216/2df7096d761d101ecc0f27e0f0c7beb7.png) #### 项目对象模型 (Project Object Model) 一个 maven 工程都有一个 pom.xml 文...阅读全文

博文 2023-12-16 16:38:44 YDYXCODE

RandomAccessFile类使用详解_Simon_night的博客

RandomAccessFile类使用详解 疯狂java讲义读书笔记之RandomAccessFile类的使用详解 1.RandomAccessFile特点   RandomAccessFile是java Io体系中功能最丰富的文件内容访问类。即可以读取文件内容,也可以向文件中写入内容。但是和其他输入/输入流不同的是,程序可以直接跳到文件的任意位置来读写数据。   因为RandomAccessFile可以自由访问文件的任意位置,所以如果我们希望只访问文件的部分内容,那就可以使用RandomAccessFile类。   与OutputStearm,Writer等输出流不同的是,RandomAccessFile类允许自由定位文件记录指针,所以RandomAccessFile可以不从文件开始的地方...阅读全文

博文 2023-05-15 03:35:01 CSDN博客

怎么打印当前ClassLoader 加载了哪些Jar_java 打印加载的jar_共饮一杯无的博客

classloader类加载器_基于java类的加载方式详解 08-29 下面小编就为大家带来一篇classloader类加载器_基于java类的加载方式详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 Java 动态加载jar文件示例 01-23 Java 动态加载jar文件示例,轻松实现插件式开发 解决classloader的jar包 11-07 包括commons-logging commons-beanutils commons-lang ezmorph json-lib-2.4-jdk15 commons-collections-3.2.1的jar包,可以解决 org/apache/commons/lang/exception/NestableRu...阅读全文

博文 2023-09-13 16:18:12 CSDN博客

Java集合浅学(二)了解集合的框架体系结构及常用实现类,从入门到精通!

### 前言 通过Java基础的学习,我们掌握了主要的Java语言基本的语法,同时了解学习了Java语言的核心-面向对象编程思想。 从集合框架开始,也就是进入了java这些基础知识及面向对象思想进入实际应用编码的过程,通过jdk中集合这部分代码的阅读学习,就能发现这一点。 本计划在这篇中把框架体系和一些集合的常用方法一起编写。仔细考虑之后,本着不让突出重点,结构清晰的思路,所以把框架体系单独拉出来,为让各位看官对java的集合框架有个清晰的认识,最起码记住常用的几种常用实现类! 好的,我们进入正题。 ### 集合的框架体系结构 可以在很多书籍或者教程中看到,JAVAEE进阶知识的学习,JDK中提供了满足各种需求的API,主要是让我们去学习和了解它提供的各种API,在使用这些API之前,我们往...阅读全文

博文 2023-10-30 10:38:22 YDYXCODE

Java集合浅学(三)单列集合Collection常用方法详解,不容错过!

在上篇文章中,我们简单介绍了下Java 集合家族中的成员,那么本篇文章,我们就来看看 Java在单列集合中,为我们提供的一些方法,以及单列集合的常用遍历玩法,一起来进入学习吧。 在Java基础中我们也学过,在类实现接口后,该类就会将接口中的抽象方法继承过来,此时该类需要重写该抽象方法,完成具体的逻辑。 ### 一、Collection 常用功能 Collection 是所有单列集合的父接口,因此在Collection 中定义了单列集合(List 和 Set)通用的一些方法,这些方法可用于操作所有的单列集合。 ![image.png](http://static.itsharecircle.com/231101/b2d7396e92cd372b4dfc6c5ab75b91c3.png) ###...阅读全文

博文 2023-11-01 10:54:32 YDYXCODE

RoaringBitmap使用指南-Java快速入门教程 - JackYang

1. 概述 在本教程中,我们将了解RoaringBitmap。我们将使用对一组的一些基本操作作为RoaringBitmap的示例。此外,我们将在 Java 中的RoaringBitmap和BitSet之间执行性能测试。 2. RoaringBitmap简介 RoaringBitmap数据结构由于其高性能和压缩比,通常用于分析、搜索和大数据项目。它背后的想法来自位图索引,这是一种用于有效表示数字数组的数据结构。它类似于JavaBitSet,但经过压缩。 压缩大整数集,同时保持对单个元素的快速访问是RoaringBitmap的显着优势。RoaringBitmap在内部使用不同类型的容器来实现此目的。 3. RoaringBitmap的工作原理 RoaringBitmap是一组无符号整数,由不相交...阅读全文

博文 2023-04-26 07:09:00 博客园

Java支付全家桶:企业级各类支付手段一站式解决方案

点击下载:Java支付全家桶:企业级各类支付手段一站式解决方案完整无密不久前新闻头条:《支付宝在2019年新增4亿行代码引热议》以及风投关注的宝典-《金融博览》指出:支付将迎来新的风口,两则消息均证明了:强如阿里,甚至风投都如此重视和关注支付领域,因此,学支付方能立于不败之地!Java企业级支付一站式解决方案(赠送超值配套电子书:http://dwz.date/aMfA)...1-1 Java企业级支付一站式解决方案试看第2章 学前准备学习并掌握微信、支付宝、银联三种支付方式的区别和差异,并且为开发支付程序搭建前后端分离的工程,创建数据库,安装好开发工具。2-1 主流支付渠道说明【企业级支付形式心中有数】试看2-2 带你配置开发环境2-3 搭建前端后端分离项目2-4 本章内容总结第3章 UN...阅读全文

博文 2020-07-30 01:27:03 jmterorh

java使用nio读写文件_使用nio读取文件_小码农叔叔的博客

IO原理 最近在研究 JAVA NIO 的相关知识,学习NIO,就不能提到IO的原理和事项,必经NIO是基于IO进化而来 IO涉及到的底层的概念大致如下: 缓冲区操作。2) 内核空间与用户空间。3) 虚拟内存。4) 分页技术 一,虚拟存储器 虚拟存储器是硬件异常(缺页异常)、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。 虚拟存储器的三大能力: ①将主存看成是一个存储在磁盘上的地址空间的高速缓存。 ②为每个进程提供了一个一致的地址空间。 ③保护每个进程的地址空间不被其他进程破坏。 虚拟内存的两大好处: ① 一个以上的虚拟地址可指向同一个物理内存地址。 ② 虚拟内存空间可大于实际可用的硬件内存。 二,用户空间与内核空间 设虚拟地址为32位...阅读全文

博文 2023-05-15 10:50:14 CSDN博客

理解 Java类加载器与Agent字节码插桩中的类加载问题

引言在 Java 编程中,理解类加载器的机制对开发复杂的应用和工具非常重要,尤其是在涉及 Java Agent 这样高级技术时更是如此。在本文中,我们将深入探讨 Java 类加载器的工作机制,并通过一个实际的 Java Agent 示例来展现如何解决类加载的问题。类加载器概述Java 的类加载器是负责将类文件加载到 JVM 中的组件。类加载器的工作分为三个主要的过程:加载、链接和初始化。类加载器通常按以下层次结构工作:引导类加载器(Bootstrap ClassLoader):JVM 自带的类加载器,用于加载核心类库如 java.lang.*。扩展类加载器(Extension ClassLoader):加载扩展目录中的类库应用类加载器(App ClassLoader):加载应用的类路径中的类...阅读全文

博文 2024-06-22 00:09:04 zhidiantech

基于SpringBoot3.x+Vue3.x整合从0到1一步一步实现酒店管理系统

基于SpringBoot3.x+Vue3.x整合从0到1一步一步实现酒店管理系统 给大家分享一套课程——基于SpringBoot3.x+Vue3.x整合从0到1一步一步实现酒店管理系统,附源码+笔记+数据库脚本下载。 Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架...阅读全文

博文 2023-12-28 19:44:41 woaiwodejia333

数据库连接神器:JDBC的基本概述、组成及工作原理全解析!

>JDBC(Java DataBase Connectivity)是一种用于执行SQL语句的 Java API,是Java和数据库之间的一个桥梁,是一个规范而不是一个实现,能够交给数据库执行SQL语句。 在信息化时代,数据库已经成为了存储和管理数据的重要工具。而Java作为一种广泛使用的编程语言,其与数据库的交互就显得尤为重要。JDBC就是为了解决这个问题而生的。通过JDBC,我们可以在Java程序中轻松地执行SQL语句,实现对数据库的增删改查操作。今天我们就来聊一聊JDBC的相关概念。 ## 一、JDBC简介 #### 概念: - JDBC(Java DataBase Connectivity) :Java数据库连接技术。 - 具体讲就是通过Java连接广泛的数据库,并对表中数据执行增、删...阅读全文

博文 2023-12-22 10:24:27 YDYXCODE

Java集合:双列集合HashMap的概念、特点及使用

HashMap是Java中的一个集合类,它实现了Map接口,提供了一种存储键值对的方式。你可以把它想象成一个没有固定大小和形状的储物柜,你可以随时往里面放东西,也可以随时取出东西。而且,这个储物柜还有一个神奇的功能,那就是无论你放进去的是什么,取出来的总是你放进去的那个。 上篇文章讲了Map接口的概念,以及Map接口中的常用方法和对Map集合的遍历,本篇文章我们将继续介绍另一个十分重要的双列集合—HashMap。 ## HashMap 概念 HashMap集合是Map接口的一个实现类,它用于存储键值映射关系,该集合的键和值允许为空,但键不能重复,且集合中的元素是无序的。 #### 特点 HashMap底层是由哈希表结构组成的,其实就是“数组+链表”的组合体,数组是HashMap的主体结构,链...阅读全文

博文 2023-12-12 10:40:31 YDYXCODE

MyBatis实战指南(二):工作原理与基础使用详解

MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。那么,它是如何工作的呢?又如何进行基础的使用呢?本文将带你了解MyBatis的工作原理及基础使用。 ## 一、MyBatis的工作原理 ### 1.1 MyBatis的工作原理 工作原理图示: ![image.png](http://static.itsharecircle.com/240111/fb3da40016d1dcdc2b11db5767113d68.png) **1、读取MyBatis配置文件** mybatis-config.xml为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,例如数据库连接信息。 **2、加载映射文件(SQL映射文件,一般是XXXMapper.xml)** ...阅读全文

博文 2024-01-11 14:49:32 YDYXCODE

源码分析之byte & 0xFF

在阅读java源代码时会经常发些代码里面会出现诸如byte & 0xFF之类的代码,之前没深究,感觉是多此一举的操作。 后经过仔细研究发现里面涉及底层数据存储基本原则正数存储的二进制原码,负数存储的是二进制的补码。 在netty源码中,会使用Bytebuf来接收网络数据。如明确知道是一个字节无符号的数字,会调用ByteBuf.readUnsignedByte方法获取该字节的内容 public short readUnsignedByte() { return (short) (readByte() & 0xFF); } 复制代码其中readByte()会返回该字节对应的byte,但为什么后面有和 0xFF 进行按位与操作然后转换为short呢。 首先netty在接收网络数据时,会以相应大小的...阅读全文

博文 2023-05-18 04:43:02 掘金

一课掌握Java并发编程精髓(完结13章)

一课掌握Java并发编程精髓(完结13章) 分享一套Java课程——一课掌握Java并发编程精髓(完结13章),附源码+PDF课件下载。 并发编程 1.多线程 Java 是最先支持多线程的开发的语言之一,Java 从一开始就支持了多线程能力。由于现在的 CPU 已经多是多核处理器了,是可以同时执行多个线程的。 多线程优点 多线程技术使程序的响应速度更快 ,可以在进行其它工作的同时一直处于活动状态,程序性能得到提升。 性能提升的本质 就是榨取硬件的剩余价值(硬件利用率)。 并行与并发 单核 cpu 下,线程实际是串行执行的。操作系统中有一个组件叫做任务调度器,将 cpu 的时间片,分给不同的线程使用,只是由于 cpu 在线程间(时间片很短)的切换非常快,人类感觉是同时运行的。 总结为一句话就是...阅读全文

博文 2023-12-20 16:06:06 woaiwodejia333

Java IO学习笔记三:MMAP与RandomAccessFile - Grey Zeng

作者:Grey 原文地址:Java IO学习笔记三:MMAP与RandomAccessFile 关于RandomAccessFile 相较于前面提到的BufferedReader/Writer和FileReader/Writer 普通的Reader和Writer只能顺序读写数据,RandomAccessFile提供了一个独有的seek方法,可以修改文件内容的指针,从而可以方便读取和修改文件中的任意位置。示例: import java.io.RandomAccessFile; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import static java.nio.charset.Standar...阅读全文

博文 2023-05-12 16:32:23 博客园

Content type 'application/json;charset=UTF-8' not supported异常的解决过程 - 背着泰山找黄河

首先说一下当时的场景,其实就是一个很简单的添加操作,后台传递的值是json格式的,如下图 ,后台对应的实体类, @Data @EqualsAndHashCode(callSuper = false) public class Route implements Serializable { private static final long serialVersionUID = 1L; /** * id */ private String id; /** * 设备id */ private String deviceId; /** * 路由地址 */ private String destNetwork; /** * 下一跳 */ private String nextHop; /** * 路...阅读全文

博文 2024-05-22 11:28:55 博客园

基于C++从0到1手写Linux高性能网络编程框架-15章

参考资料地址1:https://pan.baidu.com/s/1i8FuLluEUV3BJFphjKWvhQ 提取码:zvet 参考资料地址2:https://pan.baidu.com/s/1MgD4BdeD6V6HfXkoMAZ5Hw 提取码:l5t4 网络编程概述 管道(父子进程)、消息队列(内核经营消息队列)、共享内存(创建一个空间)、信号(通过pid号通信)、信号量(对临界资源,共享内存做P、V控制) 。 特点:依赖于Linux内核 A B两个通信基于内核。缺陷:无法多机通信 (不适用与两台不同的电脑) TCP和UDP对比: TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前 不需 要建立连接 TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无...阅读全文

博文 2023-12-06 15:18:14 giadnbhaytgw

集成SpringSecurity,访问接口报401 unauthorization无权限_springsecurity登录接口401_wang0112233的博客

集成了spring Security的时候启动项目,如果没有设置默认的账号密码,系统会自动给你生成一个密码,默认用户为user 在postman中访问的时候只需要设置 这样就可以简单的访问接口并正确返回。 因为你没有设置密码,这样每次重启会给你一个随机新的密码,这样很不方便,那么我们可以在配置文件中定义固定的账号密码 当然也可以直接在java文件中定义账号密码,首先需要我们创建一个 Spring Security 的配置类,集成自 WebSecurityConfigurerAdapter 类,如下: @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override prote...阅读全文

博文 2023-04-12 07:13:38 CSDN博客

Jedis-分布式缓存服务Redis版-快速入门-连接实例-多语言连接-Java客户端

更多的客户端的使用方法,请参考https://redis.io/clients。 如果创建Redis实例时设置了密码,使用Jedis客户端连接Redis时,需要配置密码进行连接,建议不要将明文密码硬编码在代码中。如果使用JedisCluster连接Redis4.0/5.0 Cluster集群,集群内部拓扑结构会自动刷新,客户端需要自己处理重连问题。前提条件已成功申请Redis实例,且状态为“运行中”。已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装java编译环境操作步骤步骤 1 查看并获取待连接Redis实例的IP地址/域名和端口。具体步骤请参见 查看实例信息。步骤 2 登录弹性云服务器。步骤 3 首先...阅读全文

博文 2023-07-20 03:22:42 天翼云

双列集合Map不再难懂:轻松掌握这些知识点!

## 1 概述 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,学号与学生等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接口。 Map 接口下的集合与Collection 接口下的集合,他们的存储形式有所不同,如下图: ![image.png](http://static.itsharecircle.com/231205/ebb5393154fd764d6d07353910a6296c.png) Collection 集合,元素是独立的,存储的元素是一个一个的存储。Map中的集合,元素是成对出现。每个元素由键与值两部分组成,通过键可以找到所对应的值。所以我们前面所说 Collection是单列集...阅读全文

博文 2023-12-05 10:47:07 YDYXCODE

真正解决方案:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException

真正解决方案:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException 1. 故障描述2. 故障原因分析3.解决方案3.1 解决方案一3.2 解决方案二(亲测可行)3.3 解决方案三 1. 故障描述 今天在使用JDK 9.0 环境下使用Hibernate 时候出现了这个错误,错误日志如下: 2. 故障原因分析 JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。 java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包 而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的 3.解决方案 3.1 解决方案一 降低JDK 9...阅读全文

博文 2023-12-13 14:53:09 CSDN博客

重新认识 Java 中的内存映射 mmap

mmap 基础概念mmap 是一种内存映射文件的方法,即将一个文件映射到进程的地址空间,实现文件磁盘地址和一段进程虚拟地址的映射。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页到对应的文件磁盘上,即完成了对文件的操作而不必再调用 read,write 等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可以实现不同进程间的文件共享。操作系统提供了这么一系列 mmap 的配套函数void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); int munmap( void * addr, size_t len); int msync(...阅读全文

博文 2023-05-15 03:54:19 知乎

JVM自定义类加载器在代码扩展性的实践

作者:vivo互联网服务器团队-Wang Fei一、背景名单管理系统是手机上各个模块将需要管控的应用配置到文件中,然后下发到手机上进行应用管控的系统,比如各个应用的耗电量管控;各个模块的管控应用文件考虑到安全问题,有自己的不同的加密方式,按照以往的经验,我们可以利用模板方法+工厂模式来根据模块的类型来获取到不同的加密方法。代码类层次结构示意如下:获取不同加密方法的类结构图利用工厂模式和模板方法模式,在有新的加密方法时,我们可以通过添加新的handler来满足"对修改关闭,对扩展开放"的原则,但是这种方式不可避免的需要修改代码和需要重新发版本和上线。那么有没有更好的方式能够去解决这个问题,这里就是我们今天要重点讲的主题。二、类加载的时机 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它...阅读全文

博文 2023-04-12 07:21:32 mp.weixin.qq.com

JDBC快速入门:看我如何用JDBC数据库连接池,轻松解决大量并发请求问题!

我们已经知道JDBC是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,也是大多数Java开发者与数据库打交道的必备工具。但是,你是否知道,JDBC在处理大量并发请求时,可能会遇到一些问题?这就是我们今天要讨论的主题——JDBC数据库连接池。 首先,让我们来了解一下什么是数据库连接池。 ## 一、数据库连接池简介 JDBC连接池,全称为Java多线程数据库连接池,是一种用于管理数据库连接的技术。其主要作用是减少每次请求时创建和释放数据库连接的开销,以此提高系统性能。 在应用程序和数据库之间,JDBC连接池会建立一个连接池,当需要访问数据库时,无需每次都重新创建连接,而是直接从池中获取已有的连接。 ![image.png](http://static.itsharecircle.c...阅读全文

初识 NIO, 你了解io 和nio吗? 了解直接缓冲区和非直接缓冲区的区别吗?_兮家小二的博客

一、nio 是什么? 1、Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始) 2、Java NIO提供了与标准IO不同的IO工作方式。 3、nio 主要面向于网络编程 二、nio 和 io 的区别? 1、IO基于字节流和字符流进行操作的 2、NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。 3、NIO引入了选择器的概念,选择器用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个的线程可以监听多个数据通道。 io 流实现过程 数据传递是单向的,写数据只管把数据往文件丢,读也是同理 并且 io 基本都是非直接缓冲区传递(速度慢) nio 实现过程 先...阅读全文

博文 2023-09-13 16:43:52 CSDN博客

从入门到精通:集合工具类Collections全攻略!

>在之前的文章中,我们学习了单列集合的两大接口及其常用的实现类;在这些接口或实现类中,为我们提供了不少的实用的方法。 本篇文章我们来介绍一种java开发者为我们提供了一个工具类,让我们更好的来使用集合 ## Collections 工具类 ### 介绍 Collections 是一个操作Set,List,Map等的集合工具类。它提供了一系列静态的方法对集合元素进行排序、查询和修改等的操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。 ### 常用功能 通过java的api文档,可以看到Collections了很多方法,我们在此就挑选几个常用的功能,为大家演示一下使用: - public static void shuffle(List list) 打乱顺序:打乱集合顺序...阅读全文

博文 2023-11-28 14:20:48 YDYXCODE

使用CompletableFuture优化你的代码执行效率 - 冬至饮雪

这篇文章详细讲解java8中CompletableFuture的特性,方法以及实例. 在java8以前,我们使用java的多线程编程,一般是通过Runnable中的run方法来完成,这种方式,有个很明显的缺点,就是,没有返回值,这时候,大家可能会去尝试使用Callable中的call方法,然后用Future返回结果,如下: public static void main(String[] args) throws Exception { ExecutorService executor = Executors.newSingleThreadExecutor(); Future stringFuture = executor.submit(new Callable阅读全文

博文 2024-04-12 15:39:19 博客园

JVM自定义类加载器在代码扩展性的实践

导语 类加载器算是 JVM 的核心技术,也是比较难懂的知识,因此当然也就是成为了 java 面试中不可少内容,JVM自定义类加载器在代码扩展性在现实中也是我们经常遇到的问题,本次介绍的是VIVO技术团队在类加载器上的实践! 一、背景 名单管理系统是手机上各个模块将需要管控的应用配置到文件中,然后下发到手机上进行应用管控的系统,比如各个应用的耗电量管控;各个模块的管控应用文件考虑到安全问题,有自己的不同的加密方式,按照以往的经验,我们可以利用模板方法+工厂模式来根据模块的类型来获取到不同的加密方法。代码类层次结构示意如下: 获取不同加密方法的类结构图 利用工厂模式和模板方法模式,在有新的加密方法时,我们可以通过添加新的handler来满足"对修改关闭,对扩展开放"的原则,但是这种方式不可避免的...阅读全文

博文 2023-04-12 07:23:09 HeapDump性能社区

【小家java】Java线程池之---ForkJoinPool线程池的使用以及原理_forkjoinpool自定义线程池

相关阅读 【小家java】java5新特性(简述十大新特性) 重要一跃 【小家java】java6新特性(简述十大新特性) 鸡肋升级 【小家java】java7新特性(简述八大新特性) 不温不火 【小家java】java8新特性(简述十大新特性) 饱受赞誉 【小家java】java9新特性(简述十大新特性) 褒贬不一 【小家java】java10新特性(简述十大新特性) 小步迭代 【小家java】java11新特性(简述八大新特性) 首个重磅LTS版本 【小家java】Java中的线程池,你真的用对了吗?(教你用正确的姿势使用线程池) 小家Java】一次Java线程池误用(newFixedThreadPool)引发的线上血案和总结 【小家java】BlockingQueue阻塞队列详解以及5...阅读全文

博文 2023-12-01 10:52:18 CSDN博客

MyBatis实战指南(三):常用注解及使用方法

在前面的两篇文章中,我们已经详细介绍了MyBatis的工作原理和基本使用。今天,我们将深入探讨MyBatis的一个重要特性——注解。如果你对MyBatis的注解还不熟悉,那么这篇文章将为你打开一扇新的大门。 ## 一、什么是注解(Annotation) 首先,我们需要明白什么是注解。注解 Annotation 是从JDK1.5开始引入的新技术。 在Java中,注解是一种用于描述代码的元数据,它可以被编译器、库和其他工具读取和使用。MyBatis的注解就是用来简化XML配置的,它们可以让你的代码更加简洁、易读。 **注解的作用:** - 不是程序本身,对程序作出解释 - 可以被其他程序读取到 **Annotation格式:** 注解是以@注解名的方式在代码中实现的,可以添加一些参数值 如:@S...阅读全文

博文 2024-01-18 16:18:24 YDYXCODE

[升级16章+电子书]SpringBoot+Vue3 项目实战,打造企业级在线办公系统

![1.png](http://static.itsharecircle.com/231221/63b4e56185c6b291f708be52646cf255.png) SpringBoot+Vue3 项目实战,打造企业级在线办公系统,2023年升级版16章,附电子书!未来,在线协同办公将成为企业常态化的工作方式,今天就给大家讲讲关于在线办公的一个项目,项目采用了当下最流行的前后端分离架构及技术( Java、SSM、Vue3.0、工作流 )。 我将以业务为基础,贯穿前后端技术栈,获得企业级项目开发经验,结合Vue3、SSM、ElementUI等主流技术栈,打造流程完整、功能齐全、模块多样,真实可用的在线办公系统,喜欢大家会喜欢这样的一个项目。 下面我们就开始代码实践,感兴趣的朋友可以跟着一...阅读全文

博文 2023-12-21 10:10:26 muandhbw

Java 8 将List转换为Map_java stream流list转map

(3)确认好系统应用的专业技术,开展线上确定系统所划分的用户角色,而且依据用户角色划分明确所要构思的功能模块,对考试成绩分析系统系统设计关键划分别为管理人员和用户角色,并所采用的功能模块也随之不一样,可是系统的数据库系统完成内容就是互动的,用户随时都可以根据自己的喜好开展课程内容信息,针对系统工作员要根据自己的主抓信息进行线上信息的处理方法及实际操作,管理人员掌握到全部用户的基本数据信息,并依据实际需求第一时间处理处理。该系统的设计执行为成绩分析系统的运转打好基础,为成绩分析系统提供更好的标准...阅读全文

博文 2024-03-05 14:04:52 CSDN博客

Hive中rlike,like,not like,regexp区别与使用详解_hive rlike

1.like的使用详解 1.语法规则: 格式是A like B,其中A是字符串,B是表达式,表示能否用B去完全匹配A的内容,换句话说能否用B这个表达式去表示A的全部内容,注意这个和rlike是有区别的。返回的结果是True/False.B只能使用简单匹配符号 _和%,”_”表示任意单个字符,字符”%”表示任意数量的字符like的匹配是按字符逐一匹配的,使用B从A的第一个字符开始匹配,所以即使有一个字符不同都不行。 2.操作类型: strings3.使用描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合表达式B 的正则语法,则为TRUE;否则为FALSE。尤其注意NULL值的匹配,返回的结果不是FALSE和TRUE,而是null,其实除了is null ,is not...阅读全文

博文 2024-03-14 10:38:02 CSDN博客

利用 Arthas 精准定位 Java 应用 CPU 负载过高问题_arthas cpuusage

Arthas 官方社区正在举行征文活动,参加即有奖品拿哦~点击投稿 作者 | 张云翔 最近我们线上有个应用服务器有点上头,CPU总能跑到99%,我寻思着它流量也不大啊,为啥能把自己整这么累?于是我登上这台服务器,看看它到底在干啥! 以前碰到类似问题,可能会考虑使用 top -Hp 加 jstack 命令去排查,虽然能大致定位到问题范围,但有效信息还是太少了,多数时候还是要靠猜。今天向大家推荐一款更高效更精准的工具:Arthas!Arthas 是 Alibaba 开源的 Java 诊断工具,能够帮助我们快速定位线上问题。基本的安装使用可以参考官方文档:https://alibaba.github.io/arthas 这次我们利用它来排查 CPU 负载高的问题。CPU 负载过高一般是某个或某几个...阅读全文

博文 2024-03-13 11:20:01 CSDN博客

Java如何打印Hbase rowkey

步骤1: 设置HBase环境与连接确保已经正确配置了HBase的客户端依赖(如hbase-client、hbase-common等),并设置了HBase的ZooKeeper地址。以下是一个简化的示例,假设您已经有了一个配置好的Configuration对象(conf)和表名(tableName):import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.TableName;import org.apache.hadoop.hbase.client.Connection;import org.apache.hadoop.hbase.client.ConnectionFactory;// 创建...阅读全文

博文 2024-05-12 12:49:11 zhidiantech

MyBatis实战指南(一):从概念到特点,助你快速上手,提升开发效率!

>MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的过程。 大家好,今天我们要来聊聊一个在Java开发中非常实用的框架——MyBatis。你是否曾经因为数据库操作而感到困扰?是否曾经因为SQL语句的编写而烦恼?那么,MyBatis或许就是你的救星。 接下来,让我们一起来了解一下MyBatis的概念与特点吧! ## 一、MyBatis基本概念 - MyBatis 是一款优秀的半自动的ORM持久层框架,它支持自定义 SQL、存储过程以及高级映射。 - MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 - MyBatis 可以通过简单的 XML 或注解来配置和映射原...阅读全文

博文 2024-01-08 15:23:26 YDYXCODE

Java并发编程指南15:Fork/join并发框架与工作窃取算法剖析

创文章,转载请注明: 转载自并发编程网 – ifeve.com 1. 什么是Fork/Join框架 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。 我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结果。比如计算1+2+。。+10000,可以分割成10个子任务,每个子任务分别对1000个数进行求和,最终汇总这10个子任务的结果。Fork/Join的运行流程图如下: 2. 工作窃取算法 工作窃取(work-stealing)算法是指某个线程从其他队列里窃取任务来...阅读全文

博文 2023-12-01 10:42:03 阿里云开发者社区

DeepSeek+SpringAI实战AI家庭医生应用

获课:789it.top/14037/在当今快速发展的技术世界中,人工智能(AI)已经成为推动创新和效率的关键力量。Spring AI 结合 DeepSeek 的强大功能,为开发者提供了一个简单而强大的平台来构建和部署 AI 应用。本文将引导你如何使用 Spring AI 和 DeepSeek 轻松打造你的第一个 AI 应用。1. 环境准备首先,确保你的开发环境已经安装了以下工具:Java Development Kit (JDK): Spring AI 是基于 Java 的,所以需要 JDK 8 或更高版本。Maven 或 Gradle: 用于项目依赖管理和构建。IDE: 如 IntelliJ IDEA 或 Eclipse,用于代码编写和调试。2. 创建 Spring Boot 项目使用 ...阅读全文

博文 2025-03-08 09:53:41 lkjh

maven-shade

[TOC] 一、 缘起编写java agent插件的时候,用到javassist修改字节码,插件用来记录调用链的,需要在方法的前后插入代码。突发奇想,用来看看javassist是怎么调用的,结果达不到预期效果,因为java agent中,javassist的代码已经加载过了,没插入记录调用链的代码,刚好看到guava中有介绍用maven-shade-plugin将guava repackage重命名包名,因此记录下。 二、maven-shade-plugin介绍maven-shade-plugin是一个maven打包插件,提供的功能比较丰富,使用也简单易懂。 1、简单打包简单打包只需要增加execution, 指定执行package的phase,为这个phase绑定global shade就...阅读全文

博文 2024-01-25 20:15:46 plugin介绍 | ZhengRun's Blog

tron波场区块链智能合约交互入门到精通(基于6.x.x版本)

tron波场区块链智能合约交互入门到精通(基于6.x.x版本) 波场TRON以推动互联网去中心化为己任,致力于为去中心化互联网搭建基础设施。旗下的波场TRON协议是基于区块链的去中心化应用操作系统协议之一。 为协议上的去中心化应用运行提供高吞吐,高扩展,高可靠性的底层公链支持。 有限的高计算性能节点被用户选为网络维护节点。 波场的目标是通过提供一个去中心化的平台来改善互联网的体验,包括数字内容分发、娱乐和社交媒体等领域。它使用了自己的加密货币TRX(TRONix)来支持其生态系统。 波场项目的核心是其区块链技术,这使得开发者可以构建去中心化的应用程序(DApps)和智能合同,而不依赖于传统的中心化互联网架构。波场还采用了代表性的DPoS(DelegatedProof of stake)共识机...阅读全文

博文 2024-08-12 16:59:04 woaidaqipaiqiu1122

Linux新手村必备!这些常用操作命令你掌握了吗?

在计算机的世界里,Linux操作系统以其强大的功能和灵活性受到了广大程序员和IT爱好者的喜爱。然而,对于初学者来说,Linux的操作命令可能会显得有些复杂和难以理解。 今天,我们就来一起探索一些Linux常用操作命令,让你的计算机操作更加流畅。 ### 一、目录操作 首先带大家了解一下Linux 系统目录: ``` ├── bin -> usr/bin # 用于存放二进制命令 ├── boot # 内核及引导系统程序所在的目录 ├── dev # 所有设备文件的目录(如磁盘、光驱等) ├── etc # 配置文件默认路径、服务启动命令存放目录 ├── home # 用户家目录,root用户为/root ├── lib -> usr/lib # 32位库文件存放目录 ├── lib64 -> ...阅读全文

博文 2024-01-25 15:09:28 YDYXCODE

阿里 P7二面:Redis 执行 Lua,到底能不能保证原子性?

你好,我是猿java。 Redis 和 Lua,两个看似风流马不相及的技术点,为何能产生“爱”的火花,成为工作开发中的黄金搭档?技术面试中更是高频出现,Redis 执行 Lua 到底能不能保证原子性?今天就来聊一聊。 要想弄清楚这个问题,需要对“原子性”这个概念有一个清晰的认识,因此,首先要分析的是原子性的概念。 一、原子性通常意义的原子性通常意义上,我们说的原子性是指关系型数据库 RDBMS(比如 MySQL)的原子性,也就是 ACID(Atomicity、Consistency、Isolation、Durability)中 Atomicity这一项特性。 ACID 中的原子性指:事务中的所有操作要么全部执行,要么全部不执行。 这里以银行转账,账户A 给账户B 转账100元为例来解释原子性...阅读全文

博文 2024-08-22 17:32:15 猿java

Java可视化UML工作流系统(Activiti7+SpringBoot)

下载地址:百度网盘章节目录:第1章 清晰的学习目标,让学习更轻松首先项目演示了解项目整体情况,便于小伙伴通过本课程学习,能够最终做出的怎样的项目效果。同时,明确学习activiti工作流对今后工作的重要性,确立学习目标。1-1 玩转黑马项目,“技术+业务”能力齐飞试看第2章 开发前准备:环境搭建篇【选修】所谓“君欲善其事,必先利其器”,因此本章带着小伙伴们将课程所需环境一一构建起来,小伙伴们可以结合自己情况,有选择有重点的去学习。注意:MySQL安装时讲解了如何开启远程访问、设置电脑防火墙;Maven国内镜像仓库修改等。...2-1 JDK安装2-2 Maven安装2-3 MySQL安装2-4 SpringBoot项目创建2-5 BPMN插件第3章 项目从git下载与打包部署很多小伙伴在别的...阅读全文

博文 2020-08-19 10:20:30 jmterorh

6种常用Bean拷贝工具一览|Java 刷题打卡

本文正在参加「Java主题月 - Java 刷题打卡」,详情查看 活动链接 在我们日常的工作中,经常需要做对象的拷贝或转化,例如在传递参数时,把入参的DTO转化为PO存入数据库,在返回前端时把PO再转化为VO。如果再分的细一点,可能还会有DO(Domain Object),TO(Transfer Object) ,BO(business object)等对象,随着业务的划分越来越细,对象的拷贝工作也越来越频繁,所以本文就来梳理一下常用的对象拷贝工具和它们的差异。 常用的工具大概有以下几种: Apache BeanUtils Spring BeanUtils cglib BeanCopier Hutool BeanUtil Mapstruct Dozer 准备工作,创建两个类PO和DTO: @...阅读全文

博文 2024-03-29 14:40:30 掘金

图灵-Java互联网架构师六期|视频+资料

获课: 97java. xyz/ 4860/ 探索图灵 - Java 互联网架构师六期:视频 + 资料的学习盛宴 在数字化时代,Java 作为软件开发领域的核心语言,其地位举足轻重。对于有志于在互联网技术领域深耕,成长为专业架构师的开发者来说,优质的学习资源和系统的培训至关重要。图灵 - Java 互联网架构师六期课程,融合了丰富的视频教程与完备的学习资料,为学习者提供了一个高效、全面的成长平台,开启通往 Java 互联网架构师的进阶之路。 一、课程内容:深度与广度兼具 图灵 - Java 互联网架构师六期课程涵盖了从 Java 基础到高级架构设计的全方位知识体系。视频教程由浅入深,首先对 Java 核心基础语法进行巩固和拓展,确保学习者拥有扎实的底层基础。随后深入到多线程编程、高并发处理、...阅读全文

说说 Spring 表达式语言(SpEL)中的各种表达式类型

1 文本表达式 文本表达式支持字符串、 日期 、 数字(正数 、 实数及十六进制数) 、 布尔类型及 null。其中的字符表达式可使用单引号来表示,形如:'Deniro'。如果表达式中包含单引号或者双引号字符,那么可以使用转义字符 /。 ExpressionParser parser = new SpelExpressionParser(); //字符串解析 String str = (String) parser.parseExpression("'你好'").getValue(); System.out.println(str); //整型解析 int intVal = (Integer) parser.parseExpression("0x2F").getValue(); System...阅读全文

博文 2024-02-23 16:15:35 掘金