Java

探究HMAC算法:消息认证与数据完整性的完美结合

Hash-based Message Authentication Code(基于哈希的消息认证码,简称HMAC)算法作为一种广泛应用的消息认证码(MAC)算法,在现代信息安全领域起着至关重要的作用。本文将从算法原理、优缺点、实际应用等方面,全面介绍和解释HMAC算法。 HMAC在线加密 | 一个覆盖广泛主题工具的高效在线平台(amd794.com) https://amd794.com/

单页应用(SPA)是什么?

来源:https://zhuanlan.zhihu.com/p/648113861 概述 单页应用(SPA,Single Page Application)是一种网页应用或网站的设计模式,它在浏览器中仅加载一个 HTML 页面,并动态地更新该页面,而不是为每个新页面加载新的 HTML。这使得应用能够与用户交互,无需重新加载整个页面。 主要特点: 动态重写:SPA 在用户与应用交互时动态地重写当前

Striped64源码阅读

目录简介模型代码分析成员变量方法补充ThreadLocalRandomContended注解 - 解决伪共享问题LongAdder & LongAccumulator参考链接 本人的源码阅读主要聚焦于类的使用场景,一般只在java层面进行分析,没有深入到一些native方法的实现。并且由于知识储备不完整,很可能出现疏漏甚至是谬误,欢迎指出共同学习 本文基于corretto-17.0.9源

git origin

在 Git 中,origin 是远程仓库的默认名称。这是因为大多数情况下,我们只需要与一个远程仓库进行交互,比如推送代码和拉取更新。为了简化操作,Git 默认将远程仓库命名为 origin。 当你克隆(clone)一个远程仓库时,Git 会自动将该远程仓库命名为 origin。这样,你就可以使用 git push 和 git pull 等命令来与 origin 关联的远程仓库进行交互,而不需要每次

Hive连接报错:root is not allowed to impersonate root (state=08S01,code=0)

问题描述 使用hive/bin目录下的hive启动客户端,使用!connect jdbc:hive2://hadoop01:10000连接Hive数据仓库时提示输入用户名和密码,输入数据库的用户名和密码报错: Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop01:10000: Failed to op

vue Cannot find namespace 'NodeJS' 解决

报错如下: Cannot find namespace 'NodeJS'.  xxx: NodeJS.Timer 解决方案: 项目/src目录下,创建global.d.ts,或者在env.d.ts下添加如下代码: declare namespace NodeJS { type Timer = any }    有问题欢迎交流!

ConcurrentHashMap是如何实现线程安全的

  但是又为何需要学习ConcurrentHashMap?用不就完事了?我认为学习其源码有两个好处: 更灵活的运用ConcurrentHashMap 欣赏并发编程大师Doug Lea的作品,源码中有很多值得我们学习的并发思想,要意识到,线程安全不仅仅只是加锁ConcurrentHashMap是怎么做到线程安全的?    get方法如何线程安全地获取key、

java线程池实现多任务并发执行

Java线程池实现多任务并发执行 1️⃣ 创建一些任务来落地多任务并发执行 每一个数组里面的数据可以看成任务,或者是需要并发的业务接口, 数组与数组之间,可以看作为他们之间有血缘关系,简单来说就是: taskJksj里面的10个任务执行完之后,才可以执行taskJxdx里面的4个任务,执行完taskJxdx之后,才可以执行taskNbzz里面的2个任务   2️⃣ 创建线程池 要将tas

List<ParamItem> lists,里如何查找里面id=3行,所在的value

如果你有一个名为 lists 的 List<ParamItem>,并且想要查找其中 id 为 3 的行,并获取对应的 value 值,可以使用 Java 8 引入的 Stream API 来实现。 下面是一个示例代码: 在这个示例中,我们使用了 Stream 的 filter() 方法来过滤出 id 等于 3 的行,然后使用 map() 方法将过滤后的结果映射为 value 值。最后

常量和变量的命名规范

常量 常量:初始化后不能再更改值!不会变动的值。 所谓常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。 变量名一般使用大写字符。 变量的命名规范 所有变量、方法、类名:见名知意 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写 lastname错 lastName对 局部变量:首字母小写

