新都在

新都在

开发

Java中使用ProtoBuf数据

Java中使用ProtoBuf数据

本文介绍了在Java中使用ProtoBuf对数据进行操作的步骤。首先是安装Protobuf环境,然后编写protobuf文件定义数据格式,并根据该文件生成Java文件。接着介绍了Maven配置相关依赖,以及操作Protobuf数据的方法。通过示例代码展示了如何生成pb数据、获取pb数据并转换为json字符串,以及如何编辑headers数据。最后提供了完整的Java类代码示例以供参考。整个过程涉及到安装、定义、生成、操作等多个步骤,通过这些步骤可以在Java中方便地使用ProtoBuf对数据进行处理。
29
0
0
2023-02-02
实现Java加密,Python解密的非对称RSA功能

实现Java加密,Python解密的非对称RSA功能

本文介绍了如何实现Java端进行加密,Python端进行解密的非对称RSA功能。在Java端使用的是RSA/ECB/OAEPWithSHA-256AndMGF1Padding算法对数据进行加密,而Python端使用RSA算法对加密数据进行解密。在Java端需要注意数据长度限制以及公钥格式是DER的问题,而在Python端需要注意Base64格式转换和换行符的处理。通过该功能可以实现跨语言的数据加解密操作,提供了Java和Python端的代码示例。详细代码请查看作者Github。
62
0
0
2023-02-02
(进阶版)SpringBoot实现多线程并发动态执行计划任务

(进阶版)SpringBoot实现多线程并发动态执行计划任务

本文为进阶版,重新实现了SpringBoot中多线程并发动态执行计划任务的方法。通过ScheduledTask类实现动态刷新和并发执行功能,将任务从数据库中获取并更新到任务列表中。使用LogTask对象存储任务信息,通过refresh()方法实现任务的刷新和更新。读者可在项目中实现从数据库获取任务对象集合的方法,并调用refresh()方法来实现任务的动态更新和并发执行。整体实现更加灵活,解决了数据库变更导致计划任务未刷新的问题,同时支持多线程并发执行任务。
41
0
0
2023-02-02
基于High-level-rest-client使用JavaAPI完成对Elasticsearch的聚合查询

基于High-level-rest-client使用JavaAPI完成对Elasticsearch的聚合查询

本文介绍了如何使用High-level-rest-client和JavaAPI完成对Elasticsearch的聚合查询。作者指出在5.x版本后,官方不太支持使用transportClient进行查询,而且由于实际环境涉及到加密,无法使用transportClient方式进行查询,因此选择了High-level-rest-client方式。文章详细介绍了pom.xml文件中需要引入的相关jar包,以及配置ElasticsearchConfig和ElasticsearchService类来实现对Elasticsearch的聚合查询。ElasticsearchService类中包含了在指定时间范围内查询关键字对应值的功能,通过High-level-rest-client创建client,构建查询条件,并处理查询结果。整体介绍了如何使用JavaAPI和High-level-rest-client完成对Elasticsearch的聚合查询。
37
0
0
2023-02-02
Java 中的四种排序算法

Java 中的四种排序算法

本文介绍了 Java 中的四种排序算法,包括冒泡排序、插入排序、选择排序和快速排序。通过示例代码展示了每种排序算法的实现原理和具体步骤,帮助读者了解不同排序算法的实现方式和应用场景。同时,通过比较运行时间可以看出不同排序算法的效率和性能差异,为读者提供了选择合适排序算法的参考。通过学习这些排序算法,读者可以更好地理解和掌握 Java 编程中常用的排序技巧和方法。
23
0
0
2023-02-02
Springboot项目平滑关闭及自动化关闭脚本

Springboot项目平滑关闭及自动化关闭脚本

本文介绍了如何在Spring Boot项目中实现平滑关闭,并提供了自动化关闭脚本的使用方法。核心代码包括GracefulShutdown.java和Shutdown.java,其中GracefulShutdown类实现了Tomcat的定制化关闭操作,而Shutdown类则是在GracefulShutdown的基础上进行定制化关闭操作流程。另外,还提供了ApplicationStarterRunner.java、CommonInfo.java和HttpCommonUtil.java等辅助类来实现服务启动后的进程号设置和获取当前服务的PID等功能。最后,还给出了配置文件application.properties的相关内容和使用步骤。对于关闭操作流程的定制化,只需在Shutdown.java中的shutdown方法中编写相应的关闭操作即可。同时,也详细介绍了如何使用提供的自动化关闭脚本,包括下载、上传、配置环境变量和执行脚本的步骤,方便用户快速、方便地关闭服务。
26
0
0
2023-02-02
基于Springboot构建ES的多客户端

基于Springboot构建ES的多客户端

本文介绍了如何基于Springboot构建ES的多客户端,通过在配置文件中设置不同的ES信息,然后在ElasticsearchConfig.java中定义了RestClient和RestHighLevelClient,通过注入的方式在需要使用的地方调用不同的客户端实现对不同ES服务器的操作。同时给出了pom.xml的依赖配置和ElasticsearchRestClient.java的具体实现代码。通过这种方式,可以实现在同一项目中操作不同的ES服务器,满足特殊需求。
25
0
0
2023-02-02
Java获取指定topic每个分区的当前偏移量

Java获取指定topic每个分区的当前偏移量

本文介绍了如何使用Java获取指定topic每个分区的当前偏移量。首先通过在pom.xml中引入spring-kafka的依赖,然后在properties文件中配置消费者信息。接着通过编写KafkaUtil工具类中的方法,可以获取指定topic下每个分区的偏移量信息。最后,在主程序中传入需要获取偏移量的topic集合和配置信息,调用KafkaUtil方法即可实现获取每个分区的当前偏移量。同时,作者提供了properties文件自动注入的方式加载配置信息。
23
0
0
2023-02-02
Java面试题

Java面试题

以下是近期遇到的一些面试题,欢迎push答案 1. java的8中基本类型 int short long byte boolean float double char 2. java中的异步机制 3. java中的可重入锁 可重入锁:指的是以线程为单位,当一个线程获取对象锁之后,这个线程可以再次获取
27
0
0
2023-02-02
Dom4j 解析soap格式的xml数据

Dom4j 解析soap格式的xml数据

本文介绍了利用Dom4j库解析soap格式的xml数据的方法,目前只实现了3层结构的xml数据解析,支持标准格式、嵌套数组、嵌套对象、数组嵌套对象、对象嵌套数组等数据格式的解析处理。通过实现的`SoapXmlFormatUtil`类,可以将xml数据解析成JSONObject对象,并通过测试数据验证了解析结果的准确性。最后,通过执行速度测试表明,在处理5万条xml数据的解析过程中,平均解析速度为4166条/s,具有较高的解析效率。
25
0
0
2023-02-02