随笔分类 - Interview
摘要:什么是volatile 1.Java语言规范第3版中对volatile的定义如下: Java编程语言允许线程访问共享变量,为了确保共享变量能够被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁要更加方便。如果一个字段被声明成volatil
阅读全文
摘要:前言-关系型数据库与非关系型数据库的特点及区别 关系型数据库代表:MySQL,Oracle,DB2,Microsoft SQL Server,Microsoft Access 关系型数据库:关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。 关系型数据库
阅读全文
摘要:为什么说HashMap线程不安全呢? 因为并发情况下,HashMap可能造成死循环... 在多线程使用场景中应该尽量避免使用线程不安全的HashMap,可以使用ConcurrentHashMap或者Collections.synchronizedMap(). map初始化为一个长度为2的数组,loa
阅读全文
摘要:学习《大型网站技术架构》第一章所摘抄的重点内容,感兴趣的同学可以直接去读这本书。。。 一、大型网站软件系统特点 1.高并发,大流量 : 需要面对高并发用户,大流量访问。 2.高可用 : 系统需要24小时不间断服务。 3.海量数据 : 需要存储、管理海量数据,需要使用大量服务器。 4.用户分布广泛,网
阅读全文
摘要:想要详细学习synchronized的同学们可以看 http://www.cnblogs.com/noKing/p/9190673.html 本文参考: http://www.cnblogs.com/dolphin0520/p/3923167.html https://blog.csdn.net/u
阅读全文
摘要:什么是死锁 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 用代码实现一个死锁 避免死锁的办法 1.避免一个线程同时获取多个锁2.避免一个
阅读全文