性能与可伸缩性 一、Amdahl定律 1.问题和资源的关系 在某些问题中,资源越多解决速度越快;而有些问题则相反: 注意:每个程序中必然有串行的部分,而合理的分析出串行和并行的部分对程序的影响极大;串行部分占比和多核执行效率之间是指数级别的关系 2.ConcurrentLinkedQueue 在多核 ...
分类:
编程语言 时间:
2017-06-04 12:52:56
阅读次数:
169
基本概念 1.AQS:AbstractQueuedSynchronizer类 AQS是java中管理“锁”的抽象类,锁的许多公共方法都是在这个类中实现。AQS是独占锁(例如,ReentrantLock)和共享锁(例如,Semaphore)的公共父类。 (01) 独占锁 -- 锁在一个时间点只能被一个 ...
分类:
编程语言 时间:
2017-05-31 10:29:13
阅读次数:
193
众所周知,synchronized可修饰方法和代码块,可作用于类或者对象。 当修饰代码块时,synchronized(object) 作用于对象,只约束该对象。 synchronized(class)作用于类,约束类所有的对象。 修饰方法时,synchronized 修饰static方法时,作用于类 ...
分类:
编程语言 时间:
2017-05-22 21:18:24
阅读次数:
198
新式类与经典类的区别: 首先: Python 2.x中默认都是经典类,只有显式继承了object才是新式类 Python 3.x中默认都是新式类,不必显式的继承object 即:新式类都从object继承,经典类不需要 其次: 新式类对象可以直接通过__class__属性获取自身类型:type 继承 ...
分类:
其他好文 时间:
2017-04-16 21:47:49
阅读次数:
233
单例模式下饿汉模式效率最好 饿汉模式 class Single { private static final Single s=new Single(); private Single(){} public static Single getInstance() { return s; } } 懒汉 ...
分类:
其他好文 时间:
2017-04-14 22:36:15
阅读次数:
218
最近没事,顺便看看java并发编程的东西,然后总结纪录下来,大家如果能看到帮忙指正指正哈哈,另外一方面也为以后自己回顾的时候可以看看。 关于并发编程,准备从几个点切入: 1、java线程几本知识 2、juc原子类 3、锁 4、juc集合 5、线程池 ------------------------- ...
分类:
编程语言 时间:
2017-02-16 01:19:33
阅读次数:
305
说明: 1、个人技术也不咋滴、也没在项目中写过线程,以下全是根据自己的理解写的。所以,仅供参考及希望指出不同的观点。 2、其实想把代码的github贴出来,但还是推荐在初学的您多亲自写一下,就没贴出来了。 一、基本说明 类、对象:。。。(不知道怎么说,只可意会不可言传>.<!);要明白哪些方法、变量... ...
分类:
编程语言 时间:
2016-11-28 09:06:18
阅读次数:
407
一、前言 之前对类锁和对象锁是否是互斥的不是太确定,因此决定编写相关的程序进行实践一下。编写前对相关定义约定约定如下: 1. 类锁:在代码中的方法上加了static和synchronized的锁,或者synchronized(xxx.class)的代码段,如下文中的increament(); 2.对 ...
分类:
编程语言 时间:
2016-09-23 12:36:48
阅读次数:
157
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能 ...
分类:
其他好文 时间:
2016-09-23 11:08:41
阅读次数:
239
觉得还不错 留个记录,转载自http://zhh9106.iteye.com/blog/2151791 在java编程中,经常需要用到同步,而用得最多的也许是synchronized关键字了,下面看看这个关键字的用法。 因为synchronized关键字涉及到锁的概念,所以先来了解一些相关的锁知识。 ...
分类:
编程语言 时间:
2016-09-09 18:17:59
阅读次数:
192