java技术
MeiG5868
keep running....
展开
-
基于HashedWheelTimer的一个定时器实现
之前有几个需要用到定时器超时的场景,比如线程池大小有限,如何让task不死等,但又不至于一旦队列满就直接reject或者让提交线程来做,但后来还是用让提交线程做事的方式来做,也就是并行暂时退化成了串行。定时器有几个关键部分,1.定时扫描机制和设定,2.超时处理callback,3.超时前成功返回cancel.定时器的实现有很多种。下面的代码主要是团队使用的改造过的HashedWheelTi转载 2016-01-19 18:02:57 · 5540 阅读 · 1 评论 -
java本地缓存技术或框架
java中的本地缓存,工作后陆续用到,一直想写,一直无从下手,最近又涉及到这方面的问题了,梳理了一下。自己构造单例、guava、ehcache基本上涵盖了目前的大多数行为了。 为什么要有本地缓存?在系统中,有些数据,数据量小,但是访问十分频繁(例如国家标准行政区域数据),针对这种场景,需要将数据搞到应用的本地缓存中,以提升系统的访问效率,减少无谓的数据库访问(数据库访问占用数据库连接,转载 2017-02-16 15:08:02 · 8308 阅读 · 0 评论 -
java锁机制
1.java锁种类及相关概念1、自旋锁2、自旋锁的其他种类3、阻塞锁4、可重入锁5、读写锁6、互斥锁7、悲观锁8、乐观锁9、公平锁10、非公平锁11、偏向锁12、对象锁13、线程锁14、锁粗化15、轻量级锁16、锁消除17、锁膨胀18、信号量2.为什么说java的syncronized关键字的效率很低?这是因为,jav转载 2016-04-14 08:02:23 · 1040 阅读 · 0 评论 -
java 静态内部类的使用
Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类。内部类又分为:常规内部类、局部内部类、匿名内部类和静态嵌套类四种。我们内部类的知识在Android手机开发中经常用到。一、常规内部类所谓常规内部类,或者说内部类,指的就是除去后面三种之外的内部类(这算什么解释。。。)先写一个最简单的内部类的例子,大家感觉一下:1public classO转载 2016-04-05 18:30:33 · 445 阅读 · 0 评论 -
java内部类与静态内部类
Java 内部类与静态类Java 内部类与静态类我们一般不常用,开源框架经常用,有兴趣可以看看这篇文章,以下是我的一些总结,先了解一下,留着备用。内部类1:内部类拥有普通类的所有特性,也拥有类成员变量的特性2:内部类可以访问其外部类的成员变量,属性,方法,其它内部类静态类1:只有内部类才能声明为static,也可以说是静态内部类2:只有静态内部类才能拥有静态成员,普通内转载 2016-04-05 17:01:29 · 492 阅读 · 0 评论 -
java的注解技术介绍
1.什么是注解?用一个词就可以描述注解,那就是元数据,即一种描述数据的数据。所以,可以说注解就是源代码的元数据。比如,下面这段代码:1234@OverridepublicString toString() { return"This is String Representati转载 2016-04-03 21:13:05 · 634 阅读 · 0 评论 -
resume suspend wait sleep
为了解决对共享存储区的访问冲突,Java 引入了同步机制,现在让我们来考察多个线程对共享资源的访问,显然同步机制已经不够了,因为在任意时刻所要求的资源不一定已经准备好了被访问,反过来,同一时刻准备好了的资源也可能不止一个。为了解决这种情况下的访问控制问题,Java 引入了对阻塞机制的支持。 阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),学过操作系统的同学对它一定转载 2016-04-03 19:32:22 · 431 阅读 · 0 评论 -
多线程sleep,wait,yield辨析
Java中的多线程是一种抢占式的机制而不是分时机制。线程主要有以下几种状态:可运行,运行,阻塞,死亡。抢占式机制指的是有多个线程处于可运行状态,但是只有一个线程在运行。 当有多个线程访问共享数据的时候,就需要对线程进行同步。线程中的几个主要方法的比较: Thread类的方法:sleep(),yield()等 Object的方法:wait(转载 2016-04-03 18:54:37 · 730 阅读 · 0 评论 -
HashMap与LinkedHashMap重要知识点
HashMap:1.99%的情况下,当你覆盖了equals方法后,请务必覆盖hashCode方法. hashCode方法的定义用到了native关键字,表示它是由C或C++采用较为底层的方式来实现的,你可以认为它返回了该对象的内存地址;而缺省equals则认为,只有当两者引用同一个对象时,才认为它们是相等的。如果你只是覆盖了equals()而没有重新定义hashCode(),在读取Hash原创 2016-01-11 12:27:48 · 469 阅读 · 0 评论 -
java集合框架总结
集合框架List结构的集合类ArrayList类,LinkedList类,Vector类,Stack类ArrayList集合类的使用方法(无同步性,线程不安全)[java] view plaincopyprint?"white-space:pre"> //ArrayList --- 实现了List接口,ArrayList是容量大转载 2016-01-10 22:10:54 · 570 阅读 · 1 评论 -
java-泛型
一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("qqyumidi");转载 2016-01-07 10:03:21 · 321 阅读 · 0 评论 -
成为java高级程序员需要掌握哪些
section 11.Core Java,就是Java基础、JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,对使用频繁的类,比如String,集合类(List,Map,Set)等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在一个具体的场合下使用哪个集合类更适合、更高效,这些内容直接看源代码就OK了转载 2017-03-04 21:04:48 · 30845 阅读 · 2 评论