实现Java加密,Python解密的非对称RSA功能
本文介绍了如何实现Java端进行加密,Python端进行解密的非对称RSA功能。在Java端使用的是RSA/ECB/OAEPWithSHA-256AndMGF1Padding算法对数据进行加密,而Python端使用RSA算法对加密数据进行解密。在Java端需要注意数据长度限制以及公钥格式是DER的问题,而在Python端需要注意Base64格式转换和换行符的处理。通过该功能可以实现跨语言的数据加解密操作,提供了Java和Python端的代码示例。详细代码请查看作者Github。
(进阶版)SpringBoot实现多线程并发动态执行计划任务
本文为进阶版,重新实现了SpringBoot中多线程并发动态执行计划任务的方法。通过ScheduledTask类实现动态刷新和并发执行功能,将任务从数据库中获取并更新到任务列表中。使用LogTask对象存储任务信息,通过refresh()方法实现任务的刷新和更新。读者可在项目中实现从数据库获取任务对象集合的方法,并调用refresh()方法来实现任务的动态更新和并发执行。整体实现更加灵活,解决了数据库变更导致计划任务未刷新的问题,同时支持多线程并发执行任务。
基于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的聚合查询。
Java 中的四种排序算法
本文介绍了 Java 中的四种排序算法,包括冒泡排序、插入排序、选择排序和快速排序。通过示例代码展示了每种排序算法的实现原理和具体步骤,帮助读者了解不同排序算法的实现方式和应用场景。同时,通过比较运行时间可以看出不同排序算法的效率和性能差异,为读者提供了选择合适排序算法的参考。通过学习这些排序算法,读者可以更好地理解和掌握 Java 编程中常用的排序技巧和方法。
Springboot项目平滑关闭及自动化关闭脚本
本文介绍了如何在Spring Boot项目中实现平滑关闭,并提供了自动化关闭脚本的使用方法。核心代码包括GracefulShutdown.java和Shutdown.java,其中GracefulShutdown类实现了Tomcat的定制化关闭操作,而Shutdown类则是在GracefulShutdown的基础上进行定制化关闭操作流程。另外,还提供了ApplicationStarterRunner.java、CommonInfo.java和HttpCommonUtil.java等辅助类来实现服务启动后的进程号设置和获取当前服务的PID等功能。最后,还给出了配置文件application.properties的相关内容和使用步骤。对于关闭操作流程的定制化,只需在Shutdown.java中的shutdown方法中编写相应的关闭操作即可。同时,也详细介绍了如何使用提供的自动化关闭脚本,包括下载、上传、配置环境变量和执行脚本的步骤,方便用户快速、方便地关闭服务。
基于Springboot构建ES的多客户端
本文介绍了如何基于Springboot构建ES的多客户端,通过在配置文件中设置不同的ES信息,然后在ElasticsearchConfig.java中定义了RestClient和RestHighLevelClient,通过注入的方式在需要使用的地方调用不同的客户端实现对不同ES服务器的操作。同时给出了pom.xml的依赖配置和ElasticsearchRestClient.java的具体实现代码。通过这种方式,可以实现在同一项目中操作不同的ES服务器,满足特殊需求。
Java获取指定topic每个分区的当前偏移量
本文介绍了如何使用Java获取指定topic每个分区的当前偏移量。首先通过在pom.xml中引入spring-kafka的依赖,然后在properties文件中配置消费者信息。接着通过编写KafkaUtil工具类中的方法,可以获取指定topic下每个分区的偏移量信息。最后,在主程序中传入需要获取偏移量的topic集合和配置信息,调用KafkaUtil方法即可实现获取每个分区的当前偏移量。同时,作者提供了properties文件自动注入的方式加载配置信息。
Java面试题
Dom4j 解析soap格式的xml数据
本文介绍了利用Dom4j库解析soap格式的xml数据的方法,目前只实现了3层结构的xml数据解析,支持标准格式、嵌套数组、嵌套对象、数组嵌套对象、对象嵌套数组等数据格式的解析处理。通过实现的`SoapXmlFormatUtil`类,可以将xml数据解析成JSONObject对象,并通过测试数据验证了解析结果的准确性。最后,通过执行速度测试表明,在处理5万条xml数据的解析过程中,平均解析速度为4166条/s,具有较高的解析效率。
多topic注入kafka消费者
本文介绍了在Kafka消费者中注入多个topic的两种方式。第一种方式是通过EL表达式在`@KafkaListener`注解中直接加载多个topic,通过`application.properties`配置文件指定topic列表。第二种方式是通过解析数据生成对象进行注入,通过自定义`KafkaListenerConfig`类实现`BeanDefinitionRegistryPostProcessor`接口,在该类中读取配置文件中的topic列表,并注册成Bean,然后在消费对象`KafkaListenerReceiver`中使用`@KafkaListener`注解加载多个topic。通过这两种方式,实现了在Kafka消费者中注入多个topic的灵活性和可扩展性。
1 6 7 8 11

本站由 新·都在 使用 Stellar 创建。