- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 数据库三大范式讲解+笔试面试题、工作中数据库业务设计
本文讲解数据库三大范式、业务设计、逻辑设计、范式设计、反范式设计数据库设计的第一大范式数据库表中的所有字段都只具有单一属性,单一属性的列是由基本数据类型所构成的,设计出来的表都是简单的二维表:name-age列具有两个属性,一个name,一个 age不符合第一范式,把它拆分成两列:数据库设计的第二大范式:要求表中只具有一个业务主键,也就是说符合第二范式的表不......
2019-03-28 22:01:19 16661 8
原创 Mysql事务、MySQl事务隔离级别、MySQL事务语法
Mysql事务 事务的简介 为什么需要事务现在的很多软件都是多用户,多程序,多线程的,对同一个表可能同时有很多人在用,为保持数据的一致性,所以提出了事务的概念。A 给B 要划钱,A 的账户-1000元, B 的账户就要+1000元,这两个update 语句必须作为一个整体来执行,不然A 扣钱了,B 没有加钱这种情况很难处理。什么存储引擎支持事务1.查看数据库下面是否支持......
2019-03-27 21:49:04 464
原创 MySQL中的读锁和写锁(InnoDb行锁、表锁、 MyISAM共享读锁 、MyISAM独占写锁)
MySql锁(数据库都是悲观锁,java、redis、zookeeper会有乐观锁)锁的概念MySQL中的锁MyISAM锁 MyISAM共享读锁 MyISAM独占写锁 MyISAM锁调度InnoDb InnoDb行锁 InnoDb表锁锁的概念锁是计算机协调多个进程或线程并发访问某一资源的机制。......
2019-03-26 21:51:23 9352 2
原创 并发 JVM-JMM和底层实现原理
目录并发编程领域的关键问题... 1现代计算机物理上的内存模型... 2Java内存模型(JMM)... 2JVM对Java内存模型的实现... 3Java内存模型带来的问题... 3可见性问题... 3重排序... 4Java内存模型中的重排序... 4重排序类型... 4重排序与依赖性... 4数据依赖性... 4控制依赖性... 5as-i...
2019-03-25 22:44:43 538
原创 Java核心之Collection类解析
Collection结构list{AbstractList 、 ArrayList、 Vector、 LinkedList}线程安全的集合简单记忆线程安全的集合类:喂!SHE! 喂是指vector,S是指 stack,H是指hashtable,E是指:Eenumeration当多个并发同时对非线程安全的集合进行增删改的时候会破坏这些集合的数...
2019-03-25 08:08:47 759
原创 数据库-SQL效率优化
1 选择最有效率的表名顺序( 只在基于规则的优化器中有效)SQL 的解析器按照从右到左的顺序处理 FROM 子句中的表名,因此 FROM 子句中写在最后的表(我们称之为基础表)将被最先处理. 在 FROM 子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当 SQL 处理多个表时, 会运用排序及合并的方式连接它们.首先,扫描第一个表(FROM 子句中最后的那个表)并对记录进......
2019-03-24 22:28:12 452
原创 MySQL存储引擎(MyISAM 、Innodb)-MySQL逻辑架构
Transactions Per Second(每秒传输的事物处理个数):TPS = (COM_COMMIT +COM_ROLLBACK)/UPTIMECOM_COMMIT 事务提交MySQL逻辑架构–MySQL存储引擎(MyISAM 、Innodb、表级锁、行级锁)MySql逻辑架构-连接层.. 4MySql逻辑架构-SQL处理层.. 5MySql逻辑架构-缓存.. 7M......
2019-03-24 22:24:30 462
原创 并发-ConcurrentHashMap容器、ConcurrentSkipListMap 和 ConcurrentSkipListSet并发容器
目录ConcurrentHashMap. 2预备知识... 2Hash. 2位运算... 21.7中原理和实现... 3ConcurrentHashMap中的数据结构... 3初始化做了什么事?... 4在get和put操作中,是如何快速定位元素放在哪个位置的?... 5get()方法... 6put()方法... 6扩容操作... 7size方法....
2019-03-22 20:48:20 5552
原创 并发-显示锁Lock和独占锁AQS(AbstractQueuedSynchronizer)
4、显式锁和AQS显式锁Lock接口和核心方法lock():添加锁unlock():释放锁trylock():这个方法确保了在需要锁的时候,是未加锁的状态。返回true,表示是未加锁的,返回false表示已加锁Lock接口和synchronized的比较:synchronized关键字语言层面,调用cpu指令实现,lock由类在语法层面(类级别)synchro...
2019-03-21 16:42:23 405 1
原创 并发-原子操作和CAS(CompareAndSwep)
原子操作和CAS前言 (在jvm中创建对象(new对象时)先去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个类的符号是否被加载、解析和初始化过,没有先执行相应的类加载,对象创建jvm中是非常频繁的行为,仅仅是修改一个指针所指向的位置,在并发情况下也并不是线程安全的,可能出现正在给对象A分配内存,指针还没来得及修改,对象B又同时使用原来的指针来分配内存。...
2019-03-19 20:27:08 478
原创 并发-线程并发工具类
2、线程的并发工具类Fork-Join分支/聚合什么是分而治之?规模为N的问题,N<阈值,直接解决,N>阈值,将N分解为K个小规模子问题,子问题互相对立,与原问题形式相同,将子问题的解合并得到原问题的解动态规范工作密取workStealingFork/Join使用的标准范式ForkJoinPool类 invokeAll递交任务 常用的...
2019-03-17 11:24:09 305 1
原创 并发-线程基础、线程共享和协作
线程基础、线程之间的共享和协作单词:interrupt 打断;阻止;截断;中断;打扰;暂停;妨碍resume 继续;重新开始suspend暂停;悬;挂;延缓yield 放弃;退让;notify 通知;布告基础概念:CPU核心数和线程数的关系:核心数:线程数=1:1 ;使用了超线程技术后---> 1:2CPU时间片轮转机制:又称...
2019-03-16 19:49:11 415 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人