缓存机制
- 堆内存中的字符串常量池
”abc“字符串如果在常量池中,直接拿出来使用,没有则创建
-
堆内存中的整数型常量池
[-126~127] 一共256个Integer类型的引用,放在整数型常量池中,没有超出这个范围,直接从常量池中获取
-
连接池
这里所说的连接池的连接是java语言连接数据库的连接对象,java.sql.Connection对象
jvm是一个进程,MySQL也是一个进程,进程和进程之间建立连接是一个,打开通道是很费劲的,很耗费资源,怎么解决这个问题?可以提前先创建好n个connection对象,将连接对象放到一个集合中,把这个放有Connection连接对象的集合称为连接池,每一次用户创建的时候不再需要新建连接对象,省去了新建的环节,直接从连接池中获取连接对象,大大提升了访问效率
- 连接池
- 最小连接池
- 最大连接池
- 连接池可以提高用户的访问效率,也可以保证数据库的安全性
- 连接池
-
线程池
Tomcat服务器本身是支持多线程的
- tomcat是在用户发送一次请求吗,就新建一个Thread线程对象吗, - 不是 - 在Tomcat服务器启动的时候,会先创建好n个Thread线程对象,然后将线程对象放在集合中,称为线程池,用户请求发送之后,需要有一个对应的线程来处理这个请求,这个时候线程对象就会直接从线程池中获取,效率提高 - 所有的web服务器或者应用服务器都是支持多线程的,都有线程池机制
-
redis
NoSQL数据库,非关系型数据库,缓存数据库
- 向ServletContext应用域中存储数据,也等于是将数据放到缓存cache中了