摘要: 原子类:java.util.concurrent.atomic线程锁:java.util.concurrent.locks对付死锁:boolean acquired = lock.tryLock(wait,TimeUtils.MILLISECONDS);CountDownLatch锁存器:让线程在同... 阅读全文
posted @ 2015-07-08 23:54 Uncle_Nucky 阅读(748) 评论(0) 推荐(0) 编辑
摘要: Sting类保存字符串只是保存所有单单的字符串;而char[]字符数组会在最后自动加上'\n';所以B:t.equals(c)会返回fasle;所以答案B=========================================================================... 阅读全文
posted @ 2015-07-08 23:52 Uncle_Nucky 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性... 阅读全文
posted @ 2015-07-08 23:51 Uncle_Nucky 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 重载(Overloading)(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。(2)Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调... 阅读全文
posted @ 2015-07-08 23:50 Uncle_Nucky 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 与synchronized相同并发性和内存语义。【新增特性】锁投票。定时锁等候。可中断锁等候。更少时间调度线程。【用法注意点】Lock必须在finally块中释放。Lock lock = new ReentrankLock();lock.lock();try{ ... } finally { loc... 阅读全文
posted @ 2015-07-08 23:49 Uncle_Nucky 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 【CountDownLatch、CyclicBarrier和Semaphore】http://www.cnblogs.com/dolphin0520/p/3920397.html【CountDownLatch同步工具类】http://www.importnew.com/15731.htmlCount... 阅读全文
posted @ 2015-07-08 23:48 Uncle_Nucky 阅读(2671) 评论(0) 推荐(1) 编辑
摘要: ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVariable更容易让人理解一些。 当使用ThreadLocal维护变量时,ThreadLocal为每个使... 阅读全文
posted @ 2015-07-08 23:47 Uncle_Nucky 阅读(179) 评论(0) 推荐(0) 编辑
摘要: http://my.oschina.net/20076678/blog/173165一、在JDK文档中关于读写锁的相关说明ReadWriteLock 维护了一对相关的锁,一个用于只读操作,另一个用于写入操作。只要没有 writer,读取锁可以由多个 reader 线程同时保持。写入锁是独占的。所有 ... 阅读全文
posted @ 2015-07-08 23:44 Uncle_Nucky 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 重点:线程安全类,concurrent包的并发构建基础模块,Java内存模型,Java线程的实现,线程池。并发控制。同步机制。——《Java编程思想》中并发——第5章 基础构建模块:线程安全的容器类,协调线程控制流的同步工具类。——第16章 内存模型。《Java并发编程实战》从 并发性和线程安全性的... 阅读全文
posted @ 2015-07-08 23:43 Uncle_Nucky 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 2)在Java中Lock接口比synchronized块的优势是什么?你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?lock接口在多线程和并发编程中最大的优势是它们为读和写分别提供了锁,它能满足你写像ConcurrentHashMap这样的高... 阅读全文
posted @ 2015-07-08 23:39 Uncle_Nucky 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 【ScheduledThreadPoolExecutor】利用ScheduledThreadPoolExecutor定时执行任务。【Java线程池使用说明】【http://www.oschina.net/question/565065_86540】【源代码】【ThreadPoolExecutor.j... 阅读全文
posted @ 2015-07-08 23:38 Uncle_Nucky 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 【JVM锁优化:http://www.importnew.com/15340.html】【自旋锁】互斥同步对性能最大的影响是阻塞的实现,挂起线程和恢复线程的操作都需要转入内核态中完成,这些操作给系统的并发性能带来了很大的压力。而在很多应用上, 共享数据的锁定状态只会持续很短的一段时间。若实体机上有多... 阅读全文
posted @ 2015-07-08 23:37 Uncle_Nucky 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 集合IO:API,NIO2,Netty,序列化泛型反射设计模式并发JVM其他:XML,RMI,JMS,WebService,RPC 阅读全文
posted @ 2015-07-08 23:33 Uncle_Nucky 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 不等值关系select a.ename,a.sal,b.grade from emp a, salgrade bwhere a.sal between b.losal and b.hisal等值连接:平时用最多外连接:outer-joinselect a.ename, a.sal, a.job, ... 阅读全文
posted @ 2015-07-08 23:32 Uncle_Nucky 阅读(137) 评论(0) 推荐(0) 编辑
摘要: selectname,max(IF(subject='chinese',score,0))as'chinese',max(IF(subject='math',score,0))as'math',max(IF(subject='english',score,0))as'english',sum(sco... 阅读全文
posted @ 2015-07-08 23:31 Uncle_Nucky 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 【group by】对结果集进行分组,常与汇总函数一起使用。SELECT column,SUM(column) FROM table GROUP BY columnHAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时, HAVING 则与 WHERE 子句功能相似。Co... 阅读全文
posted @ 2015-07-08 23:30 Uncle_Nucky 阅读(3201) 评论(0) 推荐(0) 编辑
摘要: SHOWDATABASES;CREATEDATABASEMYSQLDATA;USEMYSQLDATA;SHOWTABLES;CREATETABLEMYTABLE(nameVARCHAR(20),sexCHAR(1));显示表的结构:DESCRIBEMYTABLE;往表中加入记录:insertinto... 阅读全文
posted @ 2015-07-08 23:26 Uncle_Nucky 阅读(112) 评论(0) 推荐(0) 编辑
摘要: InnoDB引擎的行锁是通过加在什么上完成(或称实现)的?为什么是这样子的通过 行多版本控制 MyISAM Innodb事物支持 : 不支持 支持锁的粒度: table Row存储容量: 没有上限 6... 阅读全文
posted @ 2015-07-08 23:25 Uncle_Nucky 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 题目: 数据库事务,银行转账的例子。 a和b不在同一个数据库里(跨数据库)的事务设计。如何保证两个或多个数据库之间转账事务的执行和回滚。 MySQL怎么做。自己写代码怎么实现。【如何实现跨库的事务操作】(跨数据库怎样保证事务执行和回滚)【两段式提交】两个事务,在保证一个"中心"事务... 阅读全文
posted @ 2015-07-08 23:24 Uncle_Nucky 阅读(1217) 评论(0) 推荐(0) 编辑
摘要: /*银行取款机数据库*/usemastergoifexists(select*fromsysdatabaseswherename='bankDB')dropdatabasebankDBgocreatedatabasebankDB--建立数据库bankDBgousebankDBgoifexists(s... 阅读全文
posted @ 2015-07-08 23:23 Uncle_Nucky 阅读(634) 评论(0) 推荐(0) 编辑