Java面试
iteye_1575
这个作者很懒,什么都没留下…
展开
-
线程同步的方法
wait():作用是使得当前调用wait方法所在部分(代码块)的线程停止执行,并释放当前获得的调用wait所在的代码块的锁,并在其他线程调用notify或者notifyAll方法时恢复到竞争锁状态(一旦获得锁就恢复执行)。 调用wait方法需要注意几点: 第一点:wait被调用的时候必须在拥有锁(即synchronized修饰的)的代码块中。 第二点:恢复...原创 2015-06-24 10:43:00 · 61 阅读 · 0 评论 -
ArrayList,LinkedList, Vector三者的区别
LinkedList内部以链表形式存储数据ArrayList内部以数组形式存储数据。Vector同ArrayList,不过它与ArrayList比较起来是线程安全的。 ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vecto...原创 2015-06-24 10:43:29 · 54 阅读 · 0 评论 -
String, StringBuffer, StringBuilder三者区别
String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 简要的说,String 类型和 StringBuffer 类型的主要性能区别其实在于 String是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经...原创 2015-06-30 16:20:53 · 48 阅读 · 0 评论 -
JAVA笔记
volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的原创 2015-07-22 15:50:14 · 57 阅读 · 0 评论 -
线程池原理及实现
1、线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。 如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。 一个线程池包括以下四个基...原创 2015-07-23 09:17:00 · 68 阅读 · 0 评论 -
数据库连接池原理
什么是连接? 连接,是我们的编程语言与数据库交互的一种方式。我们经常会听到这么一句话“数据库连接很昂贵“。 有人接受这种说法,却不知道它的真正含义。因此,下面我将解释它究竟是什么。[如果你已经知道了,你可以跳到它的工作原理部分] 创建连接的代码片段: 1 2 3 String connUrl = "jdbc:mysql://your.database.d...原创 2015-07-23 09:32:29 · 70 阅读 · 0 评论