java
文章平均质量分 93
咸鱼斯内克
咸鱼还是要有的,万一臭了呢
展开
-
探寻LinkedList,HashMap,TreeMap的区别
探寻LinkedList,HashMap,TreeMap的区别: - 散列与散列码 - HashMap快的原因 - LinkedList - TreeMap散列与散列码:散列 的价值主要在于速度,键没有按照任何特定顺序进行保存,所以只能进行简单的线性查找,而线性是最慢的查询方式了。存储一组元素最快的数据结构是数组,可以通过键的对象生成一个数字,最为数组的下标,这个数字就是散列码,数组并不保存原创 2017-03-29 10:03:21 · 597 阅读 · 0 评论 -
浅谈volatile变量的理解
volatile概念谈到volatile,理解原子性和易变性是不同的概念这一点很重要,volatile是轻量级的锁,它只具备可见性,但没有原子特性。如果你将一个域声明为volatile,那么只要对这个域产生了写操作,所有的读操作都可以看到这个修改,即便使用了本地缓存也一样,volatile会被立即写入到主内存中,而读的操作就发生在主内存中。在非volatile域上的原子操作不必刷新到主内存中,所以读原创 2017-03-31 09:53:16 · 2283 阅读 · 0 评论 -
线程池源码解析与原理探究
Java中的ThreadPoolExecutor类 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存 在什么情况下使用线程池? 1.单个任务处理的时间比较短 2.将需处理的任务的数量大 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如翻译 2017-04-24 17:47:11 · 271 阅读 · 0 评论 -
Java并发编程:线程池的使用
请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin0520/p/3932921.html转载 2017-03-31 11:33:30 · 204 阅读 · 0 评论 -
ReentrantLock(三):公平锁与非公平锁
本篇主要承接上篇文章,简单介绍ReentrantLock的部分API应用和公平锁与非公平锁的区别。在ReentrantLock中很明显可以看到其中同步包括两种,分别是公平的FairSync和非公平的NonfairSync。 可以看看ReentrantLock的源码构造方法 public ReentrantLock() { sync = new NonfairSync原创 2017-04-26 11:52:43 · 1785 阅读 · 1 评论 -
ReentrantLock(二):正确使用Condition实现等待与通知
关键字synchronized与wait()和notify()/notifyAll()方法相结合可以实现等待/通知模式。 类ReentrantLock同样可以实现该功能,但是要借助于Condition对象。它具有更好的灵活性,比如可以实现多路通知功能,也就是在一个Lock对象里面可以创建多个Condition(对象监视器)实例,线程对象可以注册在指定Condition中,从而有选择性的进行线程通知原创 2017-04-26 09:30:21 · 8483 阅读 · 0 评论 -
ReentrantLock(一):谈谈ReentrantLock与synchronized
该篇简单介绍ReentrantLock 和synchronized的区别,介绍比较浅的ReentrantLock API应用ReentrantLock 拥有Synchronized相同的并发性和内存语义,但是添加了类似锁投票、定时锁等候和可中断锁等候的一些特性。此外,它还提供了在激烈争用情况下更佳的性能。(换句话说,当许多线程都想访问共享资源时,JVM 可以花更少的时候来调度线程,把更多时间用在执行原创 2017-04-25 16:39:36 · 425 阅读 · 0 评论 -
RPC-<深入篇>
> 转载http://blog.csdn.net/mindfloating/article/details/39474123《深入篇》我们主要围绕 RPC 的功能目标和实现考量去展开,一个基本的 RPC 框架应该提供什么功能,满足什么要求以及如何去实现它?RPC 功能目标RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,转载 2017-04-26 22:34:35 · 240 阅读 · 0 评论 -
join方法与countDownLatch与CyclicBarrier的区别
join方法:当前线程中调用thread.join()会导致当前线程阻塞,此时只有当thread线程执行完后,当前线程才能继续往下执行。 join的工作原理是,不停检查thread是否存活,如果存活则让当前线程永远wait,直到thread线程终止 可以看看join的源码: public final synchronized void join(long l) throws In原创 2017-04-27 11:25:38 · 797 阅读 · 0 评论 -
String ,StringBuffer ,StringBuild 区别
>转载自http://blog.csdn.net/qh_java/article/details/46382265java学习有一段时间了,但学习的东西都是框架等东西,java基础知识有点遗忘,所以重温一下java基础知识,写写文章里面有错的希望大家指正共同进步~~一、String 大家经常会说使用“+”号连接String 字符串比StringBuffer慢,String类对象为不可变对象,一旦转载 2017-05-02 17:20:16 · 352 阅读 · 0 评论 -
Java虚拟机笔记(一)-java内存
看了深入理解java虚拟机做的一些笔记,觉得对我这个萌新来讲比较有用的,日后再进行完善程序计数器: 是一块小的内存空间,可以看成一个当前线程所执行的字节码的行号指示器。字节码解释器工作室就是改变这个计数器的值来选取下一条需要执行的字节码指令,比如分支,循环,跳转,异常处理,线程恢复等基础功能。 线程正在运行一个java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址,多线程是通过线程轮流切换原创 2017-06-28 14:57:51 · 258 阅读 · 0 评论 -
java 注解的几大作用及使用方法详解
转载自http://www.tmser.com/?post=34&page=1 Java 注解,从名字上看是注释,解释。但功能却不仅仅是注释那么简单。注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据),常见的作用有以下几种:生成文档。这是最常见的,也是java 最早提供的注解。常用的有@se转载 2017-06-27 13:41:16 · 360 阅读 · 0 评论 -
RPC-<浅出篇>
本文来自本人独立博客,为获得更佳阅读体验,请点击 这里—————————————————————————————————-近几年的项目中,服务化和微服务化渐渐成为中大型分布式系统架构的主流方式,而 RPC 在其中扮演着关键的作用。在平时的日常开发中我们都在隐式或显式的使用 RPC,一些刚入行的程序员会感觉 RPC 比较神秘,而一些有多年使用 RPC 经验的程序员虽然使用经验丰富,但有些对其原理也不甚转载 2017-04-26 22:25:23 · 212 阅读 · 0 评论 -
简单的properties配置文件读取类
记录一下自己在写代码时的一些工具类,以后开发可以反复利用public class PropertyConfig{// 默认配置的是UTF-8public static String encoding_UTF8 = "UTF-8";public static final String FILE_NAME = "config.properties";public static Property原创 2017-08-11 10:40:57 · 376 阅读 · 0 评论