自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 10年开发大佬,用300案例,附学习路线,详解多线程编程核心技术(1)

学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!最后再分享的一些BATJ等大厂20、21年的面试题,把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。Mybatis面试专题MySQL面试专题并发编程面试专题诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。

2024-05-22 18:56:32 347

原创 10分钟认识RocketMQ,想进阿里连这个都不会?

地事务执行的最终结果。

2024-05-22 18:55:58 224

原创 10分钟认识RocketMQ!想进阿里连这个都不会?

用户发起海量秒杀请求1到秒杀业务处理系统。秒杀处理系统按照秒杀处理逻辑将满足秒杀条件的请求1发送到消息队列MQ。下游的通知系统订阅1消息队列MQ的秒杀相关消息,再将1秒杀成功的消息发送到相关用户。用户收到秒杀成功的通知。1.3、常见的MQ产品目前业界有很多MQ产品,比较出名的有:ZeroMQ、RabbitMQ、ActiveMQ、RocketMQ、Kafka。号称最快的消息队列系统,尤其针对大吞吐量的需求场景。

2024-05-22 18:55:23 369

原创 10分钟搞定OAuth2

第二部分我们称其为载荷(payload, 类似于飞机上承载的物品)第三部分是签证(signature).headerjwt的头部承载两部分信息:声明类型,这里是jwt声明加密的算法 通常直接使用 HMAC SHA256 完整的头部就像下面这样的JSON:然后将头部进行base64加密(该加密是可以对称解密的),构成了第一部分.playload载荷就是存放有效信息的地方。这个名字像是特指飞机上承载的货品,这些有效信息包含三个部分标准中注册的声明公共的声明私有的声明。

2024-05-22 18:54:48 283

原创 10万字Spring Boot详细学习笔记+源码免费开放下载,京东T7大牛纯手写出来的!

小编精心为大家准备了一手资料以上Java高级架构资料、源码、笔记、视频。Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术【附】架构书籍BAT面试的20道高频数据库问题解析Java面试宝典Netty实战算法BATJ面试要点及Java架构师进阶资料20道高频数据库问题解析2. Java面试宝典3. Netty实战4. 算法[外链图片转存中…(img-ZO05NTYz-1716375230606)]

2024-05-22 18:54:13 275

原创 1047 行 MySQL 详细学习笔记(值得学习与收藏)(1)

选择类型列属性(列约束)建表规范SELECT查询UNION子查询连接查询(join)导出INSERTDELETETRUNCATE备份与还原视图事务(transaction)锁表触发器SQL编程

2024-05-22 12:43:35 93

原创 100道JAVA面试题+JAVA面试题参考答案

原则上回答全面的话,应该是完整的说出带有继承的这种类的初始化过程,下面有个步骤可以参考:1.装载程序的时候首先找到的是它的基(父)类,如果有多层基(父)类则会一级一级的往上找最后找到根基(父)类。2.执行根基础(父)类中的static初始化,再执行下一个衍生类中的static,依此类推,一直保持这个顺序。3.此时类已经装载完毕,开始创建对象,所有的基本数据类型都会设成它们的默认值,对象句柄设为null4.调用基础(父)类的构造方法,基础(父)类的构建采用与衍生类构造方法完全相同的处理过程。5.构造方法初始完

2024-05-22 12:42:59 290

原创 10 个冷门但又非常实用的 Docker 使用技巧

当你 docker run 了之后却发现里面有一些参数并不是你想要的状态比如你设置的 nginx 容器 cpu 或者内存太小,这个时候你就可以使用 docker update 去修改这些参数。我一般使用这两个命令去下载打包 Kubernetes 的镜像,因为你知道的国内的网速并不像国外那么快。这个命令可以帮助你实时获取 docker 的各种事件信息,比如创建了一个容器什么的。当你运行了一个容器但是想要暂停它运行的时候,你就可以使用这个命令。这样你就可以知道这个容器是正常退出的还是异常退出的了。

2024-05-22 12:42:21 805

原创 07-网关Gateway 应用实践

背景分析我们知道,一个大型系统在设计时,经常会被拆分为很多个微服务。那么作为客户端要如何去调用 这么多的微服务呢?客户端可以直接向微服务发送请求,每个微服务都有一个公开的URL,该URL可以直接映射到具体的微服务,如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。这样的架构,会存在着诸多的问题,例如,客户端请求不同的微服务可能会增加客户端代码或配置的复杂性。还有就是每个服务,在调用时都需要独立认证。并且存在跨域请求,也在一定程度上提高了代码的复杂度。

2024-05-22 11:59:19 357

原创 06-Sentinel限流熔断应用实践

