讲讲“池”的概念

1.池,说白了就是提前创建好了东西放在池子里,你直接去池子里拿去用就行了,有现成的可用的,节省了你临时创建的时间。

2.jdbc connection,线程thread,对象,这些东西的创建和销毁都是很消耗时间的,所以我们一般都是提前创建好很多这种创建消耗高的东西,用的时候直接去用就行。

3.数据库连接池用的地方是:mybatis/hibernate这种sql语句操作时,临时创建connection是很消耗时间的,所以为了提高获取数据库数据的效率,在开机阶段都创建很多connection。且connection是tcp长连接的,这些数据库连接池中的connetcion可以存货很长时间。

可以设置connection的maxage,数据库连接池c3p0等,都有保持connection连接存货的机制,通过connecton发送空数据包保证connection存活。

4.线程池:线程池,主要是因为thread的创建和销毁是要消耗时间的,thread创建大概消耗0.02秒。java ee服务器在启动的时候,它已经创建好了很多的thread,用以来http request连接的时候,用这些创建好的thread去处理这些http连接。这些都是tomcat已经帮你做好的功能,Apache早就写好了类似的代码。

当处理Io操作时,我们习惯用线程池,因为io操作是阻塞的。所以就是在处理阻塞方法时,我们用多线程来提高效率。

5.常量池:字符创常量池,string那些具体final对象,下次用直接去常量池拿就行,很快 ,免去再次创建。string name="tom";

6.因为池子的特性是容纳多个数据,所以池子都是list等集合类,因为要一直保持住这些数据,所以list这些集合类,又要一直保存在内存中,所以很消耗资源的,并且得是静态的来保证常驻内存。

7.附数据库连接池代码和tomcat服务器线程池处理http request方法。

讲讲“池”的概念---线程池,数据库连接池,常量池

时间: 2024-10-06 00:41:55

讲讲“池”的概念的相关文章

黑马程序员--Objective-C之--自动释放池的概念以及使用

今天我们来看一下OC中数组对象在是如何处理对象元素的引用计数问题的,同时介绍一下自动释放池的相关概念 一.数组对象是如何处理对象元素的引用计数问题 // // main.m // 26_NSArrayMemeryManager // // Created by waterfoxjie on 15-03-29. // Copyright (c) 2015年 waterfoxjie. All rights reserved. // #import <Foundation/Foundation.h>

连接池的概念和初步代码

连接池的概念  1)连接池是一个进程 多个连接是在一个进程里面存储.管理的.这个进程保存所有的连接,当我们打开连接,如果有未用连接可用,则返回该连接.如果池中的连接都用完了,则创建一个新的连接保存到连接池.而但我们关闭连接的时候,连接池里面并不关闭连接,而是返回连接池中并标记为可重用的状态,等待重新连接直到等待超时.再次打开连接的时候,我们就可以重用上次的连接.如果在这个时间内没有连接请求(打开连接),这个数据库连接将被关闭,并从连接池中移除这个连接实例.如果池中连接到达了最大连接数,请求进入等

连接池的概念

连接池的概念  1)连接池是一个进程 多个连接是在一个进程里面存储.管理的.这个进程保存所有的连接,当我们打开连接,如果有未用连接可用,则返回该连接.如果池中的连接都用完了,则创建一个新的连接保存到连接池.而但我们关闭连接的时候,连接池里面并不关闭连接,而是返回连接池中并标记为可重用的状态,等待重新连接直到等待超时.再次打开连接的时候,我们就可以重用上次的连接.如果在这个时间内没有连接请求(打开连接),这个数据库连接将被关闭,并从连接池中移除这个连接实例.如果池中连接到达了最大连接数,请求进入等

OC学习篇之---数组对象的引用计数问题和自动释放池的概念

之前一片文章中我们介绍了OC中的两个关键字@property和@synthesize的使用的使用: http://blog.csdn.net/jiangwei0910410003/article/details/41925967 今天我们来看一下OC中数组对象在是如何处理对象元素的引用计数问题的,同时介绍一下自动释放池的相关概念 一.数组对象是如何处理对象元素的引用计数问题 // // main.m // 26_NSArrayMemeryManager // // Created by jian

(转载)OC学习篇之---数组对象的引用计数问题和自动释放池的概念

之前一片文章中我们介绍了OC中的两个关键字 @property 和 @synthesize 的使用的使用,今天我们来看一下OC中数组对象在是如何处理对象元素的引用计数问题的,同时介绍一下自动释放池的相关概念 一.数组对象是如何处理对象元素的引用计数问题 1 // 2 // main.m 3 // 26_NSArrayMemeryManager 4 // 5 // Created by jiangwei on 14-10-12. 6 // Copyright (c) 2014年 jiangwei.

IT题库9-线程池的概念和原理

在什么情况下使用线程池? 1.单个任务处理的时间比较短:2.需要处理的任务的数量大: 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销.2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及"过度切换". 线程池的概念和原理 线程池是一种多线程处理方法,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务.线程池线程都是后台线程,每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中.如果某个线程处于空闲状态,则线程池将会

Java常量池基本概念

1.什么是常量用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量.实例变量和局部变量,分别表示三种类型的常量. 2.Class文件中的常量池 在Class文件结构中,最头的4个字节用于存储魔数Magic Number,用于确定一个文件是否能被JVM接受,再接着4个字节用于存储版本号,前2个字节存储次版本号,后2个存储主版本号,再接着是用于存放常量的常量池,由于常量的数量是不固定的,所以常量池的入口放置一个U2类型的数据(constant_pool_c

池的概念和EPOLLONESHOT事件(读Linux高性能服务器)

池 池是一组资源的集合,这组资源在服务器启动之初就被完全创建好并初始化,者称为静态资源分配. 当服务器进入正式运行阶段,即开始处理客户请求的时候,如果需要相关资源,就可以直接从池中获取,无需动态分配 池就是服务器管理系统资源的应用层设施,它避免了服务器对内核的频繁访问 池:进程池.线程池.内存池.连接池 进程池是由服务器预先创建的一组子进程,进程池中的线程数量应该和CPU数量差不多 进程池中的所有子进程都运行着相同的代码,并具有相同的属性(优先级等) 进程池在服务器启动之初就创建好了,所以每个子

线程池的概念 与Executors 类的应用

创建固定大小的线程池 ExecutorService threadPool = Executors.newFixedThreadPool(3); 创建缓存线程池       ExecutorService threadPool = Executors.newCachedThreadPool(3); 创建单一线程池    ExecutorService threadPool = Executors.newSingleThreadExecutor(3);(线程死掉后重新生成新的线程) 线程池定时器