- 博客(9)
- 收藏
- 关注
原创 数据库连接池
数据库连接池为什么说连接昂贵如果创建Socket连接的时间比实际的执行查询的操作所花费的时间还长,就是我们所说的”数据库连接很昂贵“,因为连接资源数数1,它需要每次创建一个Socket连接来访问DB,因此我们将使用连接词,连接池初始化时创建一定数量的连接,然后从连接池中重用连接,而不是每次创建一个新的。数据库连接池的基本原理数据库连接池的基本思想就i是为数据库连接建立一个“缓冲池”,预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需要从“缓冲池”中取出一个忙,使用完毕后再放还回去。
2022-01-29 10:48:04
1109
原创 线程池技术
线程池线程池关键参数核心线程数:corePoolSize在创建了线程池后,默认情况下,线程池中并没有任何线程,而是等待有任务到来,才创建线程去执行任务,除了调用了prestartAllCoreThreads或者prestartCoreThread()方法,这两个方法是预创建线程的意思,即在没有任务到来之前就创建corePoolSize个线程或者一个线程,默认情况下,创建了线程池后,线程池中的线程数为0,当有任务来之后,就会创建一个线程去执行任务,当线程池中的线程数达到corePoolSize之后
2022-01-29 10:46:07
453
原创 当前线程如何终止其他线程
如何让线程A,终止线程B理论上,如果线程B不做终止的处理,是不会被其他线程终止的。在线程A中开启线程B,调用线程的Thread.interrpute方法,线程B 内部获取当前线程的isInterrupted()方法,如果isInterrupted()返回结果是ture,说明收到结束状态通知,线程B处理结束通知。线程B才会结束,否则是不会被其他线程终止的。...
2022-01-26 16:21:01
783
原创 Web阶段常见的域对象有哪些?
有四个1.PageContext:代表一个jsp页面,范围就是当前的jsp页面2.Request:代表一次请求,范围就是一次请求中有效3.Session:代表一次会话,范围就是一次会话4.ServletContext:代表当前的web程序,只要项目在,范围就在。...
2021-11-28 11:04:59
249
原创 Servlet的默认生命周期?
出生、运行、销毁默认情况下,当我们第一次访问servlet的时候,服务器会帮我们创建这个对象,立刻调用init方法,完成初始化对象。调用service方法,完成第一次服务。每次访问的时候,就不会再创建在创建对象,而是调用servlet的service方法。当我们项目被移除或者服务器关闭的时候,servlet对象就会先调用destory销毁方法,然后被销毁。...
2021-11-28 10:51:45
562
原创 说一下ArrayList和LinkedList区别
1.首先,他们的底层数据结构不同,ArrayList底层是基于数组实现的,LinkedList底层是基于链表实现的。2.由于底层数据结构不同,他们所使用的场景也不同,ArrayList更适合随机查找,LinkedList更适合删除和添加,查询、添加、删除的时间复杂度不同3.另外ArrayList和LinkedList都实现了List接口,但是LinkedList还额外实现了Deque接口,所以LinkedList还可以当做队列来使用。...
2021-11-24 22:45:35
196
原创 synchronized关键字和volatile关键字的区别?
1.volatile关键字是线程同步的轻量级实现,所以volatile性能肯定比synchronized关键字要好。但是volatile关键字只能用于变量,而synchronized关键之可以修饰方法以及代码块。synchronized关键字在JavaSE1.6之后进行了优化,主要包括为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁以及其他各种优化,优化之后效率有了显著提升,实际开发中使用synchronized关键字的场景还是更多一些。2.多线程访问volatile关键字不会发生阻塞,
2021-11-23 20:38:46
689
原创 空参构造创建ArrayList集合对象后,第一次添加元素后,集合内部数组扩容为多少呢?
当使用空参构造器实例化Arraylist集合时,底层首先会创建一个ElementData的Object类型数组,并使elementData等于集合中定义的为空的静态常量数组DEFAULTCAPACITY_EMPTY_ELEMENTDATA.此时的elementData数组是一个空数组,没有定义数组长度,当集合首次添加数据,调用add()方法时,elementData数组会成为长度为10的数组。因为第一次空参构造创建对象,默认数组长度为0,所以将数组长度进行1.5倍扩容后,数组的长度仍..
2021-11-23 14:25:16
777
原创 SpringMVC的执行流程及其各个组件之间的作用
1、浏览器发送请求至前端控制器DispatcherServlet2、前端控制器调用处理器映射器HandlerMapping3、处理器映射器HandlerMapping根据结果找到具体的处理器,可以通过XML配置文件或者注解进行查找,生出处理器对象以及处理器拦截器如果有则生成,并将处理器对象和处理器拦截器一并返回给前端控制器DispatcherServlet4、前端控制器DispatcherServlet调用处理器适配器HandlerAdapter处理器适配器5、处理器适配器HandlerAd
2021-11-16 12:40:28
854
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人