Java

Java中的单元测试与集成测试最佳实践

Java中的单元测试与集成测试最佳实践 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 一、引言 在软件开发过程中,测试是保证代码质量和系统稳定性的重要环节。Java作为一种广泛使用的编程语言,其测试工具和框架也非常成熟。本文将详细介绍Java中的单元测试与集成测试的最佳实践,帮助开发者编写高质量的测试代码。 二、单元测试 单元测试是对软件系统的最小可测试单元进行验

使用Spring Boot和GraphQL构建灵活的API服务

使用Spring Boot和GraphQL构建灵活的API服务 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 一、引言 在现代Web应用中,API服务是前后端数据交互的桥梁。传统的RESTful API虽然强大,但在复杂查询场景中显得有些笨重。GraphQL作为一种新型API查询语言,提供了更灵活和高效的查询方式。本文将详细介绍如何使用Spring Boot和Gr

使用Apache Velocity生成邮件模板内容

什么是Apache Velocity? Apache Velocity是一个提供模板服务的Java库,它允许你定义动态资源(如邮件、HTML页面等)。Velocity使用特殊的模板语言(VTL),让你可以轻松地将动态数据插入到模板中。 为什么选择Velocity? 简单性:Velocity的模板语言简单直观,易于学习和使用。 灵活性:可以用于多种场景,包括生成邮件、网页和其他文本内容。 强大的社区

如何在Java中实现高性能的数据加密与解密算法

