java中的“池“

在系统设计中,我们尝尝会使用到” 池” 的概念。Eg:数据库连接池,socket 连接池,线程池,组件队列。” 池” 可以节省对象重复创建和初始化所耗费的时间。对那些被系统频繁请求和使用的对象,使用此机制可以提高系统运行性能。

” 池” 是一种” 以空间换时间” 的做法,我们在内存中保存一系列整装待命的对象,供人随时差遣。与系统效率相比,这些对象所占用的内存空间太微不足道了。

java中的常见池:

常量池、线程池、连接池

一、常量池
1、什么是常量

是一种值,这个值本身 

例如:八大基本数据类型 加字符串

不可变的变量,被 final 修饰的

例如 final int i=1;

        String str="hello";

2、作用

为了避免频繁的创建和销毁对象而影响系统性能,实现了对象的共享

二、线程池
ThreadPool

作用:限制系统中执行线程的数量

理解:在系统环境下,可以自动或手动设置线程数量,达到运行的最佳效果,少了浪费系统资源,多了系统阻塞。

        线程池控制线程数量,其他线程排队。一个任务执行完毕,从队列中取最前面任务执行。若队列没有等待进程,线程池处于等待。当新任务运行,如果线程池有等待线程,就开始运行,否则进入等待队列。

三、连接池
为了能够重复利用数据库连接,提高对请求的相应时间和服务器的性能,采用数据库连接池技术。

连接池预先建立多个数据库连接对象,然后将连接对象保存到连接池中,当客户请求到来时,从池中取出一个连接对象为客户端服务,当请求完成后,客户端调用 close () 方法,将连接对象放回池中。
 

Guess you like

Origin blog.csdn.net/wjcreator6027/article/details/121864057