自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Boot 响应式 WebFlux 笔记1

方法,参数为 Publisher 类型,泛型为 UserAddDTO 类型,并且添加了 @RequestBody 注解,从 request 的 Body。我们使用 IDEA Maven 插件 ,查看下== spring-boot-starter-webflux ==依赖中,所引入的依赖。在响应式的编程模型中,请求是被作为一个事件丢到线程池中执行,等到执行完毕,异步回调结果给主线程,最后返回给前端。在类上,添加== @Configuration== 注解,保证该类中的 Bean 们,都被扫描到。

2024-04-26 14:28:38 830 1

原创 Servlet 3.0/3.1 中的异步处理

如果一个请求需要进行IO操作,比如访问数据库、调用第三方服务接口等,那么其所对应的线程将同步地等待IO操作完成, 而IO操作是非常慢的,所以此时的线程并不能及时地释放回线程池以供后续使用,在并发量越来越大的情况下,这将带来严重的性能问题。start()方法会向Servlet容器另外申请一个新的线程(可以是从Servlet容器中已有的主线程池获取,也可以另外维护一个线程池,不同容器实现可能不一样),然后在这个新的线程中继续处理请求,而原先的线程将被回收到主线程池中。

2024-04-26 13:38:02 794 1

原创 Spring Cloud Gateway实现灰度发布功能

灰度发布又名金丝雀发布,在微服务中的表现为同一服务同时上线不同版本,让一部分用户使用新版本来验证新特性,如果验证没有问题,则将所有用户都迁移到新版本上。在微服务架构中,网关负责请求的统一入口,主要功能之一是请求路由。而灰度发布实质就是让指定用户路由到指定版本的服务上。所以该功能可以在网关这一层实现。

2024-04-26 10:08:56 602 1

原创 juc 笔记 5

*** 任务拒绝策略*//*** 任务队列// 1. 任务队列 private Deque < T > queue = new ArrayDeque < >();// 2. 锁 private ReentrantLock lock = new ReentrantLock();// 3. 生产者条件变量 private Condition fullWaitSet = lock . newCondition();

2024-04-25 16:08:51 762 1

原创 读书摘要001

在其他欲望的涌动之下,在喧闹的激情间隙,在所有转瞬即逝的寂静里,日日夜夜,年复一年,终其一生,你都在寻找、观望、倾听着它的踪迹。”我们不能将其告诉彼此,它是每一个灵魂的秘密签名,是无可交流而又无可平息的渴望,是我们在遇见我们的伴侣、交上朋友、选择工作之前就已渴望的东西;即便躺在临终的床榻上,当我们的头脑已不再意识到伴侣、朋友或工作的时候,我们仍旧心存渴望。与此相类,你面对一片风景,它们似乎蕴含了你终生求索的东西,而后你转向身边的朋友,他似乎也正看着你看到的一切——然而,话一出口,你们之间就裂开了一道鸿沟。

2024-04-23 17:23:58 149

原创 juc 笔记 4

5. 享模型之内存volatile可以解决 可见性 和 有序性 问题,但不能处理原子性问题.synchronized 则对于 可见性,有序性,原子性 都可以解决5.1 Java 内存模型JMM 即 Java Memory Model,它定义了主存、工作内存抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等。JMM 体现在以下几个方面● 原子性 - 保证指令不会受到线程上下文切换的影响● 可见性 - 保证指令不会受 cpu 缓存的影响● 有序性 - 保证指令不会受

2024-04-23 17:10:54 575

原创 redis6 笔记2

Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。Redis事务的主要作用就是串联多个命令防止别的命令插队。

2024-04-07 14:24:26 356

原创 redis6笔记1

技术的分类1、解决功能性的问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN2、解决扩展性的问题:Struts、Spring、SpringMVC、Hibernate、Mybatis3、解决性能的问题:NoSQL、Java线程、Hadoop、Nginx、MQ、ElasticSearchNoSQL数据库NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。

2024-03-29 14:30:17 786 1

原创 juc 笔记 4

● 另外如果由于某个线程进入了死循环,导致其它线程一直等待,对于这种情况 linux 下可以通过 top 先定位到CPU 占用高的 Java 进程,再利用 top -Hp 进程id 来定位是哪个线程,最后再用 jstack 排查。● 第二,如果有些干扰线程错误地 notify 了 wait 线程,条件不满足时还要重新等待,使用了 while 循环来解决此问题。很多教程中把饥饿定义为,一个线程由于优先级太低,始终得不到 CPU 调度执行,也不能够结束,饥饿的情况不。

