- 博客(6)
- 收藏
- 关注
原创 volatile学习笔记
volatile 是什么?volatile是Java虚拟机提供的轻量级的同步机制——1、保证同步性 2、不保证原子性 3、禁止指令重排JMM内存模型之可见性:JMM(Java内存模型)
2021-10-10 17:45:24
98
原创 Java实现线程
实现线程的方法:1、继承Thread类2、实现runnable接口(没有返回值,不抛异常) 实现run方法3、实现callable接口(有返回值,要抛异常)实现call方法下面为线程池的三个线程的方法:4、Executors.newFixedThreadPool(int) 固定数量线程池;--执行长期的任务,性能好很多 Executors.newSingleThreadPool() 单个线程线程池 ----一个任务一个任务执行的场景 Execu...
2021-10-03 22:22:55
330
原创 BlockQueue学习笔记
在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue 阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据结构中所起的作用大致如下图所示: 从上图我们可以很清楚看到,通过一个共享的队列,可以使得数据由队列的一端输入,从另外一端
2021-10-02 14:21:05
529
原创 Java引用类型学习笔记
关于深入理解java的引用类型:在java中,引用类型可以分为两大类:值类型,引用类型。其中值类型就是基本数据类型,如int,double类型,而引用类型就是除了基本数据类型之外的所有类型(如class类型),所有的类型在内存中都会分匹配一定的空间,包括形参,而形参在方法调用完成后被分配的那块内存就会被取消,基本的变量类型的储存空间被分配到栈中,而引用类型有两块储存空间,一块在栈中,一块在堆中,那么在java中当函数调用的时候到底是传值还是传引用?在上图中引用类型在传参时不是在hea
2021-10-02 14:17:00
91
原创 Mybatis中#{}与${}的区别
#{} 是预编译处理 是占位符 ${}是字符串替换,是拼接符Mybatis再处理#{}的时候,会将sql中的#{}替换为?号,调用PreparedStatement来赋值(相当与在原来的值上面加上了单引号)Mybatis在处理${}的时候,会将${}替换成为变量的值,调用Statement来赋值(直接替换)#{}的变量替换实在数据库管理系统中,变量替换后,#{}对应的变量自动加上单引号${]的变量替换是在数据库管理系统中,变量替换后,${}对应的变量不会加上单引号使用#{}可以有效...
2021-10-01 17:51:25
130
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人