以下为大家整理了阿里巴巴史上最全的 Java 面试题,涉及大量 Java 面试知识点和相关试题。 JAVA基础 ★JAVA中的几种基本数据类型是什么,各自占用多少字节。 八大基本数据类型,byte:8位,short:16位,int:32位,long:64位,float:32位,double:64位, ...
分类:
其他好文 时间:
2018-09-05 19:45:33
阅读次数:
481
异步的同步构造 任何使用了内核模式的线程同步构造,我都不是特别喜欢。因为所有这些基元都会阻塞一个线程的运行。创建线程的代价很大。创建了不用,这于情于理说不通。 创建了reader-writer锁的情况,如果写锁被长时间占有,那么其他的读请求线程都会被阻塞,随着越来越多客户端请求到达,服务器创建了更多 ...
1、目的:解决客户端并发访问你的冲突问题 2、锁的分类 1、锁类型 1、读锁(共享锁) 查询(select):加读锁之后,被人不能更改表记录,但是可以进行查询。 2、写锁(互斥锁,排他锁) 更新(update):加写锁之后别人不能查,不能改。 2、锁粒度 1、行级锁:Innodb(存储引擎) sel ...
分类:
数据库 时间:
2018-09-03 22:28:53
阅读次数:
260
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Op ...
分类:
其他好文 时间:
2018-08-31 17:10:26
阅读次数:
161
作为免费又高效的数据库,mysql基本是首选。良好的安全连接,自带查询解析、sql语句优化,使用读写锁(细化到行)、事物隔离和多版本并发控制提高并发,完备的事务日志记录,强大的存储引擎提供高效查询(表记录可达百万级),如果是InnoDB,还可在崩溃后进行完整的恢复,优点非常多。即使有这么多优点,仍依 ...
分类:
数据库 时间:
2018-08-30 14:29:29
阅读次数:
191
并发控制策略:乐观并发控制与悲观并发控制。乐观并发:通过冲突监测和事务回滚来防止并发业务事务中的冲突悲观并发:每次只允许一个业务事务访问数据以防止并发业务事务中的冲突 读写锁:读写锁是互斥的(得到了读锁就不能再获取写锁)。读写锁可以用来解决不一致读问题,悲观锁策略可以通过读加锁和写加锁来处理这个问题 ...
分类:
其他好文 时间:
2018-08-29 01:05:13
阅读次数:
102
在Java中,有四种方式来实现同步互斥访问:synchronized 、 Lock 、wait() / notify() / notifyAll() 方法和 CAS(硬件CUP同步原语)。 一、synchronized 1. 同步代码块 表示线程在执行的时候会将object 对象上锁。(注意这个对象 ...
分类:
编程语言 时间:
2018-08-27 18:30:24
阅读次数:
174
1、自旋锁,自旋,jvm默认是10次,由jvm自己控制,for去争取锁 2、阻塞锁 被阻塞的线程,不会争夺锁 3、可重入锁,多次进入改锁的域 4、读写锁 5、互斥锁,锁本身就是互斥的 6、悲观锁,不相信这里是安全的,必须全部上锁 7、乐观锁,相信这里是安全的 8、公平锁,有优先级的锁 9、非公平锁, ...
分类:
编程语言 时间:
2018-08-23 19:20:00
阅读次数:
286
linux下多线程编程本文将介绍linux系统下多线程编程中,线程同步的各种方法。包括:互斥量(mutex)读写锁条件变量信号量文件互斥在介绍不同的线程同步的方法之前,先简单的介绍一下进程和线程的概念, 它们的优缺点,线程相关的API,读者——写者问题和哲学家就餐问题。#基础知识###1. 进程和线 ...
分类:
编程语言 时间:
2018-08-23 02:23:22
阅读次数:
207
1. 锁的种类 锁的种类挺多,包括:自旋锁、自旋锁的其他种类、阻塞锁、可重入锁、读写锁、互斥锁、悲观锁、乐观锁、公平锁、可重入锁等等,其余就不列出了。我们这边重点看如下几种:可重入锁、读写锁、可中断锁、公平锁。 1.1 可重入锁 如果锁具备可重入性,则称作为可重入锁。synchronized和Ree ...
分类:
其他好文 时间:
2018-08-21 22:37:30
阅读次数:
247