- 博客(13)
- 资源 (1)
- 收藏
- 关注
转载 HttpServletRequest常用获取URL的方法
转载:https://www.cnblogs.com/shangxiaofei/p/6226575.html
2018-09-18 14:57:34
461
2
原创 HashMap,哈希冲突,HashSet
1. HashMapHashMap是键值对key-value,key不能重复,是利用hash算法实现的。HashMap的工作原理:我们知道在Java中最常用的两种结构是数组和模拟指针(引用),几乎所有的数据结构都可以利用这两种来组合实现,HashMap也是如此。实际上HashMap是一个“链表散列”,如下是它数据结构:最左侧是一个数组,数组中的每一个元素都是一个链表,链表的每一个元素都...
2018-07-27 20:28:13
3595
1
原创 Java多线程——线程间通信之join()方法
1. join()方法:当前线程 等待 线程对象 销毁。比如说: j.join(); //就是当前线程 等待 线程对象(j) 销毁。package threadCommunication;public class JoinTest extends Thread { @Override public void run() { try { ...
2018-06-01 20:19:36
317
原创 Java基础——equals和hashCode的区别
1. hashCode() 方法 返回对象的哈希值。 下面是jdk1.8对hashCode()方法的介绍: 大意就是: 返回对象的哈希值。这种方法支持哈希表的好处,例如哈希表提供的哈希表。 在 Java 应用程序执行期间,在对同一对象多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是将对象进行 equals ...
2018-05-31 18:15:55
196
原创 Java多线程——线程间通信之wait(),notify()方法,生产者与消费者模式实现,管道流
1. wait()方法:使当前执行代码的线程进行等待。 在调用wait()之前,线程必须获得该对象的对象级别锁,即只能在同步方法或同步块中调用wait()方法(否则会抛出IllegalMonitorStateException异常)。在执行wait()方法后,当前线程释放锁。在从wait()返回之前,线程与其他线程竞争重新获得锁。package threadCommunicatio...
2018-05-28 22:37:05
614
原创 String——String和StringBuilder的intern()方法的区别
JDK对public String inter()方法的解释如下: 当调用intern()方法时,如果池已经包含一个与等值(object)方法确定的字符串对象相等的字符串,则返回池中的字符串。否则,该字符串对象将被添加到常量池中,并返回对该字符串对象在常量池的引用。public class StringIntern { public static final int _1M...
2018-05-26 16:20:30
906
4
原创 Java多线程——synchronized同步与volatile变量
一、synchronized同步方法1. “非线程安全”其实是在多个线程对同一对象中的实例变量进行并发访问时发生的。2. “非线程安全”问题存在于“实例变量”中,如果是方法内部的局部变量,则不存在“非线程安全”问题,永远都是线程安全的,因为方法内部的局部变量是私有的,所以不存在数据共享。为什么方法内部的局部变量是私有的,不存在数据共享? 因为每当启用一个线程时,JVM就为他分配一个J...
2018-05-25 14:27:41
2762
翻译 Java多线程——同步与异步的区别
多线程并发时,多个线程同时请求同一个资源,如果没有同步机制,必然导致此资源的数据不安全。比如说A线程修改了B线程的处理的数据,而B线程又修改了A线程处理的数据。显然这是由于全局资源造成的,有时为了解决此问题,优先考虑使用局部变量,退而其次使用同步代码块,出于这样的安全考虑就必须牺牲系统处理性能,在多线程并发时资源挣夺最激烈的地方实现了线程的同步机制。 1. 同步:A线程要请求...
2018-05-25 10:11:39
415
原创 Java多线程——System.currentTimeMillis()与System.nanoTime()的区别
1. System.currentTimeMillis()返回当前时间,是从1970.1.1 UTC 零点开始到当前时刻的时间差,单位为毫秒(ms),可根据currentTimeMillis()返回的时间戳来计算当前日期,进而和Date进行转换。2. System.nanoTime()返回随机时间种子,单位为毫微妙(即纳秒ns),时间精度比currentTimeMillis()高,但是不能用来计算...
2018-05-24 18:36:43
2002
原创 Ubuntu——Ubuntu主要目录与终端命令
################################## Linux中的某些重要的目录: ###############################•根目录:/(计算机) 切换到根目录:cd /•主目录:/root、/home/username(lxy) 切换到主目录:cd ~•用户可执行文件:/bin、/usr/bin、/usr/local/bin•系统可执行文件:/s...
2018-05-24 11:34:18
1672
原创 Java多线程——Thread方法之currentThread(),isAlive(),sleep(),getId(),interrupt(),yiel()方法解析
1. currentThread()方法:返回调用当前代码段的线程,即返回当前线程。——static 2. isAlive()方法:判断当前的线程是否处于活动状态。 活动状态就是线程已经启动且尚未终止,线程处于正在运行或准备开始运行的状态。 3. Thread.currentThread()与this的区别:前者是指当前线程,后者是指当前线程对象。两者有时相同,有时不同,...
2018-05-23 13:10:00
1379
原创 Java多线程——Thread与Runnable的区别和实现
一、区别 Thread与Runnable都能创建新线程,这两者实际上并没有本质的区别。由于Java只能继承一个类,但可以实现多个接口。所以当我们使用继承Thread的方法创建多线程,那就不能继承其他类。当需要继承其他类的时候,我们应该采用实现Runnable接口来实现多线程。二、实现 分别使用Thread与Runnable模拟售票功能1、Thread实现/** *...
2018-05-22 12:21:26
206
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人