- 博客(7)
- 收藏
- 关注
原创 什么是协程
什么是协程协程(coroutine)又叫做用户空间线程,强调「用户空间的」原因在于,协程的实现方式是在用户空间里模拟上下文切换和调度,来避免进入内核态。它区别于进程和线程的主要特点是,协程的调度,切换和具体实现都是用户可定义的,不需要进入内核态,最大化的降低内核级别的调度和上下文切换。有栈协程和无栈协程根据协程是否有栈空间,可以分为有栈协程和无栈协程两种方式有栈协程有栈协程比较好理解,就是说每个协程是有自己独立的栈空间的在切换时,通过修改esp和ebp两个寄存器的地址,来进行栈帧的切换
2021-10-12 21:27:28
1269
原创 Golang 的 slice、map、channe
Golang 的 slice、map、channe这里写自定义目录标题sliceslice扩容策略slice扩容策略MapChannelslice切片本身并不是动态数组或者数组指针。它内部实现的数据结构通过指针引用底层数组,设定相关属性将数据读写操作限定在指定的区域内。切片本身是一个只读对象,其工作机制类似数组指针的一种封装底层结构:array指针、长度、容量与 array 的区别array 需要指定长度,且不可改变Golang 所有的参数传递都是值传递append 三种方式对比初始化时不
2021-10-06 21:09:39
345
原创 SpringBoot中使用RabbitMQ
SpringBoot中使用RabbitMQ搭建初始环境1. 引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>2. 配置配置文件spring: application: name: springboot_rab
2021-02-22 15:15:04
234
原创 MyBatis中的<where>标签和where子句的区别
MyBatis中的标签和where子句的区别 <select id="selectAll" resultMap="BaseResultMap" parameterType="***"> select <include refid="Base_Column_List"></include> from sys_log <where> <if test="username!=null and username!=''">
2020-12-23 15:51:45
4205
原创 自定义注释的实现@interface
什么是JAVA AnnotationJava 从1.5开始提供了 Annotation (注释,标注),它用来d修饰应用程序的zhi元素(类,方法,daozhuan性,参数,本地变量,包、元数据),编译器将其与元数据一同存储在 class 文件中,运行期间通过 Java 的反射来处理对其修饰元素的访问。Annotation 仅仅用来修饰元素,而不能影响代码的执行。只有通过其配套的框架或工具才能对其信息进行访问和处理。@interface 是用来修饰 Annotation 的,请注意,它不是 interf
2020-12-22 17:24:34
305
原创 Spring Aop 的使用
这里写自定义目录标题SpringBoot中的AOP处处理什么是AOPAOP实例实例1实例2SpringBoot中的AOP处处理什么是AOPAOP(Aspect Oriented Programming),面向切面思想,是Spring的三大核心思想之一(两外两个:IOC-控制反转、DI-依赖注入)。那么AOP为何那么重要呢?在我们的程序中,经常存在一些系统性的需求,比如权限校验、日志记录、统计等,这些代码会散落穿插在各个业务逻辑中,非常冗余且不利于维护。例如下面这个示意图:有多少业务操作,就要写多
2020-12-22 17:15:23
313
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人