Java
word转pdf,并加水印
Word转PDF 引入jar包 <!-- poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>
让Android Studo 不编译某个Java文件
有时为了调试,让某些文件暂时不需编译,这样可以排除错误带来的无法运行情况, 可以在build.gradle中加入:excludes = ['com.coolweather.myble/AddrInterceptor.java'],如下 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 target
使用 IDEA 远程 Debug 调试,太实用了!
背景 有时候我们需要进行远程的debug,本文研究如何进行远程debug,以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 配置 远程debug的服务,以springboot微服务为例(springcloud的应该差不多,我没研究过)。首先,启动springboot需要加上特定的参数。 推荐一个开源免费的 Spring Boot 实战项目: https://gith
掌握JDK21全新结构化并发编程,轻松提升开发效率!
1 概要 通过引入结构化并发编程的API,简化并发编程。结构化并发将在不同线程中运行的相关任务组视为单个工作单元,从而简化错误处理和取消操作,提高可靠性,并增强可观察性。这是一个预览版的API。 2 历史 结构化并发是由JEP 428提出的,并在JDK 19中作为孵化API发布。它在JDK 20中被JEP 437重新孵化,通过对作用域值(JEP 429)进行轻微更新。 我们在这里提议将结构化并发作
一张图读懂TuGraph Analytics开源技术架构
TuGraph Analytics(内部项目名GeaFlow)是蚂蚁集团开源的分布式实时图计算引擎,即流式图计算。通过SQL+GQL融合分析语言对表模型和图模型进行统一处理,实现了流、批、图一体化计算,并支持了Exactly Once语义、高可用以及一站式图研发平台等生产化能力。 开源项目代码目前托管在GitHub,欢迎业界同仁、大数据/图计算技术爱好者关注我们的项目并参与共建。 项目地址:htt
10个有用的css编辑网站
10个有用的css编辑网站1、Neumorphism 2、Shadows Brumm 官方网站:https://shadows.brumm.af/ 可以生成多个分层阴影,提供非常酷的效果,你也可以自定义颜色。 3、CSS Clip-path Maker 4、Fancy Border Shape Generator &n
java实现大文件上传技术
1,项目调研 因为需要研究下断点上传的问题。找了很久终于找到一个比较好的项目。 在GoogleCode上面,代码弄下来超级不方便,还是配置hosts才好,把代码重新上传到了github上面。 https://github.com/freewebsys/java-large-file-uploader-demo 效果: 上传中,
IDEA的安装及使用
下载 下载社区版即可 [官网](https://www.jetbrains.com/products/#lang=java) 电脑应用商店 使用 点击New project 根据需要勾选 在src文件夹右键并为文件命名 快捷方式 psvm即public static void main(String[] args) sout即System.out.println(); 对IDE
Java中怎么进行原子操作?
在 Java 中进行原子操作,特别是替换某个属性,你可以使用 AtomicReference 类来实现。AtomicReference 可以保证对对象引用的原子更新操作。以下是一个示例,展示如何使用 AtomicReference 来进行原子替换操作: 在这个例子中,我们使用 AtomicReference 对象 personAtomicReference 来持有一个 Person 对象的引用。
安卓中如何使用AsyncTask完成异步定时任务?
在 Android 中,可以使用 AsyncTask 类来实现异步定时任务。下面是一个简单的例子,演示如何使用 AsyncTask 实现异步定时任务: 在这个例子中,MyAsyncTask 继承自 AsyncTask,通过 doInBackground 方法在后台线程执行定时任务。onProgressUpdate 方法用于更新UI,显示定时任务的进度。onPostExecute 方法在定时任务完
spring-boot-starter
spring boot在配置上相比spring要简单很多,其核心在于spring-boot-starter,在使用spring boot来搭建一个项目时,只需要引入官方提供的starter,就可以直接使用,免去了各种配置。 starter简单来讲就是引入了一些相关依赖和一些初始化的配置 命名规范: 官方的starter: spring-boot-starter-xxx 例如:spring-
java实现大文件上传方案
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所有浏览器。 支持文件批量上传 支持文件夹上传,且要求在服务端保留层级结构。文件夹数量要求支持到10W。 支持大文件断点续传,要求刷新浏览器,重启浏览器,重启电脑后仍然能够继续上传。文件
分库分表之拆分键设计
众所周知,在现实世界中,每一个资源都有其提供能力的最大上限,当单一资源达到最大上限后就得让多个资源同时提供其能力来满足使用方的需求。同理,在计算机世界中,单一数据库资源不能满足使用需求时,我们也会考虑使用多个数据库同时提供服务来满足需求。当使用了多个数据库来提供服务时,最为关键的点是如何让每一个数据库比较均匀的承担压力,而不至于其中的某些数据库压力过大,某些数据库没什么压力。这其中的关键点之一就是
记录一次日期类型字段的非空插入
1.情景展示 在实际开发过程中,经常会要与时间打交道。 有时候,日期类型字段在插入时间的时候需要非空。 如何进行妥善处理? 以oracle数据库进行举例说明。 2.具体分析 对日期类型的非空处理,有三种解决方式。 3.解决方案 方式一:为字段添加默认时间 第一步:为该字段添加默认系统时间; 第二步:将该字段设为非空(必须设置成为非空,否则默认值不生效)。 <insert id="ins
防抖策略(java)
业务防抖(多次触发 只执行最后一次): 当事件被触发后,延迟n秒再执行回调,如果n秒内,事件又被触发,则重新计时。 作用 高频率触发的事件,在指定时间内,只响应最后一次,如果在指定时间内再次触发,则重新计算时间。 应用场景 登陆、发短信等避免用户点击太快 导致请求过多 在客户端网络慢或者服务器响应慢时,用户有时是会频繁刷新页面或重复提交表单的,这样是会给服务器造成不小的负担的,同时在添加数据时有
java应用接口自动化覆盖率统计实践
一、背景 Java应用接口自动化覆盖率统计的意义在于: 确保测试覆盖率:通过自动化覆盖率统计,可以确保测试用例对应用程序的各个接口进行了全面的覆盖。这有助于发现潜在的代码错误、逻辑漏洞或者未处理的异常情况。 提高代码质量:通过自动化覆盖率统计,可以发现代码中未被测试到的部分,从而及时修复或编写相应的测试用例。这有助于提高代码的质量、可维护性和可靠性。 降低风险:自动化覆盖率统计可以帮助
Java Instrument 示例
Agent项目 AtmTransformer.java MyInstrumentationAgent.java MANIFEST.MF pom.xml agent依赖打包后,就可以注入了 控制程序 AgentLoader.java Launcher.java MyAtm.java MyAtmApplication.java pom.xml 启动类在Lancher,注意穿进去的参数
快速排序,冒泡排序与选择排序
冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气
java-sdk接口测试覆盖率统计实践
一、背景 接口覆盖率统计在Java SDK开发中具有重要的意义。它衡量了代码中接口被测试用例覆盖的程度,即测试用例对接口的执行情况进行了多少次验证。 接口覆盖率统计的意义包括: 质量保证:接口覆盖率统计可以帮助开发团队评估测试的全面性和质量,确保代码的正确性和稳定性。高覆盖率意味着更多的代码路径被测试覆盖,从而减少潜在的错误和缺陷。 代码可读性:接口覆盖率统计可以作为代码质量指标之一,鼓励
allowedOrigins cannot contain the special value "*"
Spring Boot的版本高于 2.4以后 ,原来的配置已经不适合目前的版本 将代码中的allowedOrigins改为allowedOriginPatterns 修改后
我是如何使用Spring Retry减少1000 行代码
本文翻译自国外论坛 medium,原文地址:https://levelup.gitconnected.com/how-i-deleted-more-than-1000-lines-of-code-using-spring-retry-9118de29060 使用 Spring Retry 重构代码的综合指南。 问题介绍 在我的日常工作中,我主要负责开发一个庞大的金融应用程序。当客户发送请求时,
Java使用FTPClient实现在ftp服务器中创建多级目录并上传文件(XTHS实测可行)
引入依赖 <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.7</version> </dependency> 要实现需求总共分为三步:
YC2023:英才专题测试-数据结构1 题解
<script type="text/javascript" src="http://c328740.r40.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> ### 题目颜色为洛谷难度 # [$color{#F39C11}{A}$](https://vjud
20230619 java.util.stream.Collectors
介绍 java.util.stream.Collectors public final class Collectors API static 生成集合 toCollection toList toUnmodifiableList toSet toUnmodifiableSet 生成 Map toMap toUnmodifiableMap toConcurrentMap 生成字符串
20230619 java.util.stream.IntStream
介绍 java.util.stream.IntStream public interface IntStream extends BaseStream<Integer, IntStream> 基本类型流,其他两个是 LongStream , DoubleStream 流中的值是原始类型 int API 中只展示不同于 Stream 中的方法,相同的方法不展示 大部
Vue3 响应式全局对象json 动态绑定界面五 ( v-for 和 v-if 的应用)
效果图 man.js 定义 响应式全局对象 globalData 定义一个没有具体参数的json象 extTelTalkData: [], 这么写的好处是 事先不写具体参数,赋值时实例就行。 我是用websocket 收到消息 并赋值的,当然也可以用其它方式赋值。 //全局对象 const globalData=
20230618 java.util.concurrent.CompletableFuture
介绍 java.util.concurrent.CompletableFuture public class CompletableFuture<T> implements Future<T>, CompletionStage<T> API static supplyAsync <U> CompletableFuture<U> s