自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 问答 (1)
  • 收藏
  • 关注

原创 Spring AOP

切面编程就像一把刀,获取我们要拦截的方法(PointCut),从方法中间切开,将我们的切面织入方法里面,然后通过代理(JoinPoint)获取该方法的信息。这个时候我们就可以对拦截到的方法进行操作了。用自定义注解使得方法可以使出调用日志。SpringAOP的通知类型。下面是一个方法切面的模型图。SpringAop代码编写。

2025-01-30 14:51:09 261

原创 代理模式 -- 学习笔记

代理是一种设计模式,用户可以通过代理操作,而真正去进行处理的是我们的目标对象,代理可以在方法增强(如:记录日志,添加事务,监控等)拿一个例子说话。:接口,有个一保存用户的接口实现类如果现在提出一个需求,需要在Service方法上都要记录日志。那常规做法就是在方法上加上记录日志的逻辑。但是这样,如果接口有很多方法。那就要每一个方法都要去添加这段逻辑。这个时候就需要请我们的代理来做了,用户通过代理去调用方法,代理就去找目标方法去做事。

2025-01-29 23:53:34 488

原创 submit和execute,以及区别

executesubmit位置提交任务类别Runnable返回值类型voidFuture<?

2025-01-28 21:50:14 460

原创 三个不推荐使用的线程池

有资源耗尽的风险,任务队列最大长度为```Integer.MAX_VALUE``,可能会堆积大量的请求,导致OOM(内存溢出)风险。singleThreadPoolExecutor有两个构造方法,一个是带线程工厂的,一个是不带的。FixThreadPool有两个构造方法,一个是带线程工厂的,一个是不带的。内部同样采用ThreadPoolExcutor来创建线程池,全是核心线程。同样有两个构造方法,一个是带线程工厂的,一个是不带的。,可能会创建大量的线程,从而导致OOM。可缓存线程池内部全是非核心线程。

2025-01-28 20:31:07 315

原创 如何创建一个线程池

线程工厂可以执行线程如何生产线程,设置自定义线程名称,线程优先级,线程类型等。没执行的任务都是在这里排队,线程池的线程会从这里去拿任务。满足以上四种情况的时候,这个任务就会被拒绝。没有任务并且达到存活时间就会被销毁。该代码会按顺序打印出1-100。执行结果也可以看到是没问题的。:线程池不关闭就不会被销毁。

2025-01-28 18:31:34 302

原创 线程池的优点

线程池是一种基于池化思想管理线程的工具线程池的核心UML类图。

2025-01-28 16:12:42 160

原创 java面试题:10个线程如何按顺序分别输出1-100

考察:多线程,锁,并发处理。

2025-01-28 14:04:29 140

原创 springboot使用rabbitmq

简介:rabbitmq是基于amqp协议,用elang语言开发的一个高级的消息队列,以高性能,高可靠,高吞吐量而被大量应用到应用系统作为第三方消息中间件使用,为应用系统实现。我们打开rabbitmq的控制台(http://你的主机名:15672),可以开到队列里面也收到了消息,但是还没有被消费。rabbitmq主要构造有,producter,consumer,exchange,queue组成。3.msg: “今日日本出现大暴雨,怀疑是哥斯拉来了”,type:“Japan.weather”

2025-01-28 01:03:34 1847

原创 React-Router路由笔记

如果想默认加载指定的路由组件,那就要使用Redirect,V6版本后将Redirect移除了,跟改为。,匹配时就会拆分成aaboutb,如果第一个不匹配,那么就找不到组件了。这里演示一个案例,封装一个自己的,参数传递到props,组件里面进行渲染。效果,点击home页面一开始展示News组件里面的信息。在App.js中,使用自己的组件Router.js。中,要引入一个路由器Router,然后后面的。下面是使用一个简单的案例来开始组件的学习。在Router.js组件中,去实现简单案例。

2025-01-18 14:09:00 702

原创 React生命周期(17版本前)

⚠️:这里要注意,shouldComponentUpdate是一个阀门,默认不写这个函数的时候就会返回true,当我们写了这个钩子的时候,就一定要给出返回值,true表示可以更新组件,false表示不能更新组件。当我们使用forceUpdate这个函数去强制更新组件的话就走下面的钩子,不会走。钩子,以及在17版本后废弃使用了,但是还是保留了下来,所以就会有警告!下面是一个简单的例子,展示初始阶段的声明周期钩子函数的调用情况。打开浏览器查看,当我点击按钮的时候,声明周期钩子函数执行的情况。

2025-01-13 17:45:49 464

原创 总结Promise特性以及一些关于Promise的api

promise学习笔记

2025-01-07 15:15:35 740

原创 闲来无事3 — vue3实现自己的无限评论组件(1)

⚠️说明:本次组件使用的是纯静态数据,没有实现后端接口。需要前后端联调的,需要自己实现后端接口自己也是从零开始写组件,并且写博客。所以本文章,将详细记录自己解决问题的全过程。

2025-01-06 12:41:52 2334

原创 Vue3组件基础语法(js语法)

我是自定义组件

2025-01-04 16:03:13 1720

原创 闲来无事第二期 — 纯css实现一个loading效果。

附上完整代码仓库地址:https://gitee.com/little-canon/blog-code/tree/master/loading。

2025-01-03 12:43:47 301

原创 Vue3-入门到精通

在vue2中,初始化vue实例的时候,会触发getter,收集数据到data中,交给监听器watcher,一旦数据修改了,就会触发setter,进而去唤醒watcher,监听器接收到变化了就开始重新渲染组件。vue有一个原则,不侵入我们的html,除非指定要挂载的vue实例上,否者就不会去vue的模板语法。其中描述符又有两种类型,一种是数据描述符和访问器描述符。2.创建要挂载vue实例的dom,可以给dom设置id或者class。3.script标签创建vue实例,以下是vue3的创建方式。

2025-01-01 15:13:06 226

原创 新手入门:Vue使用axios请求接口,axios的二次封装,api解耦

新手入门axios教学

2024-12-30 18:23:22 527

原创 闲来无事,想用@media去模拟一个响应式布局

自己实现响应式布局

2024-12-29 14:37:17 474

原创 Bootstrap栅格系统 - 从入门到精通(2)

bootstrap会通过媒体查询获取当前设备的屏幕像素大小,然后通过去选择对应的。

2024-12-28 23:22:34 547

原创 Bootstrap搭建第一个项目 -- 入门到精通

小白学习前端第一天---bootstrap

2024-12-28 15:00:27 606

空空如也

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

TA关注的人

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