Java

腾讯 60,000 年终奖已到账,开心过年

大家好,我是R哥。 不错,腾讯今年又给我发年终奖了,这次是 6 万个红包封面定制额度: 感谢腾讯,感谢马老板。 今年的额度比去年的 20 万少了不少,不过去年也没有领完,今年估计也够用,毕竟不是所有粉丝都能看到我的福利。 昨天下午用 AI 匆忙搞定了「龙」的设计: 然后火速提交给了官方审核: 本来以为要几天才能审核完,会被打回什么的,没想到个把小时就审核完了,不得不感叹腾讯红包封面团队的工作

代码整洁之道(一)之优化if-else的8种方案

我们日常开发的项目中,如果代码中存在大量的if-else语句,阅读起来非常的折磨(直接劝退),维护起来也很难,也特别容易出问题。比如说以下: 接下来,本文介绍我们常使用的8种方法去优化if-else。 1、提前return,让正常流程走主干 如果if-else代码中包含return语句,或者我们可以将包含if-else的代码从主干中抽取到一个单独方法,这样就可以在这个方法中可以return掉。

SpringBootTest

引入依赖 pom 文件中添加以下依赖 建立测试类

IDEA编译生成可运行jar包 和 运行jar包报java.lang.NoClassDefFoundError错误,注意 MF文件目录不要用默认目录,改成项目根目录

IDEA编译生成可运行jar包 和 运行jar包报java.lang.NoClassDefFoundError错误,注意 MF文件目录不要用默认目录,改成项目根目录 运行环境: 操作系统:ubuntu20.04 java version: openjdk version "11" 2018-09-25 OpenJDK Runtime Environm

windows升级jdk17(jdk8与jdk17切换)

背景:其中一个项目升级为jdk17环境,其他项目使用jdk8 windows安装jdk17 下载安装jdk17 保持和原来jdk8目录一致 删除安装jdk17多出来的两个环境变量  回顾三个地方 分别是第一级的系统变量 `%JAVA_HOME%`配置jdk位置,第二级的path,classpath 切换修改的地方系统变量jdk目录 验证 cmd->java -version/j

Qt QVector 详解:从底层原理到高级用法

引言:QVector的重要性与简介   在计算机编程的世界中,数据结构是一个核心概念,它为我们提供了有效地组织和存储数据的方法。在众多数据结构中,向量(Vector)作为一种动态数组,因其灵活性和高效性受到了广泛的关注。特别是在使用 Qt 框架进行 C++ 编程时,QVector 成为了程序员们的得力工具。   QVector 是 Qt 容器类库中的一个重要组成部分,它提供了类似于 C++ 标准库

token的使用

1 base64编码 1.1 什么是Base64 所谓Base64,就是说选出64个字符:小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"(再加上作为垫字的"=",实际上是使用65个字符),作为一个基本字符集。然后,其他所有符号都转换成这个字符集中的字符。 1.2 linux base64命令 1.2.1 Linux下用base64命令编解码字符串 编码: echo -n '

Mybatis-Plus无法更新空值

一、在实体类字段上添加 设置null值的jdbc类型,和mybatis-plus的更新策略 二、使用UpdateWrapper或lambdaUpdate

mybatis 传递参数的7种方法

  文章目录1.第一种方式 匿名参数 顺序传递参数2.第二种方式 使用@Param注解3.使用Map传递参数4.用过java bean传递多个参数5.直接使用JSON传递参数6.传递集合类型参数List、Set、Array7.参数类型为对象+集合 在实际开发过程中,增删改查操作都要涉及到请求参数的传递,今天这节就集中讲下在mybatis中传递参数的7中方法 单个参数的传递很简单没有什么好

二维动态规划(下)

二维动态规划(下) 115. 不同的子序列 72. 编辑距离 97. 交错字符串 有效涂色问题 删除至少几个字符可以变成另一个字符串的子串

如何看待开发者是否需要入坑鸿蒙?