2024-03-28 15:34:17 696

原创 Kafka面试题1

消息队列Message Queue,简称MQ。是一种应用间的通信方式,主要由三个部分组成。生产者:Producer消息的产生者与调用端主要负责消息所承载的业务信息的实例化是一个队列的发起方代理:Broker主要的处理单元负责消息的存储、投递、及各种队列附加功能的实现是消息队列最核心的组成部分消费者:Consumer一个消息队列的终端也是消息的调用端,具体是根据消息承载的信息,处理各种业务逻辑。消息队列的应用场景较多,常用的可以分为三种:应用解耦。

2024-03-14 14:24:01 844 1

原创 juc笔记 3

● obj.wait() 让进入 object 监视器的线程到 waitSet 等待● obj.notify() 在 object 上正在 waitSet 等待的线程中挑一个唤醒● obj.notifyAll() 让 object 上正在 waitSet 等待的线程全部唤醒它们都是线程之间进行协作的手段,都属于 Object 对象的方法。必须获得此对象的锁,才能调用这几个方法log.debug("执行....");// 让线程在obj上一直等待下去。

2024-03-14 10:04:25 844 1

原创 juc笔记2

4位的Java对象年龄。● 在 Thread-2 上锁的过程中,如果 Thread-3,Thread-4,Thread-5 也来执行 synchronized(obj),就会进入EntryList BLOCKED。● 在 Java 6 之后自旋锁是自适应的,比如对象刚刚的一次自旋操作成功过,那么认为这次自旋成功的可能性会高,就多自旋几次;当(某类型对象)撤销偏向锁阈值超过 20 次后,jvm 会这样觉得,我是不是偏向错了呢,于是会在给(所有这种类型的状态为偏向锁的)对象加锁时重新偏向至新的加锁线程。

2024-03-03 21:11:05 789

原创 JUC笔记1

● RUNNABLE 当调用了 start() 方法之后,注意,Java API 层面的 RUNNABLE 状态涵盖了 操作系统 层面的【可运行状态】、【运行状态】和【阻塞状态】(由于 BIO 导致的线程阻塞,在 Java 里无法区分,仍然认为是可运行)当 Context Switch 发生时,需要由操作系统保存当前线程的状态,并恢复另一个线程的状态,Java 中对应的概念就是程序计数器(Program Counter Register),它的作用是记住下一条 jvm 指令的执行地址,是线程私有的。

2024-02-22 22:21:23 829 1

原创 内存结构笔记 1

所有java虚拟机线程的共享区域存储类的结构的相关信息,如运行时常量池、成员变量、方法数据、成员方法和构造器的代码等方法区在虚拟机启动时创建,其逻辑上是堆的一个组成部分,但在实现时不同的JVM厂商可能会有不同的实现常量池:常量池,就是一张表,存储在*.class字节码文件中。虚拟机指令根据这张常量表找到要执行的类名、方法名、参数类型、字面量等信息运行时常量池:常量池是*.class文件中的,当该类被加载,它的常量池信息就会放入运行时常量池,并把里面的符号地址变为真实地址。

2024-02-21 22:32:02 787

原创 HTML5和CSS3_003

HTML5

2023-02-09 23:10:50 46

原创 HTML5和CSS3_002

2d旋转指的是让元素在2维平面内顺时针旋转或者逆时针旋转。/* 我们元素可以添加多个动画, 用逗号分隔 */rotate(角度)语法格式(定义动画)语法格式(使用动画)

2023-02-09 23:01:48 75

原创 HTML5和CSS3 001

HTML5的概念与定义HTML5定义了HTML标准的最新版本,是对HTML的第五次重大修改,号称下一代的HTML两个概念:是一个新版本的HTML语言,定义了新的标签、特性和属性拥有一个强大的技术集,这些技术集是指:HTML5CSS3javascript, 这也是广义上的HTML5拓展了哪些内容语义化标签本地存储兼容特性2D3D动画、过渡CSS3特性性能与集成HTML5的现状绝对多数新的属性,都已经被浏览器所支持,最新版本的浏览器已经开始陆续支持最新的特性,HTML5。

2023-02-09 22:49:40 43

空空如也

空空如也

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

TA关注的人

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