链滴
社区愿景和功能特性
优雅的 Markdown 所见即所得编辑
快捷键交互
随时自由编辑分享内容
支持注销账号来去自由
分布式社区网络
开放 API
产品
Symphony 社区系统(Java)
Solo 博客系统(Java)
Vditor 编辑器(TypeScript)
思源笔记(Electron、Go)
Pipe 博客平台(Vue、Go)
发展计划表
发展简史
榜单
GitHub 仓库排行
帖子打赏排行
Solo 博客端排行
积分排行
活跃度排行
贡献排行
本站基于开源项目 Sym
编程代码问答
登录
注册
好玩
前端
后端
工作
B3
推介
查看所有领域
Java
golang
Node.js
Python
数据库
Spring
C++
PHP
思源笔记 v3.0.17 发布,支持 Windows arm64 和 Linux arm64
概述 该版本支持了 Windows arm64 和 Linux arm64,改进了网页剪藏,修复了一些缺陷并改进了许多细节。 变更记录 以下是此版本中的详细变更。 改进功能 [链接] [链接] [链接] [链接] [链接] [链接] [链接] 支持 Windows arm64 支持 Linux arm64 改进导入 M ..
3.5K
4 周前
Java 项目发布到 Maven 中央仓库小记
[图片] 我 20 年就已经注册并成功发布过一次项目因此略过注册环节 1.填写项目相关信息 [图片] 2.等待 bot 提示你验证域名所有权。如果没有域名可以使用 io.github.xxx 作为 groupId 切记不要填成 com.github [图片] 3.去你所在的域名服务商加一个 TXT 记录 OSSRH-9 ..
24
2 个月前
软件架构设计原则
1.1 开闭原则 开闭原则(Open-Closed Principle,COP)是指一个软件实体(如类、模块和函数)应该对扩展开放,对修改关闭。所谓的关闭,也正是对扩张和修改两个行为的一个原则。它强调的是用抽象构建框架,用实现扩展细节,可以提高软件系统的客服用心及可维护性。开闭原则是对面向对象设计最基础的设计原则,它知 ..
43
2 个月前
别以为“自动挡”就不可能出现 OOM
这里的“自动挡”,是我对 Java 自动垃圾收集器的戏称。的确,经过这么多年的发展, Java 的垃圾收集器已经非常成熟了。有了自动垃圾收集器,绝大多数情况下我们写程序时可以专注于业务逻辑,无需过多考虑对象的分配和释放,一般也不会出现 OOM。 但,内存空间始终是有限的,Java 的几大内存区域始终都有 OOM 的 ..
45
2 个月前
用好 Java 8 的日期时间类,少踩一些“老三样”的
在 Java 8 之前,我们处理日期时间需求时,使用 Date、Calender 和 SimpleDateFormat,来声明时间戳、使用日历处理日期和格式化解析日期时间。但是,这些类的 API 的缺点比较明显,比如可读性差、易用性差、使用起来冗余繁琐,还有线程安全问题。 因此,Java 8 推出了新的日期时间类。 ..
40
2 个月前
隐写分析使用方法
java -jar StegExpose.jar paper1_note/baluja/cover standard default paper1_note/baluja/baluja.csv /home/duanxt/lc/StegExpose-master/paper1_note/baluja/cover /hom ..
17
3 个月前
Java 入门
.java-> 编译->.class(字节码文件)-> 解释-> 机器码 字节码解释成机器码是实时进行的,从而导致每次执行时都需要解释,这也是 java 性能不如 c/c++ 的原因之一。这样做是为了实现跨平台 即时编译(JIT, just-in-time):将解释出来的机器码保存到内存中,再次 ..
61
3 个月前
为什么选择 GraalVM?
GraalVM 是一款强大的虚拟机,它为 Java 开发者提供了许多独特的优势和功能。无论是在资源利用率、启动速度、安全性还是与其他语言的集成方面,GraalVM 都是一个非常有吸引力的选择。 以下是选择 GraalVM 的几个主要原因: 低资源使用 GraalVM 通过提前编译 Java 应用程序为独立的二进制文件, ..
24
4 个月前
Java 笔记系列——08- 分布式协调(Zookeeper)
[图片] 1、Zookeeper zookeeper 是一个分布式的协调中间件,能解决分布式下的组件协调问题,所以才有许多应用使用 zookeeper kafka 集成 Zookeeper,实现集群选举(leader 选举)、配置管理 hbase 集成 zookeeper,实现集群管理 sharding jdbc 集成 ..
59
4 个月前
集合类:坑满地的 List 列表操作
Pascal 之父尼克劳斯 · 维尔特(Niklaus Wirth),曾提出一个著名公式“程序= 数据结构 + 算法”。由此可见,数据结构的重要性。常见的数据结构包括 List、Set、Map、Queue、Tree、Graph、Stack 等,其中 List、Set、Map、Queue 可以从广义上统称为集合类数据结构 ..
56
4 个月前
连接池:别让连接池帮了倒忙
[图片] 业务项目中经常会用到的连接池,主要是数据库连接池、Redis 连接池和 HTTP 连接池。所以,今天我就以这三种连接池为例,和你聊聊使用和配置连接池容易出错的地方。 注意鉴别客户端 SDK 是否基于连接池 在使用三方客户端进行网络通信时,我们首先要确定客户端 SDK 是否是基于连接池技术实现的。我们知道,TC ..
37
4 个月前
线程池:业务代码最常用也最容易犯错的组件
[链接] 线程池的策略是当核心线程处理不下的任务会优先放入队列中,等到队列存满了在开启临时线程去处理任务,这么做有部分场景是不合适的:比如队列很大,等到队列满的时候再去创建线程去消费其实已经于事无补了,再比如线程池是 newFixedThreadPool 他的阻塞队列其实是一个 LinkedBlockingQueue ..
19
4 个月前
Java 的 System 类中 out 对象是何时被赋值的
我们学习编程语言的时候,基本上写的第一个程序都是输出一个 hello world, 基本代码如下, 初学时,只知道使用 System.out.println 就可以将想要的内容输出到控制台上, 然而却并未关注过具体的细节,今天就先来简单了解一下 out 这个对象的赋值过程. public class Hello { p ..
23
5 个月前
Netty 系列 (1): 实现 Http 服务器
Netty(1) 实现 Http 服务器 App.java package org.example; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.Cha ..
39
6 个月前
Canal 数据不同步原因排查
Canal 数据不同步原因排查 adapter 报字段不存在 检查源端、目标端对应字段是否存在 最近是否做了表结构改动,没同步到目标端 解决方案: 删除 server 端 conf 下对应实例的 h2.mv.db,重启服务 目标端字段不一致,调整成一致的,比如 alter 表或者做一次数据同步 重启 adapter 服 ..
45
7 个月前
记录 canal 处理 tinyint1 类型问题
[图片] 问题现象 原系统字段类型 tiny(1) 数据 0,同步后 0 数据 1,同步后 1 数据 2,同步后 2 原因 如果 tinyInt1isBit=true(默认),且 tinyInt 存储长度为 1,则转为 java.lang.Boolean,否则转为 java.lang.Integer。 解决方案 1、避 ..
35
7 个月前
Java 调用 WebService 接口
前言 由于要对接其他系统的 WebService 接口,尝试了几种方案有一个可以调通,在这里记录一下尝试的几种方案。至于为什么有的方案调不通,我也不是很清楚。。。 JAX-WS 调用 JAX-WS 是 Java API for XML Web Services 的缩写,是一种比较常见的调用 Webservice 接口的 ..
50
7 个月前
哈哈哈
前言 因为我是大三的学生,这个公司也有在招实习生,所以我参加了他们的笔试,题目总体很简单,算法也很简单,笔试是下午参加的,hr 晚上 10 点打的电话邀请我第二天早上 10 点的面试。 正文 我看你简历上说你用过 Golang 做一个开发,你是怎么学习 Golang 的,学习 Golang 你花了多长时间? (自己一些 ..
309
6 个月前
Java 同类调用导致注解失效
踩坑表现 在一个类中,如果某个 A 方法使用了注解,然后同一个类下的 B 方法直接调用 A 方法时,会导致 A 方法的注解失效。 一般会表现为: 同一个类中,方法内部调用[链接] ,@Transactional 注解失效 同理,@RedisLock 这类自定义注解也会失效 原理 一般来说,注解的实现是通过 Spri ..
66
8 个月前
Java lambda 表达式
原理实现 Java Lambda 表达式实现原理1 概念 JDK 8 的一个语法糖,可以对某些匿名内部类进行优化。让我们不需要关系操作什么对象,而是关系如何操作数据 核心 可推到、可省略 基本格式 (参数列表) -> {代码} [图片] 可以看见:Lambda 只关注函数的参数列表、数据的操作 ..
68
8 个月前
统一管理项目的线程池
一、问题描述 频繁的创建、销毁线程和线程池,会给系统带来额外的开销。未经池化及统一管理的线程,则会导致系统内线程数上限不可控。 例如如下代码,每次发送邮件都会创建一个新的线程池,并且业务结束之后线程池也未随之销毁 public static boolean sendMail(MailInfo mailInfo, Mai ..
97
8 个月前
使用注解实现“接口事务”
前言 在之前处理接口的事务的时候,可能都是直接使用 TransactionManager 这一种“显式定义类”的方式,将接口传递给它,然后保证事务的实现。 其实可以进一步将“事务调用”这一个方法抽离出来,让其成为一个“注解”,只要接口被“事务注解”所标记,那么它就会被事务处理 使用示范 /** * 发送可靠消息,在事务 ..
52
8 个月前
使用 Java 获取 IP 归属地的方法与实现
[图片] 引言 在网络应用开发中,我们常常需要获取 IP 地址的归属地信息,这对于数据统计、用户分析和风险控制等方面都非常重要。本文将介绍如何使用 Java 编程语言获取 IP 地址的归属地,并提供一个实际的案例。 什么是 IP 归属地 “IP 属地”指 IP 地址所在省(自治区、直辖市)(针对境内账号)或国家(地区) ..
79
9 个月前
java 导学
学好 Java 需要以下几个方面的努力: 学习 Java 基础知识 学习 Java 的第一步是学习 Java 基础知识,包括基本语法、关键字、语句、数据类型、数组、流程控制、面向对象编程等等。可以通过在线课程、教材、书籍等多种方式学习。 练习编程 只有通过练习才能真正掌握 Java 编程。可以从简单的程序开始,例如 H ..
62
9 个月前
Java 如何让线程按顺序执行?
一、介绍 本文使用了 8 种方法实现在多线程中让线程按顺序运行的方法,涉及到多线程中许多常用的方法,不止为了知道如何让线程按顺序运行,更是让读者对多线程的使用有更深刻的了解。使用的方法如下: [1] 使用线程的 join 方法 [2] 使用主线程的 join 方法 [3] 使用线程的 wait 方法 [4] 使用线程的 ..
94
9 个月前
【翻译】性能之争:Web MVC vs Webflux
原文发布于:【翻译】性能之争:Web MVC vs Webflux,欢迎使用 RSS 订阅获取最新更新。 1. 前言 最近在学响应式编程的时候,突然让我想到,新的编程范式就一定会比传统的编程范式好吗?响应式编程的性能提升在哪个方面的呢? 文章以下内容翻译来源于:Spring Benchmark – Web MVC vs ..
129
10 个月前
报错解决: Can't connect to X11 window server using.....
[图片] 一、前言 开发的的代码在本地和其它测试 Linux 环境均正常,但是在我新安装的 tomcat8 下运行时却报了以下错错误,因此直接排除了代码等原因,直接找到了对应的环境 Caused by: java.awt.AWTError: Can't connect to X11 window server usin ..
45
10 个月前
单例模式之——饿汉模式、懒汉模式
饿汉模式 优点:线程安全,不存在并发问题 缺点:在类加载之前就创建好了对象 public class Singleton { private Singleton(){} private static Singleton singleton = new Singleton(); public static Singlet ..
81
10 个月前
框架篇
[图片] 1.ApplicationContext refresh 的流程 ApplicationContext 为 Spring 的核心容器 refresh 是 ApplicationContext 的中的一个方法,其中会调用到 12 个方法 1.1.prepareRefresh 要点 这一步创建和准备了 Envir ..
54
10 个月前
Axis 调用 WebService 接口
[图片] 前言 最近需要对接另一个系统提供的 WebService 接口,在网上查了很多种方法都不行,这里记录一下我使用的方法,仅供大家参考。注意我这里使用的是 Axis 而不是 Axis2,可能是提供的 WebService 接口版本太老了,我使用 Axis2 也无法调用。 实现 引入 Maven org.apac ..
42
10 个月前
数据库篇
[图片] 1. MySQL 事务隔离级别 未提交读 - 读到其它事务未提交的数据(最新的版本) 错误现象:有脏读、不可重复读、幻读现象 提交读(RC) - 读到其它事务已提交的数据(最新已提交的版本) 错误现象:有不可重复读现象 使用场景:希望看到最新的有效值 可重复读(RR) - 在事务范围内,多次读能够保证一致性( ..
114
10 个月前
03 开发社区核心功能
过滤敏感词 前缀树 名称:Trie、字典树、查找树 特点:查找效率高,消耗内存大 应用:字符串检索、词频统计、字符串排序等 敏感词过滤器 定义前缀树 根据敏感词,初始化前缀树 编写过滤敏感词的方法 敏感词算法: 流程 一个 trie 树存放敏感词,一对快慢指针,快指针指向给给定的字符串的起始位置,如果检测到了当前字符符 ..
46
11 个月前