- 博客(98)
- 问答 (1)
- 收藏
- 关注
原创 Java引用类型参数传递的变化
本文展示了一个Java引用数据类型的测试示例。代码定义了一个SelectedInfoVo类,包含机构名称、排名和得分三个属性,并使用Lombok简化代码。通过ReferenceTest方法创建两个实例并添加到列表,调用setLevel方法根据得分进行排序和排名计算(相同得分排名一致),最后打印结果。该示例演示了Java中引用类型的使用、集合操作和自定义排序逻辑。
2025-12-08 11:02:25
262
原创 http协议和https协议的区别
HTTP(HyperText Transfer Protocol)是一种用于传输超文本(如HTML)的应用层协议,设计初衷是实现客户端和服务器之间的通信。HTTP基于明文传输,不提供数据加密,因此存在安全风险,如数据被窃听或篡改。HTTPS(HyperText Transfer Protocol Secure)是HTTP的安全版本,通过SSL/TLS协议对传输数据进行加密。加密过程通常使用对称加密(如AES)和非对称加密(如RSA)相结合的方式,既保证安全性又兼顾效率。
2025-10-24 16:12:51
294
原创 JWT 详细讲解
JSON Web Token(JWT)是一种开放标准(RFC 7519),用于在各方之间安全地传输信息。它通常用于身份验证和授权场景,因其紧凑性和自包含性而被广泛应用。JWT 由三部分组成:头部(Header)、载荷(Payload)和签名(Signature),通过点号()连接。JWT 是一种高效的身份验证和授权机制,适用于无状态、分布式系统。合理设计安全策略和令牌生命周期是关键。
2025-10-24 16:11:08
462
原创 Docker和Kubernetes的区别
这种技术组合使开发者能快速构建可移植的应用包(Docker),同时确保生产环境具备弹性伸缩能力(Kubernetes)。实际架构中通常会加入Service Mesh(如Istio)和GitOps工具(如ArgoCD)形成完整云原生技术栈。Docker 的核心价值在于简化容器化流程,提供从代码到容器的端到端解决方案。Kubernetes 则抽象了基础设施层,提供声明式API来管理分布式系统。使用Docker多阶段构建生成最小化镜像,通过。进行漏洞扫描,推送至私有Harbor仓库。
2025-10-09 13:57:15
567
原创 Java JVM 调优指南:内存、线程分析与问题排查
JVM调优是一个结合监控、分析、实验和验证的持续过程。核心在于理解JVM内存模型、GC机制、线程状态以及熟练使用。
2025-10-09 13:11:49
1322
原创 使用JAVA 语言中 JNA 和 PDU 的区别
是一个 Java 库,用于调用本地动态链接库(如 C/C++ 编写的 DLL 或 SO 文件),无需编写复杂的 JNI 代码。核心能力:通过接口映射方式实现 Java 与 Native 代码交互,典型场景如调用操作系统 API 或第三方 C/C++ 库。通常指协议数据单元,是网络通信中的通用概念(如 OSI 模型中各层的数据封装)。在 Java 具体场景中,可能指某些通信框架(如 SMPP 协议、MODBUS 协议)中用于封装协议报文的类或工具(例如 Pdu 类),用于解析/构造二进制协议数据。
2025-05-28 10:48:52
365
原创 Mysql索引创建以及优化步骤
有一张表user(无索引):假如要执行的sql语句为:select * from user where age = 45;需要从第一行开始,一直扫描到最后一行,称为全表扫描,性能很低;有没有提升性能,减少搜索时间的方法呢?索引介绍在Mysql中,索引就是帮助搜索数据的一种有序的数据结构,它以某种方式引用(指向)数据。
2024-07-30 11:08:03
507
原创 专业英语词汇(计算机)
refactor: 重构(即不是新增功能,也不是修改bug的代码变动)sequence 序列。pointer 指针。recreating 重新创建;extracted 提取。dereference 取消引用。exclusive gateway 专用网关。docs: 文档(documentation)style: 格式(不影响代码运行的变动)chore: 构建过程或辅助工具的变动。
2024-06-26 14:16:03
593
原创 docker 指令 初级入门
Docker是一种开源的应用容器引擎,基于Go语言开发并遵循Apache2.0协议开源。它能够让开发者将应用及其依赖打包到一个轻量级的、可移植的容器中,然后发布到任何支持Docker的平台上。Docker命令是操作Docker的主要方式,对于Docker的初学者来说,了解和掌握基本的Docker指令是入门的第一步。作为初级用户,熟悉这些基础指令是确保能够高效使用Docker的关键。通过实际操作这些基础命令,您可以逐渐深入理解Docker的强大功能及其在应用程序部署和运维中的应用。
2024-06-20 15:09:36
690
原创 springboot 项目中自定义注解,实现对日志的记录
在Java中,切面通知(Aspect Notifications)是由AOP(面向切面编程)框架提供的一种机制,用于在特定的切点(Join Points)执行某些操作,比如日志记录、事务管理、权限检查等。After:在目标方法执行之后进行通知,无论方法是否执行成功。After Returning:在目标方法成功执行后进行通知。After Throwing:在目标方法抛出异常后进行通知。Around:可以在目标方法调用前后执行自定义的行为。Before:在目标方法执行之前进行通知。
2024-06-12 10:47:12
840
原创 HashMap和HashTable和CurrentHashMap的区别
CurrentHashMap是线程安全的、允许null值和null键的、迭代器快速失败机制的Map实现,并且提供了更好的并发性能。迭代器的一致性:HashMap和CurrentHashMap的迭代器是快速失败的,它们在迭代过程中如果发现其他线程对Map进行了修改,会立即抛出ConcurrentModificationException异常。而ConcurrentHashMap则提供了一个折中的方案,通过分段锁机制在保证线程安全的同时,提升了并发环境下的性能。
2024-05-17 15:56:18
614
原创 springboot常用的注解
这样,在其他需要使用 UserService 的地方,可以通过依赖注入的方式获取该 Bean 的实例,并使用它提供的服务。在上述示例中,MyService 类被标记为一个组件,并使用 @Scope(“prototype”) 注解将该组件的作用域设置为原型模式,每次通过容器获取 MyService 的实例时都会创建一个新的对象。通过 @Autowired 注解,我们可以自动将 Spring 容器中匹配类型的 Bean 注入到目标对象中,避免了手动处理依赖对象的创建和管理,提高了代码的可维护性和可测试性。
2024-05-17 09:16:13
1541
原创 公私钥验签
公私钥的验签机制可以保证数据的完整性和真实性,因为只有使用私钥加密的数据才能被对应的公钥解密,并且只有使用私钥生成的数字签名才能被对应的公钥验证。这样,即使数据在传输过程中被篡改,接收者也可以通过验证数字签名来判断数据是否被篡改。公私钥的验签机制是一种用于验证数字签名的机制。在这个机制中,数据的发送者使用私钥对数据进行加密生成数字签名,然后将数据和数字签名一起发送给接收者。接收者使用发送者的公钥对接收到的数据进行解密,并对解密后的数据和数字签名进行验证。
2024-05-01 07:09:49
885
原创 springboot整合redis 解决热数据查询mysql数据库的导致io问题(初级开发工程师必看)
Jedis的作用config配置类bean的配置。
2024-04-30 11:34:21
479
1
原创 成为程序员后我都明白了什么?
入行时已经不是互联网的红利期,经过三年的真实经历发现这个行业真的相当卷,技术迭代之快需要一直在一线工作就要保持竞争力,随着ai的爆火gpt等大模型的成熟,人工通过工具产出效率更高,行业使用的开发人员也开始减少,业务稳定之后新需求的开发较少,需要更多的是运维人员和方案解决人员,但是不要气馁随着社会的发展未来一定还是互联网的时代,所需要的计算机人才还是很多,只是当前的状态是如此,只要保持学习和竞争力未来还是有机会的。*简介:java后端开发工程师,双非本科,整三年工作经验。
2024-04-26 13:21:22
556
5
原创 java 项目中日志规范处理和异常规范处理问题
当应用程序抛出这两种异常时,全局异常处理器会自动捕获并处理这些异常,然后返回相应的 HTTP 状态码和错误信息。在这个示例中,我们定义了三个方法,分别处理不同级别的日志。当应用程序记录日志时,全局日志处理器会自动捕获并处理这些日志。这样,当应用程序抛出异常时,全局异常处理器会自动捕获并处理这些异常。这样,当应用程序记录日志时,全局日志处理器会自动捕获并处理这些日志。注解标记该类,然后在该类中定义一个或多个方法,并使用。注解标记该类,然后在该类中定义一个或多个方法,并使用。
2024-04-19 11:49:01
520
原创 java分布式项目需要进行注意的事项(代码层面)
分布式作业是指将一个大型任务分成多个小任务,在多个计算节点上同时执行,然后将结果进行合并的一种作业形式。分布式作业通常需要一个中央调度器来协调和管理多个节点的工作,以保证作业的正确执行。项目配置 要 存储在数据库中,不要存在代码里面.( 避免出现代码上传的时候导致配置覆盖.尤其是java的tar包自动部署一不小心就把老配置給替换了. 哭都来不及. )普通的作业指的是在单个计算节点上执行的任务。如果使用主键自增,可能导致数据不均匀地分布在不同的节点上,影响系统的负载均衡和性能。注意项目参数配置问题。
2024-04-19 11:45:19
1231
从事java开发一年,想转产品可以吗
2022-06-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