如何在Java中实现高性能的数据加密与解密算法 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 一、引言 在现代应用中,数据安全至关重要。加密和解密算法能够保护敏感数据不被未授权访问。本文将介绍如何在Java中实现高性能的数据加密与解密算法,重点讲解对称加密算法AES和非对称加密算法RSA的实现与优化。 二、对称加密算法:AES AES(Advanced Encry

构建基于Spring Cloud和Consul的服务注册与发现系统

构建基于Spring Cloud和Consul的服务注册与发现系统 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 一、引言 在微服务架构中,服务注册与发现是关键组件。Spring Cloud与Consul的结合可以帮助我们轻松实现服务注册与发现功能。本文将介绍如何使用Spring Cloud和Consul构建一个高效的服务注册与发现系统。 二、环境准备 在开始之前

Easyexcel导出时如何隐藏掉某些字段

方案 //不显示字段注解 @ExcelIgnore 背景 只要一个注解 @Id @Column(name = "id") @GeneratedValue(strategy = GenerationType.IDENTITY) //设置主键生成策略 属性是自动生成 @ExcelProperty(value = "序号") //不显示字段注解 @ExcelIgnore private Integ

更改类的属性类型后发现的坑org.apache.ibatis.type.TypeException: Could not set parameters for mapping

背景 本次将一个类的属性从Integer改成String,上线后发现有这种报错org.apache.ibatis.type.TypeException: Could not set parameters for mapping org.apache.ibatis.type.TypeException: Could not set parameters for mapping: Parameter

混合知识点

基本组件定义 <script setup lang="ts">import message_info from './message_info.svg';const props = defineProps({ visible: { type: Boolean }, confirmTitle: { type: String, default: '确定' },

线上问题总结-获取不到连接池(logback 配置+代码问题)

原文链接 出错问题复盘 1、问题回顾 早上 6:00 多开始报警,数据库连接池获取不到连接,日志的报错如下: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying databa

一些执行maven命令的报错

1.mvn clean --settings ./settings.xml 需要注释掉settings.xml文件中的localRepository配置   2.mvn clean [ERROR] Failed to execute goal on project xxx-build: Could not resolve dependencies for project co

字节码指令

加载与存储指令 字节码指令 1. 将局部变量表中的变量压入操作数栈 xload_<n>(x 为 i、l、f、d、a,n 默认为 0 到 3),表示将第 n 个局部变量压入操作数栈中。 xload(x 为 i、l、f、d、a),通过指定参数的形式,将局部变量压入操作数栈中,当使用这个指令时,表示局部变量的数量可能超过了 4 个 操作码助记符 数据类型 i in

实时时钟、弱函数、json

一、实时时钟 时间戳(实时的时间【单位:s】): ​ 使用"time.h"文件: ​ mktime() ——得到一个时间戳 ​ localtime() ——得到一个当前时间的结构体(包含:年-月-日 时:分:秒) eg: 在window的powershell获取unix时间戳命令: 二、弱函数 想要实现在其他文件中调用该文件函数,可以使用弱函数调用,在相关对应文件中重写 弱函数格

运行时数据区

Java 源代码文件经过编译器编译后会生成字节码文件,经过加载器加载完毕后会交给执行引擎执行。在执行的过程中,JVM 会划出来一块空间来存储程序执行期间需要用到的数据,这块空间一般被称为运行时数据区 根据 Java 虚拟机规范的规定,运行时数据区可以分为以下几个部分: 程序计数器(Program Counter Register) Java 虚拟机栈(Java Virtual Machin

MYSQL DQL in 到底会不会走索引&in 范围查询引发的思考。

前情引子 in 会不会走索引?很多人肯定会回答、废话、如果命中了索引、那肯定会走。 其实我和大多数人一样、一开始也是这么想的、直至有一个血淋淋的案子让我有所改观、有所思考。 背景介绍 业务的工单表、我们分了64张、以userId作为分表键、业务实际场景中未使用到搜索引擎、主要是一些B端业务。 业务有一个场景是使用userId作为条件 使用in语句查询工单数据。 这里分析一下、 第一个userId

0716

# JDBC Java Database Connectivity 思想有点来源于ODBC 是一套标准,一套接口,具体实现由各个厂商提供驱动实现 # 步骤 ## Maven JAVA_HOME C:Program FilesJavajdk-21 Path 添加%JAVA_HOME%bin 下载,解压到任意位置,例如D: 配置环境变量 ```shell MAVE

接口幂等的几种方案

接口幂等 防重:防重设计主要为了避免产生重复数据 接口幂等性:除了防止产生重复数据,还要求执行多次与执行一次产生的影响是一样的 针对操作 实际案例 单据审核后,然后记录相关流水记录 解决方案一:数据库互斥锁 依赖数据库本身的锁机制实现并发事务数据修改数据串行操作 select ... for update; 注意事项: 这种加锁的方式要注意对where查询的条件加索引,防止锁表。

Android平台下的cpu利用率优化实现

目录背景CPU调频概念实现验证线程CPU亲和性概念亲和性控制API应用层控制实现验证线程优先级概念实现验证 背景 为了进一步优化APP性能,最近针对如何提高应用对CPU的资源使用、以及在多线程环境下如何提高关键线程的执行优先级做了技术调研。本文是对技术调研过程的阶段性总结,将分别介绍普通应用如何调控App频率、如何将指定线程绑定到特定CPU、如何通过提升线程优先级获得更多CPU时间片的执行。 CP

Java | 编程技巧

实践来源:Spring手撸源码 编程技巧:类代码中方法的位置顺序结构 常见的排列顺序 常量和静态变量 实例变量 构造方法 公共方法(public) 受保护的方法(protected) 私有方法(private) getter 和 setter 方法 示例 覆盖的方法往往代表了类的重要行为和逻辑,应该放在更显眼的位置。这有助于快速找到类的主要功能和行为。 编程技巧:分析类的步骤 分析一个J

Spring | 接口分析

接口分析:PointCut Pointcut 接口是面向切面编程(AOP)中的一个核心概念,它定义了在程序运行过程中,哪些点(称为"连接点")应该被拦截。具体来说,Pointcut 通过两个方法来指定拦截的规则: getClassFilter():返回一个 ClassFilter 对象,用于确定哪些类应该被拦截。 getMethodMatcher():返回一个 MethodMatcher 对象,

Spring | 类分析

类分析: AspectJExpressionPointcut AspectJExpressionPointcut 类实现了 Pointcut、ClassFilter 和 MethodMatcher 接口,主要用于通过 AspectJ 表达式定义切入点。在 AOP 中,这种方式允许我们使用复杂的表达式来匹配类和方法,从而实现更灵活的切面逻辑。 类声明和字段 SUPPORTED_PRIMITIVE

Android 开发学习笔记

Android 开发学习笔记 基本概念 Android 应用程序由一些零散的有联系的组件组成,通过一个工程 manifest 绑定在一起。在 manifest 中,描述了每一个组件以及组件的作用,其中有 6 个组件,它们是 Android 应用程序的基石。Android 有四大组件(也有说六大组件的,外加 Intent 和 Notification),分别是 Activity,Service,Co

spring data mongodb 如何以事物的方式进行增删改查

在Spring Data MongoDB中使用事务(transactions)来进行增删改查操作可以确保这些操作要么全部成功,要么全部失败,从而保证数据的一致性。以下是使用Spring Data MongoDB事务的一些关键步骤和示例: 前提条件 MongoDB版本:确保你使用的MongoDB版本为4.0或更高,因为事务支持是从4.0版本开始引入的。 副本集:事务只能在副本集(Replica S

如何在 Android 项目中应用 OpenCV?

如何在 Android 项目中应用 OpenCV? 流程总览 导入 OpenCV 库 在 Android 项目中配置 OpenCV 创建人脸识别器 识别并裁剪人脸区域 显示裁剪后的人脸图片 具体实现 导入 OpenCV 库 先去 OpenCV 官网下载 OpenCV 的 Android 库并解压:https://opencv.org/releases/ 在项目中点击 file->new

[LeetCode] 2196. Create Binary Tree From Descriptions

You are given a 2D integer array descriptions where descriptions[i] = [parenti, childi, isLefti] indicates that parenti is the parent of childi in a binary tree of unique values. Furthermore, If isLef

Kafka系列---【CentOS7离线安装kafka集群】

1.安装包下载并上传 上传到:/opt/app/middles Kafka: https://archive.apache.org/dist/kafka/2.4.1/kafka_2.12-2.4.1.tgz Zookeeper(apache-zookeeper-3.5.7-bin.tar.gz): http://archive.apache.org/dist/zookeeper/zookeeper

java反序列化cc1链

危险方法:exec 第一步 InvokerTransform.transform 第二步 第三步 InvokerTransformer源码部分 第四步:寻找transform调用地方:checkSetvalue 第五步:寻找checkSetvalue调用 找到可利用的位置 第六步:寻找readobject中调用setvalue 位置:sun.reflect.ann

flask,mysql,html,js如何实现VIP会员可以观看视频但普通会员不可以观看

要实现VIP会员可以观看视频但普通会员不可以观看的功能,可以使用Flask作为后端框架,MySQL作为数据库,HTML和JavaScript作为前端。以下是一个简单的实现步骤: 数据库设计: 创建一个用户表,包含用户ID、用户名、密码、会员类型(VIP或普通)等字段。 创建一个视频表,包含视频ID、视频名称、视频路径等字段。 Flask后端: 创建Flask应用,设置路由和视图函数。

ELK平台部署

一、ELK 1.什么是ELK 通俗来讲,ELK 是由 Elasticsearch、Logstash、Kibana 三个开源软件的组成的一个组合体,ELK 是 elastic 公司研发的一套完整的日志收集、分析和展示的企业级解决方案,在这三个软件当中,每个软件用于完成不同的功能,ELK 又称为ELK stack,官方域名为 elastic.co,ELK stack 的主要优点有如下几个:处理方式灵活

daizhengli

unix时间戳的定义 function UnixTimeStampToDateTime(unixTimeStamp: Int64): TDateTime; const UnixStartDate: TDateTime = 25569.0; // 1970-01-01 begin Result := TTimeZone.Local.ToLocalTime(IncSecond(UnixDateDelt

如何在上传文件到 COS 时同步获取文件信息

背景介绍 本文将介绍如何在上传文件到 COS 时同步获取文件信息,如图片的宽高、格式等。 目前,可以通过 COS 上传接口,如 PUT Object、CompleteMultipartUploads 等将文件存储至 COS 存储桶中,我们针对以下三种场景提供上传时同步获取文件信息的方式: ReturnBody 是 COS 对外提供的一种获取文件信息的方式。在上传请求(PUT Object、P

<<  <  279  280  281  282  283  284  285  286  287  288  289  >  >>