java中的各种池

常量池、线程池、连接池

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

是一种值,这个值本身 

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

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

例如 final int i=1;

        String str="hello";

2、作用

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

二、线程池
ThreadPool

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

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

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

线程池有什么作用?

线程池作用就是限制系统中执行线程的数量。

1、提高效率 创建好一定数量的线程放在池中,等需要使用的时候就从池中拿一个,这要比需要的时候创建一个线程对象要快的多。

2、方便管理 可以编写线程池管理代码对池中的线程同一进行管理,比如说启动时有该程序创建100个线程,每当有请求的时候,就分配一个线程去工作,如果刚好并发有101个请求,那多出的这一个请求可以排队等候,避免因无休止的创建线程导致系统崩溃。

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

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

猜你喜欢

转载自www.cnblogs.com/xinghaonan/p/11953826.html
今日推荐