
随手记
文章平均质量分 67
变成派大星
时间好快啊 为什么时间那么快
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
需要熟记的知识 七大前后端参数传递类型结合代码讲解
不同的参数传输方式有其各自的优缺点,我们需要根据实际业务场景来选择最合适的方式。查询参数(Query Parameters):常用于GET请求,可以直接暴露在URL中,方便调试和传递简单参数。但是对于大量参数或者参数包含敏感信息时,不适合使用查询参数传递。请求体参数(Request Body Parameters):可以传递大量的数据和复杂的结构体数据,适合于POST、PUT、PATCH等请求。但是需要在前后端都进行序列化和反序列化,相对比较复杂。原创 2023-04-06 14:14:52 · 3085 阅读 · 1 评论 -
HashMap 滚瓜烂熟 ConcurrentHashMap支支吾吾
总结一下在 Java 7 中 ConcurrnetHashMap 的初始化逻辑。必要参数校验。校验并发级别 concurrencyLevel 大小,如果大于最大值,重置为最大值。无参构造默认值是 16.寻找并发级别 concurrencyLevel 之上最近的 2 的幂次方值,作为初始化容量大小,默认是 16。记录 segmentShift 偏移量,这个值为【容量 = 2 的N次方】中的 N,在后面 Put 时计算位置时会用到。默认是 32 - sshift = 28.原创 2022-11-04 18:21:22 · 424 阅读 · 0 评论 -
成长计划 巩固篇」Switch 支持的数据类型结合枚举怎么使用
即使state不为3和4,因为2中匹配后没有break,则后续代码则不会进行case判断,直到遇到break为止。1、 case 里面必须跟 break,不然程序会一个个 case 执行下去,直到最后一个 break 的 case 或者 default 出现。我们经常在编码存在不同判断的情况 switch 也经常和一些基础类型和包装类型一起去使用 但是为了方便管理我们也可以使用枚举。基本数据类型和字符串很简单不用说,下面举一个使用包装类型和枚举的,其实也不难,注意只能用在 switch 块里面。原创 2022-11-04 18:18:25 · 557 阅读 · 0 评论 -
Mybatis-Plus 使用技巧与隐患
MP 从出现就一直有争议 感觉一直 都存在两种声音转载个人掘金地址很方便啊 通过函数自动拼接Sql 不需要去XML 再去使用标签 之前一分钟写好的Sql 现在一秒钟就能写好 简直不要太方便侵入Service层 不好维护 可读性差 代码耦合 效率不行 sql优化比较难之前也有前辈说少用MP 理由就是不好维护 但是这个东西真的是方便 只要不是强制不让用 就还是会去使用 存在集合里 最近也确实有一些体会 就从两个角度去看一下MPMP 在做一些简单的单表查询可以去使用但是对于一些复杂的SQl操作还是不要用。原创 2022-11-04 18:16:45 · 3083 阅读 · 5 评论 -
另一层次去看final
按照final修饰的数据类型分类:final域写:禁止final域写与构造方法重排序,即禁止final域写重排序到构造方法之外,从而保证该对象对所有线程可见时,该对象的final域全部已经初始化过。final域读:禁止初次读对象的引用与读该对象包含的final域的重排序。额外增加约束:禁止在构造函数对一个final修饰的对象的成员域的写入与随后将这个被构造的对象的引用赋值给引用变量 重排序。原创 2022-09-30 10:45:00 · 539 阅读 · 0 评论 -
2022年 你会用AOP了没?
aop 基本都是理论背的呱呱熟 但是不会写 整理一下怎么去实现AOP日志功能 简单易上手。原创 2022-09-21 12:12:18 · 195 阅读 · 0 评论 -
怎么使用泛型让代码 简洁 健壮 高级 万字详解
从一个简单的泛型类看起:// 此处可以随便写标识符号,T是type的简称 private T var;// var的类型由T指定,即:由外部指定 public T getVar() {// 返回值的类型由外部决定 return var;// 设置的类型也由外部决定 this . var = var;// 里面的var类型为String类型 p . setVar("it");// 设置字符串 System . out . println(p . getVar() . length());原创 2022-09-19 21:18:05 · 604 阅读 · 0 评论 -
vue 中 父子组件值交互怎么使用 this.$emit
子组件 传值到父组件 使用 this.$emit(‘父组件方法名’)父组件一般通过 @ this.emit("这个名称")进行获取值例如子组件是this.emit("这个名称") 进行获取值 例如 子组件是 this.emit("这个名称")进行获取值例如子组件是this.emit(‘test’). 父组件 就是@test=“方法名”父组件传参数使用 :参数名:“参数“原创 2022-09-19 17:24:55 · 1856 阅读 · 0 评论 -
集合源码解析: Stack and Queue精讲
集合的重要程度很高 如果不能全面了解 就没法完全发挥它的作用Java里有一个叫做Stack的类,却没有叫做Queue的类(它是个接口名字)。当需要使用栈时,Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque;既然Queue只是一个接口,当需要使用队列时也就首选ArrayDeque了(次选是LinkedList)。原创 2022-09-18 12:51:52 · 1255 阅读 · 0 评论 -
集合源码解析:LinkedList 精讲
LinkedList同时实现了List接口和Deque接口,也就是说它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack)。这样看来,LinkedList简直就是个全能冠军。当你需要使用栈或者队列时,可以考虑使用LinkedList,一方面是因为Java官方已经声明不建议使用Stack类,更遗憾的是,Java里根本没有一个叫做Queue的类(它是个接口名字)。关于栈或队列,现在的首选是ArrayDeque,它有着比。原创 2022-09-18 09:26:00 · 1233 阅读 · 0 评论 -
源码解析篇:ArrayList精讲
ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。每个ArrayList都有一个容量(capacity),表示底层数组的实际大小,容器内存储元素的个数不能多于当前容量。当向容器中添加元素时,如果容量不足,容器会自动增大底层数组的大小。前面已经提过,Java泛型只是编译器提供的语法糖,所以这里的数组是一个Object数组,以便能够容纳任何类型的对象。原创 2022-09-18 09:03:46 · 1346 阅读 · 0 评论 -
分布式进阶 如何对序列化实现工具进行正确选型?
网络通信涉及到数据的有效传输,这就需要引入另一个技术组件,即。而目前关于如何实现序列化和反序列化,业界也诞生了一大批工具和框架。那么,序列化是一种什么样的技术组件?我们又应该如何对种类繁多的序列化实现工具进行正确选型呢?原创 2022-09-18 08:49:41 · 2009 阅读 · 0 评论 -
查漏补缺 二十“勇士” 冲击SQL优化
sql 优化应该是我们日常的一种习惯 不能说每次都优化到极致 但是一些基础的优化还是要会的。不然到时候被别人嘲笑就很尴尬,争取不要上慢Sql列表 一个良好的编码习惯还是很有帮助的。原创 2022-09-08 11:27:08 · 1752 阅读 · 1 评论 -
产品说接口返回数据需要脱敏 只能安排
产品提的需求 怎么能拒绝原创 2022-09-07 11:14:51 · 870 阅读 · 0 评论 -
免费域名 让别人能访问你的网站
我们有时候有一些自己的项目 想要 别人看到 但是又不知道怎么做 花钱买服务器就有点没必要 毕竟我们就是练手玩 这个时候就想要看到免费两个字 能够让外部访问项目的方法 同时难度不高的 统称为内网穿透。原创 2022-09-02 10:17:17 · 532 阅读 · 0 评论 -
一周时间深扒事务 总结代码演示篇 拿捏事务
事务在开发中非常重要 我们要尽量减少事务出错的可能性原创 2022-09-02 09:07:42 · 2709 阅读 · 0 评论 -
一周深度学习一个知识--事务类内部调用失效 学习总结篇
超详细因为 @Transactional 的工作机制是基于 实现,AOP 是使用动态代理实现的,如果通过代理直接调用 方法,通过 AOP 会前后进行增强,增强的逻辑其实就是在 方法 的前后分别加上开启、提交事务的逻辑 但是如果调用方没增加事务控制 被调用方增加 那就会造成 调用方没有AOP增强 出现异常事务也就监控不到了例子:这种情况下事务不会生原创 2022-09-02 09:08:21 · 2609 阅读 · 0 评论 -
for 循环的使用历程 不同for循环的优势
for循环 忠诚的伙伴原创 2022-08-19 11:05:34 · 2033 阅读 · 0 评论 -
npm does not support Node.js v12.6.0 You should probably upgrade to a newer version of node as we
npm 运行报错 npm does not support Node.js v12.6.0You should probably upgrade to a newer version of node as wecan't make any promises that npm will work with this version.You can find the latest version at https://nodejs.org/原创 2022-08-09 10:22:41 · 2654 阅读 · 1 评论 -
闭着眼都能学会的Excel导出 新手教程版java
闭眼就能用的 Excel 导出教程原创 2022-08-08 15:49:35 · 1506 阅读 · 0 评论 -
zsh: command not found: nvm
zsh: command not found: nvm。 问题原创 2022-07-27 11:08:38 · 2376 阅读 · 1 评论 -
降低node/npm 到指定版本(Mac)详细教程
node /npm 降低到指定版本原创 2022-07-27 11:04:37 · 6815 阅读 · 0 评论 -
五分钟小知识-----java编码中的18个好习惯有你常用的吗?
1.定义配置文件信息有时候我们为了统一管理会把一些变量放到 yml 配置文件中例如:developer: name:hugh website:https://blog.youkuaiyun.com/weixin_44994494?spm=1010.2135.3001.5421 qq:2496760580 phone-number:11111111@Value 单个@ConfigurationProperties 多个使用方法:@Data // 指定前缀 也就是你yml里面配置的东西原创 2022-04-09 12:01:25 · 2010 阅读 · 0 评论 -
五分钟小知识---高手怎么回答分布式锁这个问题
分布式锁分布式锁的理解和实现正常回答高手的回答关系型数据库redis分布式锁Zookeeper (CP型组件)公平锁什么是可重入锁呢?ZooKeeper分布式锁的原理分布式锁的理解和实现正常回答分布式锁计师它可以具备这种跨进程的锁的一个分布性,也就是说我们以前传统的那种锁,像线程级别的锁只能锁住单个线程,多个线程但是线程他是属于进程范围内的所以如果我想就是在整个的分布式架构下锁定多个进程对某个资源的访问情况下,那跨进程的这种锁的话,单线程下是没有办法进行实现的,所以需要使用到分布式锁进行操作,然后原创 2022-04-08 20:56:35 · 1414 阅读 · 1 评论 -
Node Sass version 7.0.0 is incompatible with ^4.0.0
卸载npm uninstall node-sass安装安装sass 不要安装 node-sassnpm i -D sass原创 2022-04-08 14:50:36 · 439 阅读 · 0 评论 -
三分钟小知识-----开发常用List去重方案
List去重非对象(String)Streamset对象(Object)set去重stream 去重对象直接就看最常用简洁的方案非对象(String)Stream public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("111"); list.add("222"); list.ad原创 2022-04-07 14:26:19 · 1438 阅读 · 0 评论 -
五分钟小知识---常用分布式事务
分布式事务本地事务在分布式事务下的问题CAP理论C 一致性(强一致性)A 可用性P 分区容错性BASE理论可以从三个方面讲基本可用软状态最终一致性分布式事务常见解决方案2pc模式也称为XA二阶段提交协议第一阶段主要分为3步第二阶段:提交/执行阶段(成功流程)第二阶段:提交/执行阶段(异常流程)2PC缺点性能问题单节点故障MQ事务本地事务在分布式事务下的问题其实就是本地事务只能控制住自己,反正他妈的一旦出现一个微服务里面调两个微服务的情况就会产生这种问题,因为一旦远程调用出现了网络延迟,或者宕机,他直接原创 2022-03-30 17:25:05 · 1875 阅读 · 0 评论 -
一分钟小知识---Thread.sleep(0)的意义
作用Thread.Sleep(0)的作用,就是“触发操作系统立刻重新进行一次CPU竞争”。竞争的结果也许是当前线程仍然获得CPU控制权,也许会换成别的线程获得CPU控制权。这也是我们在大循环里面经常会写一句Thread.Sleep(0) ,因为这样就给了其他线程比如Paint线程获得CPU控制权的权力,这样界面就不会假死在那里针对某条线程常常获取到 CPU 控制权的情况...原创 2022-03-30 17:00:36 · 835 阅读 · 0 评论 -
五分钟小知识----泛型中的 T、E、K、V、?等等,究竟是啥?
什么泛型通俗意义上来说泛型将接口的概念进一步延伸,”泛型”字面意思就是广泛的类型,类、接口和方法代码可以应用于非常广泛的类型,代码与它们能够操作的数据类型不再绑定在一起,同一套代码,可以用于多种数据类型,这样,不仅可以复用代码,降低耦合,同时,还可以提高代码的可读性和安全性。泛型带来的好处在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况原创 2022-03-30 16:50:43 · 2378 阅读 · 0 评论 -
[RocketMQ错]org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <XXXX> failed
更改一个配置rocketMq 包下的之后关闭broker 进程重新启动原创 2022-03-27 16:07:57 · 2369 阅读 · 0 评论 -
钉钉发送消息详细教程-- java
希望能对你有所帮助首先是进行前期准备工作流程随便申请一个企业钉钉(这个不用详细说了吧) 不用企业认证 只是成为管理员 (公司的话就跟管理员要管理员权限才能登进去)申请成功之后登陆开发者后台钉钉开发者后台3.进入首页点击应用开发-企业内部开发4.进入到应用开发 进行应用创建5.进行接口查看接口文档我们以工作通知为例子看一下文档 我们之后可以线上调试获取token用户ID获取 登陆钉钉后台通讯录查看钉钉下面是硬货 直接复制到项目改一下就行了/** *原创 2022-03-25 11:09:21 · 5179 阅读 · 0 评论 -
企业开发常用之邮箱发送 抄送 简单实现
需要引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>(重要)前期准备:这里用qq邮箱示例 开通一些权限第一步:点击设置==第二步:点击账户=第三步:开启服原创 2021-09-28 16:18:16 · 690 阅读 · 0 评论 -
狂神说 springcloud feign 运行页面404 问题
删掉启动类中的@ComponentScan 注解原创 2021-06-10 10:38:15 · 187 阅读 · 0 评论 -
springcloud 问题笔记 Redundant declaration: @SpringBootApplication already applies given @ComponentScan
在进行feign 的配置学习的时候需要在 当前包去扫描另一个包下面的文件,加上@ComponentScan出现报红的现象问题是 :冗余声明:@SpringBootApplication已经应用了给定的@ComponentScan原因 因为@SpringBootApplication中已经包含@ComponentScan注解 默认扫描当前包下面的文件这里之所以说你这注解是多余的是因为你这个扫描包的路径和默认路径是相同的要么改动只需要将路径变得不同就行了...原创 2021-06-10 10:14:31 · 17710 阅读 · 0 评论 -
git 简单明了的教程
前提:下载git工具 :链接: https://git-scm.com/downloads.出现这个就是安装成功 (在文件中)安装好之后去创建一个仓库先创建一个仓库在项目中点击 右键点击 == Git Bash Here==最后两步直接复制然后在弹窗中输入命令git initgit add *git commit -m “这里输入你提交的信息”git remote add origin mastergit push -u origin master第一次使用g原创 2021-06-09 09:33:37 · 103 阅读 · 0 评论 -
idea项目 文件旁边有个小黄时钟解决办法
选中当前项目的pom.xml,右键选择Add as maven Project等待编译一会就ok了原创 2021-06-02 14:26:15 · 4771 阅读 · 3 评论 -
BeanUtils.copyProperties 作用
BeanUtils.copyProperties(source, target);就是由源到目标的一个对象数据复制原创 2021-06-02 14:01:08 · 755 阅读 · 0 评论