
java
KillFuckBugs
无善无恶是心之体,有善有恶是意之动,知善知恶是良知,为善去恶是格物。微信公众号:小猿随想 搜【abcxiaozhangzatan】
展开
-
java List<Map<String, Object>> 根据某个字段获取集合
【代码】java List<Map<String, Object>> 根据某个字段获取集合。原创 2025-02-27 11:50:21 · 125 阅读 · 0 评论 -
CompletableFuture Java 8 异步编程工具
【代码】CompletableFuture Java 8 异步编程工具。原创 2025-02-26 09:49:57 · 105 阅读 · 0 评论 -
@Async java异步实现
System.out.println("执行异步任务,线程:" + Thread.currentThread().getName());@Async("listenerPool") 让方法在 listenerPool 线程池中异步执行,从而提升并发能力,减少主线程阻塞时间。("listenerPool") 指定了 Spring 管理的一个线程池(listenerPool),用于执行该异步方法。@Async 使得标注的方法异步执行,即不会阻塞调用线程,而是在后台线程池中执行。1. @Async 的作用。原创 2025-02-19 10:00:18 · 408 阅读 · 0 评论 -
http 参数类型 GraphQL及后台java spring boot支持
【代码】http 参数类型 GraphQL及后台java spring boot支持。原创 2025-01-09 16:23:37 · 143 阅读 · 0 评论 -
Pinpoint 是一个开源的分布式追踪系统
pinpointagent2.2.2.tar 是 Pinpoint 的一个版本,Pinpoint 是一个开源的分布式追踪系统,专门用于对 Java 应用程序进行性能监控、日志记录和故障诊断。如果你有具体的使用问题或想了解某个版本的特性,可以查看 [Pinpoint 的官方文档](https://pinpoint.apache.org/) 或检查该版本的发布日志。不同版本的 Pinpoint 可能会对代理功能进行修复或添加新功能,因此升级版本可能会带来更好的性能和支持更多的微服务框架。原创 2024-12-24 18:28:56 · 776 阅读 · 0 评论 -
idea 如何打开多个项目
搜索并进入 Appearance & Behavior -> System Settings。点击 File -> Settings (Preferences on macOS)。New Window:每次打开项目都在新窗口中打开。以后打开新项目时,默认会根据设置打开在新窗口或询问。This Window:替换当前窗口(不推荐)。Ask:每次都会弹窗询问(推荐)。原创 2024-12-16 10:53:26 · 1006 阅读 · 0 评论 -
List<Map<String, Object>> 根据某个属性排序
【代码】List<Map<String, Object>> 根据某个属性排序。原创 2024-12-15 19:01:07 · 139 阅读 · 0 评论 -
Beetl 模板引擎
与传统的 JSP、Freemarker、Thymeleaf 等模板引擎相比,Beetl 以其灵活性和高效性而著称。Beetl 是一款功能强大、性能优越的 Java 模板引擎,适用于需要灵活模板解析和高性能渲染的场景。4. 简单易用:语法直观易懂,模板与逻辑分离,支持主流 Web 框架如 Spring、Spring Boot 等。2. 强大的表达式语言:支持丰富的表达式、函数调用、动态变量等特性,极大增强模板的灵活性。5. 支持多种输出类型:可以用于 HTML、XML、JSON 等各种类型的输出场景。原创 2024-12-02 10:35:03 · 615 阅读 · 0 评论 -
Java深度拷贝(Deep Copy)和浅拷贝(Shallow Copy)
/ 深拷贝 Address 对象。Apache Commons Lang 提供了 SerializationUtils 工具来实现深拷贝。可以在类中实现 Cloneable 接口,并在 clone 方法中手动深拷贝所有属性。- 浅拷贝:复制对象的引用,内部的引用类型属性不会被复制,而是共享原对象的引用。- 深拷贝:不仅复制对象本身,还复制对象中的所有引用对象,生成完全独立的副本。- Cloneable 适用于简单对象,但需要手动处理嵌套对象。将对象序列化为字节流,再反序列化为新的对象,确保完全独立。原创 2024-12-02 10:21:28 · 815 阅读 · 0 评论 -
二叉树数据结构
二叉树是一种树形数据结构,其中每个节点最多有两个子节点,通常称为左子节点和右子节点。高度(Height):从某个节点到叶子节点的最长路径长度。节点(Node):二叉树中的每个元素称为一个节点。根节点(Root):二叉树的顶端节点,没有父节点。子节点(Child):一个节点下方直接连接的节点。父节点(Parent):有子节点的节点称为父节点。深度(Depth):从根节点到某个节点的路径长度。每个节点都有两个子节点(除了叶子节点)。顺序:根节点 > 左子节点 > 右子节点。原创 2024-11-27 10:14:44 · 430 阅读 · 0 评论 -
Spring中的@Lazy注解
当两个Bean相互依赖时,Spring容器无法确定初始化顺序,而使用@Lazy注解可以延迟其中一个Bean的初始化,从而解决这个问题。但是,在使用@Lazy注解时,需要注意它的适用场景和潜在的副作用。性能影响: 虽然@Lazy注解可以提升启动速度,但是过多的使用可能会导致性能下降,因为每次访问@Lazy Bean时都需要进行代理对象的创建和方法调用。提升启动速度: 对于一些不太常用的Bean,延迟初始化可以减少Spring容器启动时需要初始化的Bean数量,从而提升应用程序的启动速度。原创 2024-11-26 16:41:55 · 620 阅读 · 0 评论 -
jdk1.8 和jdk22 区别
JDK 22 在 JDK 1.8 的基础上引入了许多新的语言特性和性能改进,使其更适合现代应用程序的开发。JDK 22 是 Java 的最新长期支持版本(LTS),它在 JDK 1.8 的基础上进行了大量的改进和创新。如果您的项目对新特性没有特殊要求,并且对稳定性要求较高,那么 JDK 1.8 仍然是一个不错的选择。如果您的项目需要高性能、并发性、以及最新的 Java 特性,那么 JDK 22 是更好的选择。Vector API: 提供了对向量计算的硬件加速支持,提高了数值计算的性能。原创 2024-11-26 16:25:25 · 828 阅读 · 0 评论 -
jekins执行shell
【代码】jekins执行shell。原创 2024-11-25 11:03:01 · 395 阅读 · 0 评论 -
java.lang.reflect.InvocationHandler java.lang.reflect.Proxy.h accessible 访问权限
jdk版本低点不好使:原创 2024-11-25 10:53:46 · 290 阅读 · 0 评论 -
Oracle JDK(通常简称为 JDK)和 OpenJDK区别
OpenJDK 是 Oracle 和 Java 社区的开源实现,并广泛用于免费和开源场景。截至 2024 年,Oracle JDK 的最新版本是 Java 23,这是一个长期支持 (LTS) 版本,并带来了多项改进,包括对语言、库、工具和性能优化的更新。Oracle JDK 提供商业支持和附加功能(例如,Oracle GraalVM 和 Java Management Service),需要订阅。提供长期支持版本(LTS),如 JDK 8 和 JDK 11,订阅用户可以获得更长时间的补丁和安全更新。原创 2024-11-22 17:39:17 · 1711 阅读 · 0 评论 -
spring cloud 微服务架构图
原创 2024-01-29 13:50:02 · 230 阅读 · 0 评论 -
java分布式一致性
3. 最终一致性(Eventual Consistency):最终一致性是弱一致性的一种形式,它允许在分布式系统中的不同节点之间存在一段时间的数据不一致性。然而,随着时间的推移,经过一系列的更新和传播,系统最终会达到一致的状态。2. 弱一致性(Weak Consistency):弱一致性允许在分布式系统中的不同节点之间存在一段时间的数据不一致性。更新操作在不同节点上的传播可能有延迟,因此节点之间的数据副本可能存在短暂的不一致。这意味着对数据的更新操作在所有节点上都是原子性的、有序的和同步的。原创 2023-07-15 11:14:51 · 639 阅读 · 0 评论 -
idea 添加jar包
在"Dependencies"(依赖项)选项卡中,点击右上角的"+"按钮,然后选择"JARs or directories"(JAR文件或目录)。- Eclipse:右键单击项目,选择"Build Path"(构建路径),然后选择"Configure Build Path"(配置构建路径)。在弹出的对话框中,选择"Libraries"(库),然后点击"Add JARs"或"Add External JARs"。在弹出的对话框中,选择"Libraries"(库),然后点击"Add JAR/Folder"。原创 2023-06-15 17:29:03 · 4673 阅读 · 0 评论 -
领域模型的介绍
通过合理的领域模型设计,系统可以更容易地适应业务变化,减少对其他模块的影响,从而提供更好的灵活性和可扩展性。1. 业务理解和沟通:领域模型帮助开发团队深入理解业务领域,从业务专家和利益相关者那里获取业务需求,并将其转化为可执行的软件系统。领域模型的设计和实现需要结合具体的业务需求和技术架构,以确保模型能够准确地表示业务领域,并支持相关的业务逻辑和规则。总的来说,领域模型在软件开发中具有重要的意义,它通过提供对业务领域的抽象和建模,帮助开发团队更好地理解业务需求,实现高质量的软件设计和可维护的系统。原创 2023-06-05 13:58:42 · 3637 阅读 · 0 评论 -
spring boot 解决跨域
在上面的示例中,`@CrossOrigin(origins = "http://example.com")`指定了允许跨域访问的来源URL。1. 使用注解 `@CrossOrigin`:可以在控制器类或者具体的请求处理方法上添加`@CrossOrigin`注解来启用跨域支持。上述配置将允许来自`http://example.com`的跨域请求,并允许的HTTP方法为GET、POST、PUT和DELETE。2. 配置全局跨域支持:可以通过创建一个配置类来配置全局的跨域支持。原创 2023-05-19 10:36:33 · 289 阅读 · 0 评论 -
java定义枚举
【代码】java定义枚举。原创 2023-05-02 21:10:18 · 137 阅读 · 0 评论 -
标记 @TableField(exist = false) 属性,返回json值为空
注解标记了一个非数据库字段属性,并且在返回 JSON 值时该属性的值为空,可能是因为在序列化 JSON 时忽略了该属性。标记的非数据库字段属性,它在 Java 对象中存在,但是在数据库表中不存在,因此在序列化时被忽略了。默认情况下,Jackson 在序列化 Java 对象为 JSON 时,只会序列化存在的属性。如果你希望在序列化 JSON 时包含该属性的值,可以使用 Jackson 提供的。框架时,在实体类中使用了。原创 2023-04-30 10:24:36 · 1689 阅读 · 0 评论 -
gof23 设计模式 各个模式代码demo
gof23 设计模式 各个模式代码demo原创 2023-02-25 15:51:48 · 539 阅读 · 0 评论 -
java 静态工厂方法(简单工厂模式)
java 静态工厂方法(简单工厂模式)原创 2023-02-25 15:46:18 · 271 阅读 · 0 评论 -
java 抽象工厂模式demo
java 抽象工厂模式demo原创 2023-02-25 15:40:52 · 212 阅读 · 0 评论 -
java bigdecimal类型字段过长浏览器截断解决
java bigdecimal类型字段过长浏览器截断解决原创 2022-10-11 10:54:53 · 349 阅读 · 0 评论 -
maven 重新加载profile
maven 重新加载profile原创 2022-07-28 09:09:11 · 272 阅读 · 0 评论 -
java aspose cells 读取名称管理器
java aspose cells 读取名称管理器原创 2022-07-27 11:19:47 · 440 阅读 · 1 评论 -
nacos windows本地部署注册中心
nacos windows本地部署注册中心原创 2022-07-26 19:44:42 · 394 阅读 · 0 评论 -
java 实现多线程
java 实现多线程原创 2022-07-26 16:34:48 · 128 阅读 · 0 评论 -
java springboot 设置跨域
java springboot 设置跨域原创 2022-07-26 13:27:08 · 231 阅读 · 0 评论 -
java post请求
java post请求原创 2022-07-26 09:43:12 · 270 阅读 · 0 评论 -
java docker springboot 下载resource下附件
java docker springboot 下载resource下附件原创 2022-07-25 20:48:38 · 207 阅读 · 0 评论 -
json数组转成java二维数组对象
json数组转成二维数组对象原创 2022-07-23 12:50:13 · 744 阅读 · 3 评论 -
spring boot 获取resource下的文件
spring boot 获取resource下的文件原创 2022-07-21 12:44:33 · 372 阅读 · 0 评论 -
java 生成banner 服务 字体
http://patorjk.com/software/taaghttp://www.network-science.de/ascii/http://www.degraeve.com/img2txt.ph原创 2022-03-25 19:31:47 · 1121 阅读 · 0 评论 -
java idea导入项目springboot maven 导入pom
找到对应的pomxml原创 2022-01-19 04:03:36 · 387 阅读 · 0 评论 -
java 时间相减精度确实 中间的不能直接取整数
long time = new Date().getTime(); long time1 = item.getAcate().getTime(); long l1 = time - time1; double v1 = l1 * item.getCgress() * 0.01; double v = time1 + v1; long l = new Double(v).longValue(); return..原创 2022-01-19 02:38:09 · 295 阅读 · 0 评论 -
java List<Date> 获取集合日期最早的
Date date = null; List<Date> list=new ArrayList<>();date = Collections.min(list);原创 2022-01-13 16:44:29 · 2089 阅读 · 0 评论 -
MyBatis Generator驼峰命名
<table schema="fb" tableName="table" domainObjectName="table" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> <property name="useActualColu..原创 2021-12-22 09:40:23 · 1146 阅读 · 0 评论