前言 自打华为2019年发布鸿蒙操作系统以来,网上各种声音百家争鸣。尤其是2023年发布会公布的鸿蒙4.0宣称不再支持Android,更激烈的讨论随之而来。 通过本文,我将给大家介绍以下几点,让大家清楚的了解到鸿蒙开发的趋势: 1.HarmonyOS与OpenHarmony区别 2.移动开发现状 3.鸿蒙开发优劣势 4.到底需不需要入坑? 1. HarmonyOS与OpenHarmony区别

java8线上GC问题排查

问题 线上长时间 fullGc 项目输出了对应的gc日志 , 启动参数里增加了对应启动参数 在 gceasy 上直接上传对应的gc日志文件, 对应网址 : https://gceasy.io/, 看到这个严重问题 尝试通过业务日志定位问题 如果线上允许停顿 10 分钟的情况下, jmap 导出数据, 使用 MAT 进行详细分析 备注 我使用的是 java8, 所以下载的对应

Asp .Net Core 系列:Asp .Net Core 配置 System.Text.Json

目录简介Asp .Net Core 如何配置 System.Text.Json所有配置全局配置对比 Newtonsoft.Json无实体类型下操作 Json自定义转换器处理 Dynamic 类型封装常用配置封装 JsonHelper 帮助类null 简介 System.Text.Json 命名空间提供用于序列化和反序列化 JavaScript 对象表示法 (JSON) 的功能。 序列化是将对象状态

方法句柄API使用

基本使用步骤 第一步,构造要调用方法的MethodType,由返回值类型+参数列表类型组成。 第二步,获取Lookup实例,一般使用MethodHandles类中提供的静态方法获取,最常用的MethodHandles.lookup()。 第三步,调用Lookup实例的findXXX方法获取到MethodHandle, 即方法句柄。主要有findConstructor、findStatic、find

优雅的安装Burp Suite(破解和汉化)

我的博客上的这篇文章:Burp Suite 安装 前言 工欲善其事必先利其器,Burp Suite 作为必不可少的工具,安装是非常有必要的。 下载 Burp Suite Pro 2022.11.4 本体 BurpSuiteCN 汉化包 BurpLoaderKeygen 注册机 安装 下载Burp Suite Pro 2022.11.4,按照常规步骤安装 注:建议更换路径安装 下载Burp

正则表达式底层实现

1、不考虑分组 代码示例 代码解析 ①、matcher.find() 根据指定的规则,定位满足规则的子字符串(比如content中的第一个匹配结果2000) 找到后,将子字符串的开始、结束索引记录到matcher对象的属性 int[] groups 中 groups[0] = 0; 记录的为子字符串开始索引 groups[1] = 4; 记录的为子字符串结束索引 + 1 同时记录ol

Java中,遍历List集合有以下四种方式

1.增强for循环(foreach):这种方式是最简单的,也是最易读的。它直接对集合中的每个元素进行操作,不需要额外的迭代器或索引变量。但是,这种方式不能在遍历过程中修改集合的结构(例如添加或删除元素)。 2.使用迭代器:迭代器提供了一种通用的遍历集合的方式,可以在遍历过程中修改集合的结构。但是,使用迭代器需要更多的代码,并且可能不如增强for循环直观。 3.使用ListIterator:List

错误码处理类的设计

云API错误码的设计规则 腾讯云云API错误码分为两级。以点号分隔。 第一级错误码统一由API平台提供 ,业务选择合适的错误场景。第二级错误码可选,业务可自定义。 例如,InvalidParameter.InvalidUserName。其中, 第一级错误码为InvalidParameter,表示这是一个参数错误。第二级错误码为InvalidUserName,表示具体错误的原因是UserName非法

服务器基础与硬件架构

一、服务器概念与特性   服务器Server     服务器是一种高性能计算机,作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。做一个形象的比喻:服务器就像是邮局的交换机,而微机、笔记本、PDA、手机等固定或移动的网络终端,就如散落在家庭、各种办公场所、公共场所等处的电话机。   服务器是网络数据的节点和枢纽,是一种高性能计算机,存储、处理网络上80%的数据、信息,负责

编程常用单词

freedom silence 沉默;寂静;无声; call of silence free 自由的;免费的;空闲的;免税的;自然的, 不拘束的; You will know you're reborn tonight 你会知道今晚你重生 Must be alright, but I stay by your side 肯定没事,但我会陪在你身边 基本单词: //Javabean, POJO,