例如设置了关联资源为ur2时,假如关联资源url2的qps阀值超过1时,就限流url1接口(是不是感觉很霸道,关联资源达到阀值,是本资源接口被限流了)。在高并发业务场景中,两个接口都会占用资源,如果读取接口访问过大,就会影响写入接口的性能。Sentinel的控制台其实就是一个SpringBoot编写的程序,我们需要将我们的服务注册到控制台上,即在微服务中指定控制台的地址,并且还要在消费端开启一个与sentinel控制台传递数据端的端口,控制台可以通过此端口调用微服务中的监控程序来获取各种信息。

2024-05-22 11:58:42 350

原创 04【Spring声明式事、传播行为、AOP事务控制】_aop事务传播行为

rollback-for: 指定特定的异常才回滚(默认情况下,任何的运行时异常事务都会回滚,但编译时异常都不会进行回滚),该配置针对于编译时异常;REQUIRED:必须要有事务,如果已经存在事务,则加入到这个事务中,如果没有事务则创建一个新的事务。NESTED:如果存在事务,则嵌套在事务内执行,如果没有事务则与REQUIRED保存一致。NOT_SUPPORTED:非事务方式,如果调用此方法之前就存在事务,则挂起事务。NEVER:非事务方式运行,如果调用此方法之前存在事务,则抛出异常。

2024-05-22 11:58:04 314

原创 1600+的《Java面试核心》,让你金九银十不慌,吊打面试官(1)

简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的映射关系。简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的映射关系。Dubbo的主要应用场景?MySQL锁:悲观锁、乐观锁、排它锁、共享锁、表级锁、行级锁。简述 Mybatis 的插件运行原理,以及如何编写一个插件?简述 Mybatis 的插件运行原理,以及如何编写一个插件?Mybatis 是如何进行分页的?分页插件的原理是什么?Dubbo 支持哪些协议,每种协议的应用场景,优缺点?

2024-05-20 16:45:18 289

原创 16 张图带你搞懂 Java 数据结构,从此想不飘都难!

平衡二叉树本质上也是一颗二叉查找树,不过为了限制左右子树的高度差,避免出现倾斜树等偏向于线性结构演化的情况,所以对二叉搜索树中每个节点的左右子树作了限制,左右子树的高度差称之为平衡因子,树中每个节点的平衡因子绝对值不大于 1。链表在物理存储空间是不连续的,但每个节点要么知道它的下一个节点是谁,要么知道它的上一个节点是谁,仿佛就像我们之间隔着千山万水,却心有灵犀一点链。,因为可以使用二分查找法,当数据增大 n 倍时,耗时增大 logn 倍(这里的 log 是以 2 为底的,每找一次排除一半的可能)。

2024-05-20 16:44:41 629

原创 15道常考SpringBoot面试题整理

Spring JavaConfig是Spring社区的产品,它提供了配置Spring IoC容器的纯Java方法。因此它有助于避免使用XML配置。使用JavaConfig的优点在于:面向对象的配置。由于配置被定义为JavaConfig中的类,因此用户可以充分利用Java中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean方法等。减少或消除XML配置。基于依赖注入原则的外化配置的好处已被证明。但是,许多开发人员不希望在XML和Java之间来回切换。

2024-05-20 16:44:03 753

原创 1017 The Best Peak Shape (35 分)(最佳峰形)(思路+详解+翻译+题意分析)Come brather!!!!!!!!!

if(m_first[i] == 0 || m_last[i] == 0)//如果出现递增或递减序列 那么其m_last[i] == 0, m_first[i] == 0。m_first[i] = max(m_first[i],m_first[前面的数] + 1),这里加一是表示统计第一次前面有数比起小的时候为1。m_first[i] = max(m_first[i],m_first[前面的数] + 1),这里加一是表示统计第一次前面有数比起小的时候为1。//存的是m[i] 前面比起小的个数。

2024-05-20 16:31:04 403

原创 100道MySQL数据库面试题解析_mysql理论例题讲解

事务A、B交替执行,事务A被事务B干扰到了,因为事务A读取到事务B未提交的数据,这就是脏读在一个事务范围内,两个相同的查询,读取同一条记录,却返回了不同的数据,这就是不可重复读。事务A查询一个范围的结果集,另一个并发事务B往这个范围中插入/删除了数据,并静悄悄地提交,然后事务A再次查询相同的范围,两次读取得到的结果集不一样了,这就是幻读。可以看我这篇文章哈:一文彻底读懂MySQL事务的四大隔离级别。

2024-05-20 16:30:30 841

原创 100道JAVA面试题+JAVA面试题参考答案

【参考答案】常用的类:String、StringBuffer、Integer、Vector、ArrayList、Hashtable等常用的包:java.lang java.io java.util、java.sql。常用的接口:集合中的List、Set、Map接口;与Servlet API相关的Servlet接口、HttpServletRequest,HttpServletResponse,HttpSession接口等。39、 Collections 和 C ollection 的区别【天晟科技】【参考答案

2024-05-20 16:29:56 874

原创 1000+ 道 Java面试题及答案整理(2024最新版)

