Servlet每一次不同的http请求需要一个Servlet组件来响应,当请求类型比较多时,Servlet就会相应增加,也意味着每一个Servlet都可以成为进入服务器的入口。 缺点: Servlet本身采用单例设计模式,生命周期由服务器维护,存在线程安全隐患的问题; 随着Servlet数量的增加, ...
分类:
Web程序 时间:
2021-03-17 14:22:19
阅读次数:
0
相对于 synchronized 它具备如下特点 可中断 可以设置超时时间 可以设置为公平锁 支持多个条件变量,即对与不满足条件的线程可以放到不同的集合中等待 与 synchronized 一样,都支持可重入 基本语法 // 获取锁 reentrantLock.lock(); try { // 临界 ...
分类:
其他好文 时间:
2021-03-09 13:42:27
阅读次数:
0
一.Java String 类——String字符串常量 String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象, ...
分类:
其他好文 时间:
2021-03-08 13:29:54
阅读次数:
0
Java 1.Java的特性和优势 Write Once,Run Anywhere 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 2.Java的三大版本 JavaSE:标准版(桌面程序,控制台开发……) JavaME:嵌入式开发(手机,小家电……) JavaEE:E企业 ...
分类:
编程语言 时间:
2021-03-08 13:19:58
阅读次数:
0
参考:https://www.cnblogs.com/ngy0217/p/9006716.html 饿汉式(线程安全,调用效率高,但不能延时加载): public class ImageLoader{ private static ImageLoader instance = new ImageLo ...
分类:
编程语言 时间:
2021-03-06 14:58:12
阅读次数:
0
Stack就是继承Vector的,而我们常常用Deque替代Stack(Deque可以当栈也可以当队列) 不使用Vector及子类原因如下: 1. 因为vector是线程安全的,所以效率低,这容易理解,类似StringBuffer 2. Vector空间满了之后,扩容是一倍,而ArrayList仅仅 ...
分类:
编程语言 时间:
2021-03-06 14:18:29
阅读次数:
0
部分主要阐述 Thread 的基础知识,详细介绍线程的 API 使用、线程安全、线程间数据通信,以及如何保护共享资源等内容,它是深入学习多线程内容的基础。 第二部分引入了 ClassLoader,这是因为 ClassLoader 与线程不无关系,我们可以通过 synchronized 关键字,或者 ...
分类:
编程语言 时间:
2021-03-01 13:34:44
阅读次数:
0
一、sqlachemy(是一个orm框架) 1 orm框,可以独立出来用 2 orm执行原生sql 生成engine(链接池) 详见上一篇博客 engine = create_engine() 获取链接 conn = engine.raw_connection() 后续就一样了 3 创建表,删除表和 ...
分类:
数据库 时间:
2021-02-26 13:16:19
阅读次数:
0
简介 实现List接口 允许任何元素,包括null 大致和Vector相当,除了ArrayList不是线程安全的 size()、isEmpty()、get()、set()、iterator()、listIterator()时间复杂度为常数 add()与增加的节点数相等,增加n个,O(n) 其他操作都 ...
分类:
其他好文 时间:
2021-02-23 14:37:54
阅读次数:
0
List是线程不安全的,通过一个数组存储数据,当容量达到数组上限时,创建一个新数组,因此存在线程安全问题 SafeList是在做增删改操作时返回一个新的ReadonlyList,所以不存在线程安全问题 /// <summary> /// SafeList is mutable, but it use ...
分类:
编程语言 时间:
2021-02-20 12:22:14
阅读次数:
0