鸿蒙开发游戏(一)---大鱼吃小鱼(界面部署)

鸿蒙开发游戏(一)---大鱼吃小鱼(界面部署) 鸿蒙开发游戏(二)---大鱼吃小鱼(摇杆控制) 鸿蒙开发游戏(三)---大鱼吃小鱼(放置NPC) 鸿蒙开发游戏(四)---大鱼吃小鱼(互吃升级) 鸿蒙开发游戏(五)---大鱼吃小鱼(添加音效) 鸿蒙开发游戏(六)---大鱼吃小鱼(称霸海洋)   前言:你是否玩过古老而不失优雅的大鱼吃小鱼,小鱼的生存之路何尝不是我们这些打工人的写照,以前想

Java面向对象程序设计——带异常处理的person类

带异常处理的person类 【问题描述】定义一个Person类,属性包含姓名、年龄。方法:无参构造方法、有参构造方法、getter和setter方法、toString方法。其中:setter方法在设置年龄的时候,要求对年龄进行参数的正确性检测,年龄有效范围在1-100之间,否则抛出IllegalArgumentException异常 【输入形式】1-4的整数 【输出形式】当输入1,结果为(zhan

OGNL 基础使用和入门

一、什么是OGNL OGNL是Object Graph Navigation Language的缩写,中文意思是对象导航图语言。它是一种开源的表达式语言(Expression Language),被集成在Struts2等框架中,主要用于对数据进行访问。它拥有类型转换、访问对象方法、操作集合对象等功能,并可以通过简单的语法存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功

mybatis+postgrelsql 实现实体类中含geometry、polygon、point等字段的转化

背景: 项目需要存储包含地理字段的业务信息,架构为mybais+pg,传统的写pg函数sql可以实现,但是太麻烦,且mybatisplus的基本用法就失效了,需要扩展进行geometry类型字段自动转化来简化开发。 思路: 1.利用mybatis类型转化器进行类型转化 2.扩展SimpleModule来反序列化字符串为Geometry类型,解决前端传进来的参数转化。 相关代码实现 1.

后台生成单个Word文档

在实际项目开发中经常会遇到一种场景,客户希望点击页面上的生成文件按钮,执行程序动态填充数据到Word模板,直接在后台生成Word文档,而无需显示Word文档。目前网上有一些针对此需求的方案,但每个方案都存在很多各自的问题。 与其他方案对比 采用 Jacob 生成Word文档方案动态生成的Word文档,与PageOffice一样,文档格式是最完美的,因为都是调用的Office原生接口生成的文件,所以

springboot接口加解密传输

前言:   写这个博客的目的也是想着后面如果需要用上的时候方便参考,这篇文章使用的也是比较简单的加解密流程,但这篇文章注重点是后端对于前端传过来的加密参数怎么接收,然后统一拦截解密后又回到原本接口上, 接口返回结果时又是怎么将结果集加密后传输出去   还有一个很重要的点是接口一般是有post和get两种请求方式,对于这两种方式的拦截这一块是有讲究的, 很多博客大多讲的是单一方式,导致测试时接口出

向关注公众号的所有用户发送公众号消息

需求: 简单的向关注公众号的用户发送消息(SpringBoot框架下使用) 1.首先获得公众号配置 注: 如果是测试,可申请测试公众号 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 申请之后会得到 配置信息 模板信息和用户列表 2.发送公众号信息 1.配置文件 注意项: 对于获取token、获取用户、发送请求对应

记录--前端金额运算精度丢失问题及解决方案

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 前端开发中难免会遇到价格和金额计算的需求,这类需求所要计算的数值大多数情况下是要求精确到小数点后的多少位。但是因为JS语言本身的缺陷,在处理浮点数的运算时会出现一些奇怪的问题,导致计算不精确。 本文尝试从现象入手,分析造成这一问题原因,并总结和整合一些通用的解决方案,以供大家参考。 现象回顾 下面的是JS进行数值运算过程中常见

Azure Data Factory(十二)传参调用 Azure Function

一,引言  在实际的项目中,Azure Data Factroy 中的 Data Flow 并不能彻底帮我们完成一系列复制逻辑计算, 比如我们需要针对数据集的每一行数据进行判断计算,Data Flow 就显的有些吃力。别怕,Azure Data Factory 提供了调用 Azure Function 的组件,有了代码的加持,那么解决更复杂的都能迎刃而解!!那么就开始今天的表演吧 ---

docker的基础知识

docker的基础知识 docker命令 docker-帮助命令 docker-镜像命令 docker-容器命令 有镜像才可以创建容器,这里拉取了centos:7的镜像,用来举例 docker-常用命令 docker镜像原理 镜像概念 联合文件系统(UnionFS) docker镜像实质上是UnionFS 镜像的结构 bootfs rootfs 镜像的结构 镜像的分层

如何创建自定义启动器

对于要自定义启动器,我们首先分析下此依赖结构,随后再创建maven项目 就拿SpringBoot起步依赖来说。 1.首先需要创建一个父工程 如名称aliyun-parentd,编写pom.xml文件中 的内容 (1).修改打包方式为pom (2).继承springboot起步依赖 名称是spring-boot-parent-starter 2.后面需要创建你所需要的子工程创建自动配置的maven字

RunnerGo低代码测试体验

RunnerGo是基于go语言自研的一款企业级全栈式测试平台,采用Apache-2.0 license开源协议,涵盖接口测试、性能测试、UI测试和项目管理等功能,并独创“拖拉拽”的方式快速编排真实测试场景的功能,加速产品交付周期、保证产品交付质量,为企业测试团队和产研团队提供一站式解决方案,是目前市面上最简洁、高效、便利的测试平台。 RunnerGo官网: https://www.runnergo

你以为我在跟你讲判空

开发中经常遇到需要判空的地方,比如对字符串进行判空操作。 而有时候工具包太多不知道用哪个。 就像下图,光一个 StringUtils 就有十几个包弹出来。 怎么选? 其实用哪个都行。 最重要的是: 有一套自己用的顺手的工具。 或者换句话说: 要养成自己的开发习惯。 有了自己专属的开发习惯,不管客观上这个习惯是否是最优的,但一定要有一套,然后随着经验积累和实践,将这套习惯不断修整精进,达到个人开发

https请求获取token和cookie,并用于未来其他请求

主要参考百度AI生成的程序。上次的例子用token带入了新的请求,请求成功,正确获取response.我这里的例子是:当请求不含token时,请求失败;当请求只含有token时,监控软件没有获取请求的用户名;当请求含有token和cookie时,监控软件能获取请求的用户名。我这里需要获取用户名,因此必须请求必须加上cookie.1.用户打开baseUrl,此时请求的Request Headers和

ArrayBlockingQueue使用

改造后: 两者运行结果对比:

2024.2.1寒假每日总结23

算法题:LCP 24. 数字游戏 - 力扣(LeetCode) 学习Java

深入剖析Java中的反射,由浅入深,层层剥离!

写在开头 之前更新了不少Java的基础知识,比如Java的类、对象、基础类型、关键字、序列化、泛型、值传递等等,今天要上点深度了,来聊一聊Java中的 反射 ! 所谓反射,就是在运行时分析、检查和操作类、接口、方法、属性的行为! 简单感受一下反射 在开始详解反射之前,我们先通过一段代码,简单的感受一下反射的魅力!首先,我们已经写了一个Person类,类中有age和name属性,并提供了set/

Crypto( 11 )

yxx 将两个文件都用010打开,转为二进制 下面是异或脚本 点击查看代码 flag{xor_xor_xor_biubiubiu} [AFCTF2018]你能看出这是什么加密么 是rsa加密,脚本如下 点击查看代码 报错了,大佬说将最后的10改为9即可 flag{R54_|5_$0_$imp13} MD5 flag{admin1} 摩丝 flag{ILOVEY

Java 中 Collection接口中常用的方法

Collection接口中常用的方法 关于java.util.Collection接口中常用的方法 Collection中能放什么元素 没有使用“泛型”之前,Collectiom中可以存放Object的所有子类型 使用了“泛型”之后,Collection中只能存放某个具体的类型。 (集合中不能存储基本数据类型,也不能存储Java对象,只能存储Java对象的内存地址) Collection

<<  <  568  569  570  571  572  573  574  575  576  577  578  >  >>