链滴
社区愿景和功能特性
优雅的 Markdown 所见即所得编辑
快捷键交互
随时自由编辑分享内容
支持注销账号来去自由
分布式社区网络
开放 API
产品
Symphony 社区系统(Java)
Solo 博客系统(Java)
Vditor 编辑器(TypeScript)
思源笔记(Electron、Go)
Pipe 博客平台(Vue、Go)
发展计划表
发展简史
榜单
GitHub 仓库排行
帖子打赏排行
Solo 博客端排行
积分排行
活跃度排行
贡献排行
本站基于开源项目 Sym
编程代码问答
登录
注册
好玩
前端
后端
工作
B3
推介
查看所有领域
Java
Spring
NetBeans
Eclipse
IDEA
Dubbo
Tomcat
Maven
Gradle
Latke
Java 同类调用导致注解失效
踩坑表现 在一个类中,如果某个 A 方法使用了注解,然后同一个类下的 B 方法直接调用 A 方法时,会导致 A 方法的注解失效。 一般会表现为: 同一个类中,方法内部调用[链接] ,@Transactional 注解失效 同理,@RedisLock 这类自定义注解也会失效 原理 一般来说,注解的实现是通过 Spri ..
66
6 个月前
Java lambda 表达式
原理实现 Java Lambda 表达式实现原理1 概念 JDK 8 的一个语法糖,可以对某些匿名内部类进行优化。让我们不需要关系操作什么对象,而是关系如何操作数据 核心 可推到、可省略 基本格式 (参数列表) -> {代码} [图片] 可以看见:Lambda 只关注函数的参数列表、数据的操作 ..
66
6 个月前
统一管理项目的线程池
一、问题描述 频繁的创建、销毁线程和线程池,会给系统带来额外的开销。未经池化及统一管理的线程,则会导致系统内线程数上限不可控。 例如如下代码,每次发送邮件都会创建一个新的线程池,并且业务结束之后线程池也未随之销毁 public static boolean sendMail(MailInfo mailInfo, Mai ..
92
6 个月前
使用注解实现“接口事务”
前言 在之前处理接口的事务的时候,可能都是直接使用 TransactionManager 这一种“显式定义类”的方式,将接口传递给它,然后保证事务的实现。 其实可以进一步将“事务调用”这一个方法抽离出来,让其成为一个“注解”,只要接口被“事务注解”所标记,那么它就会被事务处理 使用示范 /** * 发送可靠消息,在事务 ..
51
6 个月前
Springboot 优雅处理 if/else
策略模式 策略模式是一种行为设计模式,它定义了一系列算法,并将每个算法封装成独立的类,使得它们可以互相替换。策略模式使得算法的变化独立于使用算法的客户端。 策略模式由三个部分组成:策略接口、具体策略类和环境类。策略接口定义了所有具体策略类都需要实现的方法;具体策略类实现了策略接口,并提供不同的算法实现;环境类持有一个策 ..
77
7 个月前
使用 Java 获取 IP 归属地的方法与实现
[图片] 引言 在网络应用开发中,我们常常需要获取 IP 地址的归属地信息,这对于数据统计、用户分析和风险控制等方面都非常重要。本文将介绍如何使用 Java 编程语言获取 IP 地址的归属地,并提供一个实际的案例。 什么是 IP 归属地 “IP 属地”指 IP 地址所在省(自治区、直辖市)(针对境内账号)或国家(地区) ..
77
7 个月前
java 导学
学好 Java 需要以下几个方面的努力: 学习 Java 基础知识 学习 Java 的第一步是学习 Java 基础知识,包括基本语法、关键字、语句、数据类型、数组、流程控制、面向对象编程等等。可以通过在线课程、教材、书籍等多种方式学习。 练习编程 只有通过练习才能真正掌握 Java 编程。可以从简单的程序开始,例如 H ..
62
7 个月前
Java 如何让线程按顺序执行?
一、介绍 本文使用了 8 种方法实现在多线程中让线程按顺序运行的方法,涉及到多线程中许多常用的方法,不止为了知道如何让线程按顺序运行,更是让读者对多线程的使用有更深刻的了解。使用的方法如下: [1] 使用线程的 join 方法 [2] 使用主线程的 join 方法 [3] 使用线程的 wait 方法 [4] 使用线程的 ..
93
7 个月前
【翻译】性能之争:Web MVC vs Webflux
原文发布于:【翻译】性能之争:Web MVC vs Webflux,欢迎使用 RSS 订阅获取最新更新。 1. 前言 最近在学响应式编程的时候,突然让我想到,新的编程范式就一定会比传统的编程范式好吗?响应式编程的性能提升在哪个方面的呢? 文章以下内容翻译来源于:Spring Benchmark – Web MVC vs ..
121
8 个月前
35 款 SpringBoot/SpringCloud 开源项目,用来接私活挣钱真爽
SpringBoot 是一个非常流行的 Java 框架,它可以帮助开发者快速构建应用程序。他不仅继承了 Spring 框架原有的优秀特性,而且还通过简化配置来进一步简化了 Spring 应用的整个搭建和开发过程。 最近,小编蹲点各大开源网站、社区等,终于被我找到了 35 款基于 SpringBoot/ SpringCl ..
466
3 个月前
报错解决: Can't connect to X11 window server using.....
[图片] 一、前言 开发的的代码在本地和其它测试 Linux 环境均正常,但是在我新安装的 tomcat8 下运行时却报了以下错错误,因此直接排除了代码等原因,直接找到了对应的环境 Caused by: java.awt.AWTError: Can't connect to X11 window server usin ..
45
8 个月前
Linux 下 tomcat8 安装与 war 包项目部署详解(附图解步骤)
[图片] 一、前言 最近公司项目版本迭代的时候要上测试机测试一下,不过由于测试机原本的 tomcat 已经被改的面目全非了,所以在征得 boss 的同意下,我在测试机上又安装了一个 tomcat,由于为了和公司的 tomcat 版本接近,所以这一次我选择的是 tomcat8。 二、安装流程 1、下载 Tomcat 安装 ..
91
8 个月前
单例模式之——饿汉模式、懒汉模式
饿汉模式 优点:线程安全,不存在并发问题 缺点:在类加载之前就创建好了对象 public class Singleton { private Singleton(){} private static Singleton singleton = new Singleton(); public static Singlet ..
79
8 个月前
框架篇
[图片] 1.ApplicationContext refresh 的流程 ApplicationContext 为 Spring 的核心容器 refresh 是 ApplicationContext 的中的一个方法,其中会调用到 12 个方法 1.1.prepareRefresh 要点 这一步创建和准备了 Envir ..
53
8 个月前
使用 SpringBoot 配置 https(SSL 证书)
[图片] 一、前言 最近公司后台系统与微信公众号对接的项目初步完成,在经过测试通过后,老板提醒我公司的官网是'https'协议的,而我之前的测试则都是'http'协议的,这下子我楞了一下,因此我需要给我自己的 tomcat 服务器上安装 ssl 证书,然后再重新进行测试(表示无所畏惧!!!),然而,除了在 tomcat ..
87
8 个月前
tomcat 9 安装 ssl 证书 (.jks),开启 https 访问 (阿里云服务器为例)
[图片] 一、前言 最近公司后台系统与微信公众号对接的项目初步完成,在经过测试通过后,老板提醒我公司的官网是'https'协议的,而我之前的测试则都是'http'协议的,这下子我楞了一下,因此我需要给我自己的 tomcat 服务器上安装 ssl 证书,然后再重新进行测试(表示无所畏惧!!!),接下来,我将简述一下我安装 ..
38
8 个月前
Axis 调用 WebService 接口
[图片] 前言 最近需要对接另一个系统提供的 WebService 接口,在网上查了很多种方法都不行,这里记录一下我使用的方法,仅供大家参考。注意我这里使用的是 Axis 而不是 Axis2,可能是提供的 WebService 接口版本太老了,我使用 Axis2 也无法调用。 实现 引入 Maven org.apac ..
41
8 个月前
数据库篇
[图片] 1. MySQL 事务隔离级别 未提交读 - 读到其它事务未提交的数据(最新的版本) 错误现象:有脏读、不可重复读、幻读现象 提交读(RC) - 读到其它事务已提交的数据(最新已提交的版本) 错误现象:有不可重复读现象 使用场景:希望看到最新的有效值 可重复读(RR) - 在事务范围内,多次读能够保证一致性( ..
105
8 个月前
vscode 和 jetbrains IDEA 添加免费的 gpt 代码生成插件
VSCODE 添加代码智能生成插件 一、打开 vscode 添加扩展 打开 vscode,点击扩展,搜索 aws toolkit [图片] 二、连接到 AWS 如图,选择添加 connectiong to aws 选择 Sign up or Sign in [图片] 下一步,会自动复制 code 打开网站,如果有账号, ..
63
9 个月前
03 开发社区核心功能
过滤敏感词 前缀树 名称:Trie、字典树、查找树 特点:查找效率高,消耗内存大 应用:字符串检索、词频统计、字符串排序等 敏感词过滤器 定义前缀树 根据敏感词,初始化前缀树 编写过滤敏感词的方法 敏感词算法: 流程 一个 trie 树存放敏感词,一对快慢指针,快指针指向给给定的字符串的起始位置,如果检测到了当前字符符 ..
44
9 个月前
Java 10 应用程序类数据共享
[图片] Java 10 引入了应用程序类数据共享(Application Class-Data Sharing)功能,简称 CDS。CDS 允许将常用类的元数据存储在共享的归档文件中,以便多个 Java 进程在启动时共享这些元数据,从而加快应用程序的启动速度和降低内存占用。本教程将介绍 Java 10 的应用程序类数 ..
46
9 个月前
Java 10 局部变量类型推断
[图片] Java 10 引入了局部变量类型推断的功能,允许在声明局部变量时,通过使用 var 关键字来推断变量的类型。这使得代码更加简洁、易读,并且不会影响 Java 的强类型特性。本教程将介绍 Java 10 局部变量类型推断的用法和注意事项。 1. 使用 var 关键字声明局部变量 在 Java 10 中,你可以 ..
32
9 个月前
Java 9 改进的 IO 和网络支持
[图片] Java 9 在 IO 和网络支持方面进行了一些改进,引入了新的 API 和功能,以提供更强大、更灵活的 IO 和网络编程能力。这些改进包括改进的流 API、改进的文件系统 API 和改进的 HTTP/2 支持等。本教程将介绍 Java 9 改进的 IO 和网络支持的主要特性和用法。 1. 改进的流 API ..
33
9 个月前
Java 9 改进的安全性
[图片] Java 9 引入了一些改进来提升 Java 平台的安全性,包括改进的 TLS/SSL 支持、改进的密钥存储和改进的访问控制等。这些改进旨在提供更强大、更可靠的安全机制,以保护 Java 应用程序和用户的安全。本教程将介绍 Java 9 改进的安全性的主要特性和用法。 1. 改进的 TLS/SSL 支持 Ja ..
19
9 个月前
Java 9 改进的处理器 API
[图片] Java 9 引入了改进的处理器 API,使得处理器编程更加灵活和强大。处理器是一种用于处理注解和编译时元数据的工具,可以在编译期间检查、处理和生成代码。本教程将介绍 Java 9 改进的处理器 API 的主要特性和用法。 1. 注解处理器 Java 9 通过改进注解处理器 API,提供了更好的支持和更丰富的 ..
25
9 个月前
02 开发社区登录模块
发送邮件 流程 邮箱设置 启用客户端 SMTP 服务 Spring Email 导入 jar 包 邮箱参数配置 使用 JavaMailSender 发送邮件 模板引擎 使用 Thymeleaf 发送 HTML 邮件 启用客户端 SMTP 服务 QQ 邮箱在这里开启: [图片] 导入邮箱包 Spring Boot Sta ..
27
9 个月前
Java 9 改进的集合工厂方法
[图片] Java 9 引入了一些改进的集合工厂方法,使得创建和初始化集合对象变得更加简洁和方便。这些改进包括 List.of()、Set.of()和 Map.of()等方法,用于创建不可变的集合对象。本教程将介绍 Java 9 改进的集合工厂方法的使用和注意事项。 1. List.of() List.of()是一个静 ..
24
9 个月前
Java 9 改进的并发
[图片] Java 9 在并发编程方面进行了一些改进,提供了新的 API 和功能,以简化并发编程并提高性能。这些改进包括改进的锁、改进的线程控制、改进的并发集合等。本教程将介绍 Java 9 改进的并发相关功能和用法。 1. 改进的锁 tryLock 方法的改进 Java 9 改进了 Lock 接口中的 tryLock ..
28
9 个月前
Java 9 改进的 Stream API
[图片] Java 9 对 Stream API 进行了一些改进,以提供更好的性能、灵活性和易用性。这些改进包括对 Stream 的延迟评估优化、新增的操作方法、改进的 Optional 类型等。本教程将介绍 Java 9 改进的 Stream API 的主要特性和用法。 1. 延迟评估优化 在 Java 9 之前,S ..
25
9 个月前
Java 之 CompletableFuture 使用
一、 CompletableFuture 介绍 日常开发中经常会遇到一个接口中有多个方法的调用( RPC 服务或者存储介质),我们必然会想提升接口性能,在 JDK1.8 之前大都使用线程池结合 Future 进行并行调用。Future 用于异步计算,如果要减少阻塞一般会使用回调的方式,大量的回调代码就会有 回调地狱 问 ..
29
9 个月前
虚拟机篇
[图片] 1. JVM 内存空间&垃圾回收器 1.1.JVM 内存结构 [图片] Java Source 属于源代码,编译成字节码,编程 Java Class JVM 会创建 main 主线程,由 JVM stacks 虚拟机栈分配空间,然后通过类加载子系统将字节码存储到方法区。 遇到 Student 没有见过 ..
88
9 个月前