自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 java中的锁

​//检测​​​ 如果在运行过程中,同步锁只有一个线程访问,不存在多线程争用的情况,则线程是不需要触发同步的,这种情况下,就会给线程加一个偏向锁​ 锁竞争:如果多个线程轮流获取一个锁,但是每次获取锁的时候都很顺利,没有发生阻塞,那么就不存在锁竞争。只有当某线程尝试获取锁的时候,发现该锁已经被占用,只能等待其释放,这才发生了锁竞争,发生了竞争偏向锁就升级为轻量级锁​:当一个线程访问该对象时,JVM会将对象头中的Mark Word复制一份到线程栈中,并在对象头中存储线程栈中的指针。

2024-10-02 01:23:40 525

原创 12java泛型总结

​ 本文参考了 原文链接:https://blog.csdn.net/weixin_45395059/article/details/126006369,且部分内容转自 原文链接:https://blog.csdn.net/weixin_45395059/article/details/126006369,原文对泛型的理解非常透彻,大家可以去看原文,本文加了部分自己的理解。

2024-09-28 18:28:48 374

原创 自定义线程工厂

【代码】自定义线程工厂。

2024-09-27 23:08:10 117

原创 使用openfeign完成微服务之间的远程调用,微服务之间的上下文打通

1.假设现在有两个微服务,jc-club-subject-dev和jc-club-auth-dev,我们想在subject中调用auth微服务,获取到用户信息,既然想要调用auth微服务,那auth微服务就需要提供对外提供的api,所以在api包里面,创建了一个UserFeignService接口,提供了一个对外的api, 在这里面把我们想要提供的对外接口,从当前微服务中的controller接口中把函数粘贴过来即可。2.在对应接口加上@FeignClient("当前提供api的微服务名称")注解。

2024-09-27 13:53:02 397

原创 实现网关层与基础微服务上下文打通以及常见错误

如有错误请在评论区指正。loginContextHolder就是将loginid放入到threadlocal里面。此时我们就可以使用loginContextholder拿到loginid了。//别忘了将拦截器注册搭配ioc容器中。

2024-09-27 13:20:21 218

原创 微服务中satoken的使用

比如直接从mysql中获取,或者从redis中获取,如果从redis中获取,需要我们用户注册的时候,给用户分配role,也就是在将用户插入user表的时候,同时插入userid_roleid表,然后从roleid_permissonid查到权限集合,使用redistemple将username(也就是loginid),permissList)放入到redis中,回到原题要在gateway鉴权那就需要权限集合,实现接口StpInterface重写getrole(),getpermiss()

2024-09-27 13:07:50 983

原创 spring boot 中的@RequestController注解和@Data注解需要注意的的地方

那么json在格式化的时候,需要调用对象的字段get函数拿到该字段,才能json序列化这个字段,没有写get函数的将无法json序列化返回给前端,如果你返回的对象没有任何一个字段具有get函数,那么发送请求之后你的代码将会报出org.springframework.http.converter.HttpMessageNotWritableException,无法写出的异常,前端只会收到报错信息。

2024-09-24 02:41:35 155

原创 堆排序java

/length/2 目的是将所有具有子节点的节点传过去 完全二叉树的非叶子节点数 例如 1,2,3,4 从下标0,1就是非叶子节点。//记录temp 应该放入的位置此时不交换,可以减少交换次数,前两步我们始终用temp对比所以此时可以不交换,只进行记录。//将数组变成一个大根堆,尽量从最后一个非叶子节点开始,可以降低一定的时间复杂度。//如果此时是大于左右子节点,则跳出循环,已经找到了对应的位置。//如果此时具有右节点,则找到两个节点中更大的一个数。//满足i<nums.length/2。

2024-09-21 23:09:10 274

原创 nacos的服务注册与动态配置切换

/在1中我们以及添加了版本信息 在此进行版本控制,意思就是org.springframework.cloud ,这个dependencies可以理解为只要group id为org.springframework.cloud,则使用这个版本。file-extension: yml //3.当前动态配置data-id的后缀,拼接在prefix的后面。//1.当前动态配置data-id的前缀,如果不设置则是默认的spring.application.name。

2024-09-21 23:08:00 783

原创 2021-11-14

标题c语言中大数相加(两个正数和gets使用时需要注意的地方1这是在学校实验室纳新时遇到的面试题,当时看完就懵了,为什么会有这个面试题,然后在网上查找资料发现了这个问题,unsigned long long ,是c语言数据类型中,能表示最大的数是2的32次方减去1,所以,当我们要进行更大的数相加时,就要想另外的办法。把两个很大的数放入两个不同的字符串数组里面,然后再把字符串里面的每个字符,通过acill码,倒过来放进两个数组里面,然后想办法对数组里的每一位相加,然后在对进位进行考虑。这些我自己肯定是想不出

2021-11-14 00:58:40 101 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除