sensitive-word-admin 敏感词控台 v1.2.0 版本开源

开源目的 丰富 sensitive-word 的生态。 提供最基本的操作例子,便于在此基础上丰富实现自己的敏感词控台。 避免重复开发的成本,让更多的精力专注于业务。 拓展阅读 sensitive-word-admin 敏感词控台 v1.2.0 版本开源 sensitive-word 基于 DFA 算法实现的高性能敏感词工具介绍 v1.2.0 版本特性 优化对应的组件依赖,sensitiv

关于json和64位表示

转自:https://segmentfault.com/a/1190000002608050 1.介绍 JSON本身并没有对整数的大小有硬性限制,而是依赖于使用JSON的库以及相应的编程语言的数据类型。JSON(JavaScript Object Notation)是一种轻量级数据交换格式,它独立于语言和平台。 nodejs中使用JavaScript语言,JavaScript能表示的最大值是2^

SpringBoot责任链与自定义注解:优雅解耦复杂业务

引言 责任链模式是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者处理请求。在实际应用中,责任链模式常用于解耦发送者和接收者,使得请求可以按照一定的规则被多个处理者依次处理。 首先,本文会通过一个实例去讲解SpringBoot使用责任链模式以及自定义注解优雅的实现一个功能。我们现在有如下图一样的一个创建订单的业务流程处理,我们选择使用责任链模式去实现。 我们分析下流程,发现

解决MySQL设置时区时的错误Unknown or incorrect time zone: 'Asia/Shanghai'

问题描述: 在trino中配置了mysql.properties文件,但是通过trino客户端,执行命令show schemas from mysql ;查看数据库信息时报错:Error listing schemas for catalog mysql: java.sql.SQLNonTransientConnectionException: Could not create connectio

React 使用的Redux, action type 抽离成常量好还是直接写死好

React 使用的Redux, action type 抽离成常量好还是直接写死好? 在React与Redux结合进行状态管理时,将action type抽离成常量是一种更推荐的做法,而不是直接写死在代码中。原因如下: 减少错误: 如果直接在action creator或reducer中硬编码字符串类型的action type,容易因拼写错误或大小写不一致而导致reducer无法正确响应a

Optional是什么

Optional类是Java中的一个泛型类,引入自Java8版本,它用于表示一个可能为空的值,并提供了一些便捷的方法来处理这种情况,以避免空指针异常。 是一种优雅地处理可能为空的值的方式 可以包装任意类型的值,包括引用类型和基本类型的包装类 Optional类常见方法 可以通过调用Optional.of(value)来创建一个包含非空值的Optional实例 可以通过调用Optional.em

SpringBoot实现动态数据源配置

场景描述: 前一阵子接手的新项目中需要使用2个数据源。 一个叫行云数据库,一个叫OceanBase数据库。 就是说,我有时候查询要查行云的数据,有时候查询要查 OceanBase 的数据,咋办? 废话不多说, 下面以mysql为例,开整。 一、环境依赖 二、实现思路 在进行下一步之前,我们必须要知道 SpringBoot 自动配置的相关原理,因为之前,我们大多是单数据源。 从前只是会用,会配置

jackson学习

转自: Java之Jackson使用详解 JSON转换-----JackSon的使用,其中常见的类(ObjectMapper) Jackson序列化(3)— Jackson中ObjectMapper配置详解 Jackson(1)之ObjectMapper配置详解

Rabbit加密算法:保护数据隐私的新选择

摘要:数据安全是当今信息时代的关键问题之一。为了保护敏感数据免受未经授权的访问和窃取,加密算法起到了至关重要的作用。本文将介绍Rabbit加密算法的优缺点,以及它如何解决现代加密中的一些问题。本文还将提供一个使用Java编写的完整示例,以帮助读者深入了解Rabbit加密算法的实际应用。 Rabbit加密解密 | 一个覆盖广泛主题工具的高效在线平台(amd794.com) https://a

<<  <  580  581  582  583  584  585  586  587  588  589  590  >  >>