![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
干货小卖部
文章平均质量分 67
IT贱男
越努力,越幸运!
展开
-
深入 Synchroized 原理,从入门到精通
CAS的英文单词CompareAndSwap的缩写,比较并替换。CAS需要有3个操作数:内存地址V、旧的预期值A、即将要更新的目标值B。CAS指令执行时,当内存地址V的值与预期值A相等时,将目标值B保存到内存当中,否则就什么都不做。整个比较并替换的操作是一个原子操作。CAS是乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其他线程都失败,失败的线程并不会挂起,而是被告知这次竞争失败,并可以再次尝试。原创 2023-06-08 15:23:51 · 1559 阅读 · 1 评论 -
Nacos 根据服务名获取所有服务实例的IP和端口列表
类,这个类的作用可以注册实例,销毁实例、当然同时也可以查询实例。这个数据同步的思路大概是这个样子的,当对定时任务数据进行了:新增、修改、删除操作,执行完这些操作之后,调用。在这个时候,当在后台管理进行定时任务操作的时候,比如:修改、新增、删除操作,需要把最新数据同步给全部的。是一个单独的微服务,部署了多套,但是全部的可执行任务是在项目启动的时候,加载到内存中进行任务执行。首先,我们微服务注册中心用的是:Nacos,本文就用 Nacos 的解决方式。微服务实例,然后达到数据同步的目的。的课程,保证收获满满,原创 2023-05-30 16:50:56 · 4625 阅读 · 1 评论 -
Apipost 一款值得使用的利器
一、引言今天是小编隔离的第22天,天气晴,心情可以,状态不错。嗯,上海加油。今天小编来推荐一款利器。二、主角登场Apipost 是一个支持模拟POST、GET、PUT常见的HTTP请求,支持团队协作,并可直接生成并导出接口文档的API调试、管理工具。你可以把这款利器看成这样的组合:Apipost = Postman + Swagger + MockPo...原创 2022-05-05 14:43:20 · 25249 阅读 · 4 评论 -
springboot版本升级,oauth2授权401
2022新年上班第一天,简单记录下春节期间,给公司项目升级,遇到的一点问题。公司有个项目之前springboot的版本是1.x,由于注册中心要换成nacos,就不得已的吧springboot版本升级。升级之后,重新打开登录页面,发现登录不上去了,看控制台消息,spring security oauth2 授权接口401了小编这里用的授权模式是:密码模式,就是通过用户密码来认证的。排查过程如下,希望能帮到你:解决一:之前低版本授权下,不是需要client_secret参数的,所以就把c原创 2022-02-07 10:09:05 · 1860 阅读 · 2 评论 -
ConcurrentHashMap1.8 最最最最最详细源码分析
声明:本文只有源码分析注释,提供正在研究ConcurrentHashMap源码的同学参考!!!1、相关重要属性/** * concurrentHash数组存放数组,默认为null,初始化默认为16 * table 存放要么是Node节点,表示链表元素,要么是TreeBin,表示红黑树 */transient volatile Node<K,V>[] table;/** * 扩容时新生成的数组,其大小是原数组的两倍 */private transient volat原创 2021-05-18 14:46:25 · 556 阅读 · 0 评论 -
HashMap1.8 最最最最最详细源码分析
声明:本文只有源码分析注释,提供正在研究HashMap源码的同学参考!!!1、put 方法final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { // 声明几个变量 // n table数组长度 // p 当前hash计算出下标,对应的第一个元素 Node<K,V>[] tab; Node<K,V> p; in原创 2021-05-18 14:40:20 · 380 阅读 · 0 评论 -
ConcurrentHashMap1.7 最最最最最详细源码分析
声明:本文只有源码分析注释,提供正在研究ConcurrentHashMap源码的同学参考!!!1、内部结构:2、Segment 分析 static final class Segment<K,V> extends ReentrantLock implements Serializable { // 尝试获取锁最大次数,可以理解为自旋次数 static final int MAX_SCAN_RETRIES = Runtime.getRunt原创 2021-05-18 14:27:57 · 877 阅读 · 4 评论 -
HashMap1.7 最最最最最详细源码分析
声明:本文只有源码分析注释,提供正在研究HashMap源码的同学参考!!!1、重要参数容量 capacity :2的N幂次方,最大容量是 2的30次方,默认16负载因子 loadFactor :默认 0.75扩容阀值 threshold :当哈希表的大小 >= 阀值时 并且当前hash对应的数组中不等于null,才进行扩容,容量 * 负载因子2、构造方法// initialCapacity 数组容量,默认 16// loadFactor 负载因子public H.原创 2021-05-17 15:00:02 · 389 阅读 · 1 评论 -
【中间件】阿里云SLS日志服务
1、引言传统来说,如果服务发生了异常行为,一般都是由开发人员,登陆相对应的服务器,找到对应服务log文件去查看。在或者,如果发生了异常行为,把异常信息记录到数据库,再去数据库或者页面平台去展示。这两种方式其实都造成了很多不便捷,第一种方式需要开发人员登陆服务器找对应的日志文件,过程本身就就比较麻烦,并且如果是集群到环境下,那就更为复杂了。第二种方式提高了开发成本。本文讲解一下如何快速的接入阿里云的SLS日志服务,文本数据接入的方式是多行-文本,主要是采集log日志文件中的数据。友情链接:阿.原创 2021-03-29 17:17:26 · 4435 阅读 · 0 评论 -
有人问学习源码究竟有什么用? 异常源码分析
一、引言小编最近接了个相当于外包的项目,在他们项目中集成一个WebSocket的服务端,嗯功能其实不难,但是前方有坑。本文主要来记录一下,如果没有了百度,在项目启动就抛异常、或者一些奇奇怪怪的问题,靠自己怎么去排查问题,同样有时候并不是所有的问题都能够通过搜索引擎来解决。除了外力,那我们就只剩下:异常信息、源码、和本身经验。项目框架用的是SpringBoot,然后集成WebSocket就行,在集成的过程中,其中有一步需要配置一个Bean。@Componentpublic class原创 2020-11-12 14:44:47 · 900 阅读 · 2 评论 -
深入理解Java线程池 ScheduledThreadPoolExecutor
1. ScheduledThreadPoolExecutor简介ScheduledThreadPoolExecutor可以用来在给定延时后执行异步任务或者周期性执行任务,相对于任务调度的Timer来说,其功能更加强大,Timer只能使用一个后台线程执行任务,而ScheduledThreadPoolExecutor则可以通过构造函数来指定后台线程的个数。ScheduledThreadPoolExecutor类的UML图如下:从UML图可以看出,ScheduledThreadPoolExecuto转载 2020-07-20 17:24:29 · 1021 阅读 · 0 评论 -
面试从int数据类型引发的一场血案,请问这真的只是基础吗?
天有不测风云,没想到今天给遇到了,早上起床大雨交加,噼里啪啦收拾出了门。面试官:你好,我这边是负责面试的,那咱们就开始吧小编:好的好的( 点点头 ) ~~面试官: 那我们从简单来先把。 一个int类型占几个字节?小编:4个字节,一个字节等于8个bit位。面试官:那你来说说byte和bit的区别 ?问到这里,小编就有点不详的预感~~首次来说 8bit = 1 byte ,计算机中最小的信号单位是bit、而最小的信息单位是byte。...原创 2020-06-08 15:54:58 · 795 阅读 · 2 评论 -
PPet —— 点进来送你一个桌面宠物,让单身码农不再孤单~~
一、引言还是今早一如既往来到公司,打开B站就开始吸取今天的欧气~~逛了这么久的B站突然发现还有这么一个骚操作,在页面有个动漫小可爱,还可以和鼠标做简单的交互。这让我小编我想到了以前小时候玩的QQ宠物,在桌面上可以游戏,喂食物等等。(左图 B站 、 右图 QQ宠物) 二、软件下载PPet,给你的桌面增加一丝色彩 ~~...原创 2020-04-16 10:21:37 · 26840 阅读 · 23 评论 -
Java递归实现多级菜单实现
一、引言小编之前写过如何实现一二级菜单的文章,回顾了下之前所实现的逻辑方式,简直惨不忍睹~~由于近期小编接触新的项目需要实现展示菜单功能,但这次的菜单是需要多级,并且级数不固定。像这种需求,一般很简单的来说就是用递归实现了,可以从第一级一直往下查,一直查询到为空为止。二、数据库表结构这里小编之列出来几个基本的字段,但是够用了CREATE TABLE `mall_categ...原创 2020-02-26 21:59:52 · 6076 阅读 · 27 评论 -
nacos —— 控制台默认用户名密码
一、引言最近疫情比较严重,小伙伴就老老实实呆在家办公吧~~新的一年小编近几个月比较忙,所以博客更新的比较慢,但是工作还是得继续呀。新年的第一篇博客,新年快乐、新年快乐、新年快乐。二、默认密码新的一年第一个礼拜小编在家办公,接触了一个新的项目,其中所使用的注册中心是阿里巴巴开源的Nacos。把Nacos服务启动之后,服务也相对注册上了,访问Nacos的后台直接弹出个登陆页面 ...原创 2020-02-04 18:41:06 · 56115 阅读 · 6 评论 -
怎么用java实现一二级菜单,以及对应的数据库表怎么设计?
一、引言 怎么实现首页中一二级菜单联动效果?在我们开发过程中经常看到有菜单的出现,一般菜单也是有分类的。一般来说一级菜单下有N个二级菜单,在我们做管理系统的时候菜单是必不可免的。那我们应该怎么去设计数据库表结构呢? 有些同学会说用三张表"父级菜单表"、"子级菜单表"、"中间关系表",用这样的方式去实现。大家有没有觉得这种发式很麻烦呢?那如果我有N级菜单,那是不是就需要建立N张数据库表,而...原创 2018-05-15 23:46:31 · 17129 阅读 · 6 评论 -
Tencent 腾讯云对象存储COS怎么使用?
最近在使用腾讯云中的对象存储,由于文件服务器稍贵,对象存储还是一个不错的选择。对于文件的上传、下载、删除都是可以进行操作的,但是不支持查询获取上传文件的列表。在使用之前需要导入所需jar包 <dependency> <groupId>com.qcloud</groupId> <artifactId>cos_api</...原创 2018-05-29 21:55:10 · 12599 阅读 · 2 评论 -
java web前端上传文件到后台常用的几种方式
一、引言 小编目前工作内容属于和第三方做接口对接,突然调换到开发产品组,需要做一个拍照上传身份证照片到后台识别的功能。一个很简单的功能,当我做到需要上传图片到后台的时候,突然感觉对上传文件的思路很乱,不知该使用什么方式来实现。所以今天小编我来总结上传文件的几种方式,屡屡自己的思路。 二、常用的几种方式 1、使用form表单提交 这种方式是...原创 2018-06-30 21:42:07 · 32147 阅读 · 10 评论 -
什么是JSONP?,以及Spring对象MappingJacksonValue的使用方式
一,引言最近小编在写这样一套服务端的代码,说白了就是提供数据和处理一些业务逻辑。这个服务端是单独的一个工程,提供给PC端,移动端(IOS,Android)等多个终端进行调用。在调试过程中发现这样的一个异常,才了解到我们的JS请求是不能跨域请求的。为了考虑安全性的问题,JS只能访问相同域名,相同端口号的地址。但是JS能跨域请求JS,正好利用了这个因素,才有了JSONP这个解决方案。错误提示信息如...原创 2018-08-19 22:18:56 · 5619 阅读 · 2 评论 -
(开源) Hitchhike —linux实战安装部署既好用又方便,云端接口调用测试工具
一、引言有没有专门负责开发接口小伙伴呢?小编我是处于和第三方公司进行接口调试,所以接口调用工具必不可少。在早些年小编我的用是一款来自火狐浏览器提供的一款工具,但是在2017年火狐放弃对该插件的维护,没办法的小编又找到谷歌浏览器的postman。相信有些童鞋应该用过把,绝大部分公司应该都用过这款,确实挺不错。那么用过postman的小伙伴有没有这样的一种困惑,感觉这个postman有点不好管...原创 2018-08-21 23:42:56 · 1200 阅读 · 1 评论 -
Git版本管理工具使用详细介绍
一、引言跟你们吐槽一下,最近小编的工作制度也改成996,怎么说? 是好是坏呢?网上很多小伙伴也在吐槽,刚开始小编也是挺反感的,毕竟之前周末一些坚持的习惯,因此都需要改变。既然公司选择了996,我们也就不必抱怨什么了,要么选择离职、要么选择接受。对于小编来说有好有坏,好的是:有更多的时间来学习之前没时间学习的内容好了,多说无益,本章介绍使用Git整个基本使用流程。二、为什...原创 2019-05-16 17:17:51 · 42370 阅读 · 1 评论 -
面试官:实现登录功能需要体现角色的概念需要多少开发时间? 小编笑了~~
一、引言可爱小编闪亮登场原创 2019-05-21 13:50:11 · 732 阅读 · 0 评论 -
javamail java邮件发送教程
Javamail教程今天尝试一下javamail发送邮件,javamail还是比较强大,废话不多说直接开始教程!javamail需要的jar点击下载, http://download.csdn.net/detail/weixin_38111957/9851885下面是javamail的Domeimport javax.mail.Session;import javax.mail.原创 2017-05-25 13:09:51 · 1213 阅读 · 0 评论