高效数据传输:Java通过绑定快速将数据导出至Excel
摘要:本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。
前言
把数据导出至 Excel 是很常见的需求,而数据的持久化,往往又放在数据库中。因此把数据库中的数据导出到 Excel中,成了非常普遍的一个需求。...[2023/10/9]
入门篇-其之四-字符串String的简单使用
什么是字符串?
在Java编程语言中,字符串用于表示文本数据。
字符串(String)属于引用数据类型,根据String的源码,其头部使用cla 进行修饰,属于类,即引用数据类型。
字符串的表示
字符串使用双引号""表示,在双引号中你可以写任意字符。
和前面定义并初始化基本数据类型的变...[2023/9/25]
Java SE 21 新增特性Java SE 21 新增特性
Java SE 21 新增特性
作者:Grey
原文地址:
博客园:Java SE 21 新增特性
CSDN:Java SE 21 新增特性
源码
源仓库: Github:java_new_features
镜像仓库: GitCode:java_new_features
Record ...[2023/9/25]
两个例子带你入门 Disruptor
Disruptor 是英国外汇交易公司 LMAX 开发的一个高性能队列。很多知名开源项目里,比如 canal 、log4j2、 storm 都是用了 Disruptor 以提升系统性能 。
这篇文章,我们通过两个例子一步一个脚印帮助同学们入门 Disruptor 。
1 环形缓冲区
下图展示...[2023/9/20]
JDK21来了!附重要更新说明
JDK21 计划23年9月19日正式发布,虽然一直以来都是“版本随便出,换 8 算我输”,但这么多年这么多版本的折腾,如果说之前的 LTS版本JDK17你还觉得不香,那 JDK21还是有必要关注一下,因为会有一批重要更新发布到生产环境中,特别是千呼万唤的虚拟线程,虽然说这东西我感觉不需要的用不...[2023/9/19]
Dubbo3应用开发——架构的演变过程
Dubbo3应用开发——架构的演变过程
什么是Dubbo
早期Dubbo的定位;
基于Java的高性能,轻量级的RPC框架;SOA【Service-Oriented Architecture ?向服务的架构】 = RPC+服务治理;
2018年阿?巴巴把这个框架捐献给了 Apache...[2023/9/19]
支持JDK19虚拟线程的web框架,之四:看源码,了解quarkus如何支持虚拟线程
欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https: github.com/zq2599/blog_demos
本篇概览
本篇是《支持JDK19虚拟线程的web框架》系列的第四篇,主要内容是阅读quarkus源码,开阔眼界,了解框架级别的软件是如何使用虚拟线...[2023/9/19]
java中有哪些并发的List?只知道一种的就太逊了java中有哪些并发的List?只知道一种的就太逊了
java中有很多list,但是原生支持并发的并不多,我们在多线程的环境中如果想同时操作同一个list的时候,就涉及到了一个并发的过程,这时候我们就需要选择自带有并发属性的list,那么java中的并发list到底有哪些呢?今天要给大家介绍的是ArrayList、CopyOnWriteArrayL...[2023/9/15]
基于Protege的知识建模实战
一.Protege简介、用途和特点
1.Protege简介
Protege是斯坦福大学医学院生物信息研究中心基于Java开发的本体编辑和本体开发工具,也是基于知识的编辑器,属于开放源代码软件。这个软件主要用于语义网中本体的构建,是语义网中本体构建的核心开发工具,下面操作使用版本为5.5.0。...[2023/9/14]
Java实现常见查找算法
Java实现常见查找算法
查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。
线性查找
线性查找(Linear Search)是一种简单的查找算法,用于在数据集中逐一比较每个元素,直到找到目标元素或搜索完整个数据集。它适用于任何类型的...[2023/9/13]
Jenkins 忘记密码|密码重置
I. 当前环境
OS Version : AlmaLinux release 8.8
Jenkins Version : 2.414.1
II. 操作步骤
2.1 修改配置文件
1. SSH 登录服务器后台,修改以下配置文件
vim /var/lib/jenk...[2023/9/13]
ECMAScript13 中11个令人惊叹的 JavaScript 新特性
前言
与许多其他编程语言一样,JavaScript 也在不断发展。每年,该语言都会通过新功能变得更加强大,使开发人员能够编写更具表现力和简洁的代码。 小编今天就为大家介绍ES13中添加的最新功能,并查看其用法示例以更好地理解它们。
1.类
在ES13之前,类字段只能在构造函数中声明。与许多...[2023/9/13]
你准备好了吗,9月19日Java21要来了
前言
9月份的TIOBE编程语言榜单已公布,Python依然是第一,Java第四。
而这个月还有一个重要的事情,就是9月19日Java21将会全面发布,一段时间没关注的我一口老血喷在屏幕上。
我记得我写Java17新特性好像还没多久,Java你要不要这么努力。
大家可以看一下...[2023/9/13]
再聊Java Stream的一些实战技能与注意点
大家好,又见面了。
在此前我的文章中,曾分2篇详细探讨了下JAVA中Stream流的相关操作,2篇文章收获了累计 10w+阅读、2k+点赞以及 5k+收藏的记录。能够得到众多小伙伴的认可,是技术分享过程中最开心的事情。
吃透JAVA的Stream流操作,多年实践总结
讲透JAVA Strea...[2023/9/13]
聊聊数据库事务内嵌TCP连接聊聊数据库事务内嵌TCP连接
最近再看项目代码,发现很多的service里面,喜欢在事务内部再去调用HTTP请求,简单分析下此种方式的利弊与解决策略。
概述
在数据库内部嵌套TCP连接(一般是HTTP调用或是RPC远程调用)。
@Transactional(rollbackFor = Exception.cla )
pu...[2023/9/13]
支持JDK19虚拟线程的web框架,之一:体验
欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https: github.com/zq2599/blog_demos
关于虚拟线程
随着JDK19 GA版本的发布,虚拟线程(来自Project Loom)这一特性也闪亮登场,虚拟线程是 JDK 而并非OS 实现的轻...[2023/9/13]
Java开发面试--nacos专区
1、 Nacos是什么? 请简要介绍Nacos是什么以及它的主要功能和用途。
答:
简介:
Nacos是一个开源的、高性能、动态服务发现、配置和服务管理平台,通常用于微服务架构中。Nacos的名称来源于"Naming"(服务发现)、"Configuration"(配置管理)和"Serv...[2023/9/10]
Web攻防--Java_SQL注入--XXE注入-- SSTI模板注入--SPEL表达式注入
预编译
编译器在编译sql语句时,会依次进行词法分析、语法分析、语义分析等操作,
预编译技术会让数据库跳过编译阶段,也就无法就进行词法分析,关键字不会被拆开,注入语句也就不会被识别为SQL的关键字,从而防止恶意注入语句改变原有SQL语句本身逻辑。
Java_JDBC注入
在使用JDBC进行数...[2023/9/10]
Jmeter获取Websocket多帧消息的实现方法
由于需要对WebSocket进行压力测试,因此又回归到了JMeter的使用。网络上缺少具体的获取多帧消息的操作,且自己也踩了两个坑,总结一下可行的操作供大家参考。
一、情况说明
被测试的W...[2023/9/10]
mac安装nvm
系统:macos catalina 版本:10.15.7
一.安装nvm
打开终端执行这个命令 安装的版本是 v0.39.1
curl -o- [https: raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh](https: r...[2023/9/10]
LeetCode297:hard级别中最简单的存在,java版,用时击败98%,内存击败百分之九十九LeetCode297:hard级别中最简单的存在,java版,用时击败98%,内存击败百分之九十九
本篇概览
因为欣宸个人水平有限,在刷题时一直不敢面对hard级别的题目,生怕出现一杯茶一包烟,一道hard做一天的窘境
这种恐惧心理一直在,直到遇见了它:LeetCode297,建议不敢做hard题的新手们速来围观,拿它练手,轻松找到自信
题目简介
二叉树的序列化与反序列化
...[2023/9/9]
Java 中的日期时间总结
前言
大家好,我是 god23bin,在日常开发中,我们经常需要处理日期和时间,日期和时间可以说是一定会用到的,现在总结下 Java 中日期与时间的基本概念与一些常用的用法。
基本概念
日期(年月日,某一天):2023-01-05
时间(时分秒,可具体到某一天某一刻):18:00:0...[2023/9/9]
Java程序员学vue3最好的方式就是搭建后台管理模板Java程序员学vue3最好的方式就是搭建后台管理模板
前言
作为Java程序员,vue3还是有必要学的,毕竟是国内最受欢迎的前端JS框架,你现在接手的项目,前端部分几乎都会和vue沾边,尤其是中小企业。
vue3作为新的大版本,相较于vue2改动还是很多的,目前企业中很多新项目的前端实际上已经是以vue3为主了。
比如我所在的互联网公...[2023/9/9]
Sermant类隔离架构:解决JavaAgent场景类冲突的实践Sermant类隔离架构:解决JavaAgent场景类冲突的实践
本文分享自华为云社区《Sermant类隔离架构解析——解决JavaAgent场景类冲突的实践》,作者:华为云开源。
Sermant是基于Java字节码增强技术的无代理服务网格,其利用Java字节码增强技术为宿主应用程序提供服务治理功能。因深知JavaAgent场景中类冲突问题会造成的影响,Se...[2023/9/9]
BeanUtils.copyProperties:曾经是我的女神,现在是我的毒药。
前言
BeanUtils.copyProperties十有八九是你这些年工作中用的很多的其中一个,不管是Apache的还是Spring的。
网上的解释浩如烟海,我这边用一个超简单的例子直观展示给你看。
以后就记住了,能不用就不用。
正文
1、网上的解释
我收纳了几个网上最典型...[2023/9/6]
前瞻|Java 21 新特性 String Templates(字符串模版)
在日常写Java的时候,对于字符串的操作是非常普遍的,其中最常见的就是对字符串的组织。也因为这个操作非常普遍,所以诞生了很多方案,总下来大概有这么几种:
使用+拼接
使用StringBuffer和SpringBuilder
String::format and String::formatte...[2023/9/6]
ThreadLocal:线程中的全局变量
最近接了一个新需求,业务场景上需要在原有基础上新增2个字段,接口新增参数意味着很多类和方法的逻辑都需要改变,需要先判断是否属于该业务场景,再做对应的逻辑。原本的打算是在入口处新增变量,在操作数据的时候进行逻辑判断将变量进行存储或查询。
如果全链路都变更入参和结构,很明显代码上很不优雅,后续如果...[2023/9/6]
MQTT vs. XMPP,哪一个才是IoT通讯协议的正解
MQTT vs. XMPP,哪一个才是IoT通讯协议的正解
这是个有趣的话题!
先来聊几个小故事。
关于我和MQTT
我在人生第一个IoT项目里,第一次接触到MQTT协议。
我很快就理解了这个协议。因为,它和企业开发用的MQ产品实在是太像了。
在我职业生涯早期,是的,20年前,当时做一...[2023/9/6]
产品代码都给你看了,可别再说不会DDD(五):请求处理流程产品代码都给你看了,可别再说不会DDD(五):请求处理流程
这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云(https: www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。
本系列包含以下文章:
DD...[2023/9/4]
想让你的工作轻松高效吗?揭秘Java + React导出Excel/PDF的绝妙技巧!
前言
在B/S架构中,服务端导出是一种高效的方式。它将导出的逻辑放在服务端,前端仅需发起请求即可。通过在服务端完成导出后,前端再下载文件完成整个导出过程。服务端导出具有许多优点,如数据安全、适用于大规模数据场景以及不受前端性能影响等。
本文将使用前端框架React和服务端框架Spring B...[2023/9/4]
Jenkins 基础配置Jenkins 基础配置
博客地址:https: www.cnblogs.com/zylyehuo/
参考链接
解决:Jenkins: signature verification failed in update site ‘default‘ (show details)
jenkins 下一切皆文件
...[2023/9/1]
如何获取和分析Java堆信息
引言
在Java应用程序的开发和维护过程中,了解和分析Java堆信息是一项重要的任务。本文将介绍如何获取Java堆信息的不同方法,并提供一些分析堆信息的实用技巧。
获取Java堆信息的方法
Java虚拟机(JVM)工具:
使用jcmd命令:在命令行中运行jcmd <pid> ...[2023/8/30]
java实现的类似于sql join操作的工具类,通用递归,最低需要java8
直接上代码,缺包的自行替换为自己项目中存在的
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.ut...[2023/8/29]
一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。
问题现象
7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存。看了下其它服务,同样...[2023/8/29]
园子的脱困努力-云厂商合作:领取阿里云免费ECS试用资源,部署Java Web环境,送小礼品 团队园子的脱困努力-云厂商合作:领取阿里云免费ECS试用资源,部署Java Web环境,送小礼品 团队
在园子脱困的关键时期,每一笔收入都很重要,一边在会员救园,一边我们要努力把握每一个商务合作机会,争取早日走出困境。
之前园子维持生存的收入主要来自于与云厂商的合作,但去年由于云厂商推广策略的调整,这块收入几乎没有了。
当我们对这块收入不报任何希望时,这个月开始,有些云厂商又回来找园子合作了,...[2023/8/29]
【Java监控】使用SkyWalking监控Java服务
你的Java服务是如何监控的呢?
1.Null:监控?什么监控?我一个写代码的服务挂了跟我有什么关系?
2.命令行:服务挂了?内存泄漏?jstat jmap jcmd,还好不是我写的
3.撸代码:Java采集JVM/服务器资源信息 -> Prometheus -&...[2023/8/29]
在Jupyter中使用AI写代码,如有神助,太惊艳了
昨晚看到一个可以在JupyterLab中使用的AI代码辅助工具jupyter-ai,它的交互确实非常棒,可以直接聊天,也可以就笔记中的代码提问,最出彩的是生成笔记功能,还是蛮惊艳的。
这里就极简介绍一下安装及用法
第一步是创建环境并安装
conda create -n jupyter-ai...[2023/8/29]
20天等待,申请终于通过,安装和体验IntelliJ IDEA新UI预览版20天等待,申请终于通过,安装和体验IntelliJ IDEA新UI预览版
欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https: github.com/zq2599/blog_demos
关于IDEA的预览版
IDEA会启用新的UI,这事情之前已经在多位大佬的博客中有提到了,当时我也按照大佬们的文章去递交了试用体验版的申请
...[2023/8/29]
美团面试拷打:ConcurrentHashMap 为何不能插入 null?HashMap 为何可以?
周末的时候,有一位小伙伴提了一些关于 ConcurrentHashMap 的问题,都是他最近面试遇到的。原提问如下:
整个提问看着非常复杂,其实归纳来说就是两个问题:
ConcurrentHashMap 为什么 key 和 value 不能为 null?
ConcurrentHashM...[2023/8/29]
Java - ReentrantLock锁分析
Java - JUC核心类AbstractQueuedSynchronizer(AQS)底层实现
一. AQS内部结构介绍
JUC是Java中一个包 java.util.concurrent 。在这个包下,基本存放了Ja...[2023/8/29]
使用Java来开发物联网应用使用Java来开发物联网应用
这是Hello, Lithosphere Tutorials系列教程中的其中一篇。
感觉介绍用C/C++,用Python来开发物联网应用的文章比较多,用Java来做物联网的文章比较少。
这篇文章,介绍如何使用Java技术来开发一个物联网的简单例子。我们从手机App上,遥控硬件板上的LED灯亮...[2023/8/21]
面霸的自我修养:synchronized专题面霸的自我修养:synchronized专题
王有志,一个分享硬核Java技术的互金摸鱼侠
加入Java人的提桶跑路群:共同富裕的Java人
今天是《面霸的自我修养》的第3弹,内容是Java并发编程中至关重要的关键字synchronized,作为面试中的“必考题”,这部分是你必须要充分准备的内容,接下来我们就一起一探究竟吧。
数据...[2023/8/21]
Java应用堆外内存泄露问题排查Java应用堆外内存泄露问题排查
问题是怎么发现的
最近有个java应用在做压力测试
压测环境配置:
CentOS系统 4核CPU 8g内存 jdk1.6.0_25,jvm配置-server -Xms2048m -Xmx2048m
出现问题如下
执行300并发,压测持续1个小时后内存使用率从20%上升到100%,tps从...[2023/8/18]
Html+JavaScript实现手写签名
前言
Hello各位,本葡萄又来啦,今天遇到的场景是这样的:在日常业务流程中,经常需要某一流程环节中相关责任人员进行审批签字,早期许多公司为了省事就直接会把这位负责人的签名以键盘打字(楷体)的形式打印出来,但是这样的坏处就是会导致所有的负责人的签名都是一样的,没有美感,为了解决这个问题,一些公司...[2023/8/18]
【技术积累】Java里的volatile关键字到底能干嘛?自律即自由-
7.4 最害怕的一集 - volatile
7.4.1 最简单的一集 - volatile 语义 (难度 : ?)
读 -> 读一个 volatile 必须从 主内存读
写 -> 写一个 volatile 会把 本地内存 写到 主内存去
7.4.2 最好理解的一集 ...[2023/8/18]
JDK 17 营销初体验 —— 亚毫秒停顿 ZGC 落地实践
前言
自 2014 年发布以来, JDK 8 一直都是相当热门的 JDK 版本。其原因就是对底层数据结构、JVM 性能以及开发体验做了重大升级,得到了开发人员的认可。但距离 JDK 8 发布已经过去了 9 年,那么这 9 年的时间,JDK 做了哪些升级?是否有新的重大特性值得我们尝试?能否解决一...[2023/8/16]
产品代码都给你看了,可别再说不会DDD(一):DDD入门
这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云(https: www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。
本系列包含以下文章:
D...[2023/8/14]
产品代码都给你看了,可别再说不会DDD(二):DDD概念大白话产品代码都给你看了,可别再说不会DDD(二):DDD概念大白话
这是一个讲解DDD落地的文章系列,作者是《实现领域驱动设计》的译者滕云。本文章系列以一个真实的并已成功上线的软件项目——码如云(https: www.mryqr.com)为例,系统性地讲解DDD在落地实施过程中的各种典型实践,以及在面临实际业务场景时的诸多取舍。
本系列包含以下文章:
...[2023/8/14]
Jenkins 配置邮件通知(腾讯企业邮箱)
开通企业邮箱SMTP服务
登录企业微信邮箱,然后打开设置,在里面找到 收发信设置,在开启服务里面将 开启IMAP/SMTP服务 勾选
保存后回到邮箱绑定页签下,将安全设置里的安全登录开关打开
在下面的客户端专用密码中点击生成新密码
点击生成新密码后会...[2023/8/14]
Java不能操作内存?Unsafe了解一下
前言
C++可以动态的分类内存(但是得主动释放内存,避免内存泄漏),而java并不能这样,java的内存分配和垃圾回收统一由JVM管理,是不是java就不能操作内存呢?当然有其他办法可以操作内存,接下来有请Unsafe出场,我们一起看看Unsafe是如何花式操作内存的。
Unsafe介绍
Un...[2023/8/11]