Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! juc-locks 锁框架 接口说明 Lock接口 类型 名称 void lock() void lockInterruptibly () Condition newCondition() boolean tryClock() boolean tryClock(Long time, TimeUnit unit) void unlock() lock()方法类似于使用synchr…
Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! juc-sync 同步器框架 同步器名称 作用 CountDownLatch 倒数计数器,构造时设定计数值,当计数值归零后,所有阻塞线程恢复执行:其内部实现了AQS框架 CyclicBarrier 循环栅栏,构造时设定等待线程数,当所有线程都到达栅栏后,栅栏放行:其内部通过ReentrantLock和Condition实现同步 Semaphore 信号量,类似于"令牌"…
Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! juc-collections 集合框架 ConcurrentHashMap ConcurrentHashMap 是线程安全的,用法和HashMap基本一致,原理部分可参考以下文章: 源码分析 ConcurrentSkipListSet ConcurrentSkipListSet是对ConcurrentHashMap 的一个补充,有点像TreeMap,LinkedHashMap…
Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! juc-atomic 原子类框架 AtomicInteger AtomicInteger即进行原子操作,CAS,有关CAS的可以详细再去查一查,涉及到C,汇编,硬件层面了,该类主要运用于多线程下的变量修改 主要涉及其自增,自加,set相关方法,适用场景:适合快速变量操作的场景,最简单的例子:比如统记网站访问人数,延申:自旋锁 public class AtomicInteger…
Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! 主要内容: juc-executors 执行器框架 juc-locks 锁框架 juc-atomic 原子类框架 juc-sync 同步器框架 juc-collections 集合框架 总览: juc-executors 执行器框架 Executors框架基本概述 ScheduledExecutorService // ScheduledExecutorService其实属于上…
一.前言 在分析完了集合框架后,很有必要接着分析java并发包下面的源码,JUC(java.util.concurrent)源码也是我们学习Java迈进一步的重要过程.我们分为几个模块进行分析,首先是对锁模块的分析. 二.锁框架图 在Java并发中,锁是最重要的一个工具,因为锁,才能实现正确的并发访问,所以,先从锁入手一步步进行分析,锁的框架图如下. 说明:在锁结构框架中乃至并发框架中,AbstractQueuedSynchronizer都占有举足轻重的地位,同时LockSupport也是非常重…
mysql进阶(二十九)常用函数 一.数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP(x) 返回值e(自然对数的底)的x次方 FLOOR(x) 返回小于x的最大整数值 GREATEST(x1,x2,-,xn)返回集合中最大的值 LEAST(x1,x2,-,xn) 返回集合中最小的值1 LN(x) 返回x的自然对数 LOG(x,y)返回x的以y为底的对数 MOD(x,y) 返回x/y…
mysql进阶(二十八)MySQL GRANT REVOKE用法   MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器: 授权->确定用户是否拥有足够的权限执行查询请求等.   如果认证不成功的话,那么授权肯定是无法进行的.   revoke 跟 grant 的语法差不多,只需要把关键字 "to" 换成 "from".   表 GRANT和REVOKE管理的权限   如果你想允许用户myuser从ip为192.168.1.6…
mysql进阶(二十七)数据库索引原理 前言   本文主要是阐述MySQL索引机制,主要是说明存储引擎Innodb.   第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础.   第二部分结合MySQL数据库中InnoDB数据存储引擎中索引的架构实现讨论聚集索引.非聚集索引及覆盖索引等话题.   第三部分讨论MySQL中高性能使用索引的策略. 一.数据结构及算法理论   Innodb存储引擎实现索引的数据结构是B+树,下面介绍几种数据结构,一步步阐述为什么要使用B+树. 1.…
mysql进阶(二十六)MySQL 索引类型(初学者必看)   索引是快速搜索的关键.MySQL 索引的建立对于 MySQL 的高效运行是很重要的.下面介绍几种常见的 MySQL 索引类型.   在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable 表: CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL ); 我们随机向里面插入了 10000 条记录,其中有一条:5555, a…