84、hashCode 和 identityHashCode 的区别?3、Comparable 和 Comparator 接口的区别?4、Collection 和 Collections 的区别?5、Enumeration 和 Iterator 接口的区别?31、fail-fast 与 fail-safe 有什么区别?19、你怎么理解 wait、notify、notifyAll?4、什么是比特(Bit)、字节(Byte)、字符(Char)?4、什么是比特(Bit)、字节(Byte)、字符(Char)?

2024-05-20 16:29:19 904

原创 04-JWT技术分析及应用实践

注意,JWT 默认是不加密的,任何人都可以读到,所以不要把秘密信息放在这个部分。这个 JSON 对象也要使用 Base64URL 算法转成字符串。Signature部分Signature 部分是对前两部分的签名,其目的是防止数据被篡改。首先,需要指定一个密钥(secret)。这个密钥只有服务器才知道,不能泄露给用户。然后,使用 Header 里面指定的签名算法(默认是 HMAC SHA256),按照下面的公式产生签名。secret)

2024-05-20 16:24:15 626

原创 03-Eureka学习

Eureka Server:提供服务的注册于发现。zookeeperService Provider:将自身服务注册到Eureka中,从而使消费方能够找到。Service Consumer:服务消费方从Eureka中获取注册服务列表,从而找到消费服务。

2024-05-20 16:23:41 1026

原创 02【SpringMVC的工作流程】_springmvc是根据处理器映射器解析出目标handler

1、客户端发送请求给前端控制器(DispatcherServlet)2、dispatcherServlet接收到请求调用HandlerMapping处理器映射器3、,找到并生成处理器对象(handler)返回4、dispatchServlet将handler传入处理器适配器,使用合适的适配器执行5、6、执行完成最终封装一个ModelAndView(模型和视图)7、将ModelAndView返回给前端控制器8、前端控制器将请求的路径交给视图解析器进行解析9、

2024-05-20 16:23:07 679

原创 01-SpringBoot技术快速入门

为了更好理解sping框架的底层注入机制,现在进行案例API设计,理解API的依赖注入过程,如图所示:在这个案例中单元测试类CacheTests中定义一个Cache接口类型的属性,然后由Spring框架完成对cache类型属性值的注入。代码编写及测试分析第一步:定义Cache接口,代码如下:第二步:定义Cache接口实现类SoftCache,代码如下:@Component。

2024-05-20 16:22:33 480

原创 13万字!腾讯高工手写JDK源码笔记 带你飙向实战

在Lock和Phaser的实现中,已经介绍了基于CAS实现的无锁队列和无锁栈。[图片](https://img-blog.csdnimg.cn/img_convert/281d5a8。看源码这东西不能急,慢一点才能更快!也希望这篇“JDK源码剖析”对各位大哥们也有所帮助!看源码这东西不能急,慢一点才能更快!也希望这篇“JDK源码剖析”对各位大哥们也有所帮助!获取往期更多最新面试题资料,直接转发一下这篇文章即可免费获取。获取往期更多最新面试题资料,直接转发一下这篇文章即可免费获取。

2024-05-20 16:09:22 164

原创 13W字!2024最新发布互联网大厂高频面试技术点!

redis 内存淘汰机制(MySQL⾥有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?为什么我们调⽤ start() ⽅法时会执⾏ run() ⽅法,为什么我们不能直接调⽤ run() ⽅。说⼀说 ArrayList 的扩容机制吧2.2.5 HashMap 和 Hashtable 的区别。⼀个类的构造⽅法的作⽤是什么?什么是数据库连接池?在调⽤⼦类构造⽅法之前会先调⽤⽗类没有参数的构造⽅法,其⽬的是?执⾏execute()⽅法和submit()⽅法的区别是什么呢?

2024-05-20 16:08:48 867

原创 133个Java面试问题列表(上)

double 和 long 都是64位宽,因此对这两种类型的读是分为两部分的,第一次读取第一个 32 位,然后再读剩下的 32 位,这个过程不是原子的,但 Java 中 volatile 型的 long 或 double 变量的读写是原子的。意思就是说,在你写一个 volatile 域时,能保证任何线程都能看到你写的值,同时,在写之前,也能保证任何数值的更新对所有线程是可见的,因为内存屏障会将其他所有写的值更新到缓存。甚至有的 JVM,如 Azul,堆内存到 1000G 都是可能的。

2024-05-20 16:08:14 609

原创 130 个相见恨晚的超实用网站,一次性分享出来

码力全开(产品/设计师/独立开发者的资源库): https://www.maliquankai.com/designnav/爱给网(免费素材下载的网站,包括音效、配乐,3D、视频、游戏,平面、教程): http://www.aigei.com/熵数(图表制作,数据可视化):https://dydata.io/appv2/#/pages/index/home。图片立体像素画: https://pissang.github.io/voxelize-image/

2024-05-20 16:07:39 771

空空如也

空空如也

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

TA关注的人

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