java语言中的锁

java语言中的锁

从java的集合线程安全开始说起 平时经常使用的集合类如ArrayList,LinkedList,HashSet等以及Map都是线程不安全的,如果进行多线程操作会出现线程安全问题,那么java是如何解决这些常用类的线程安全问题呢 几个常用的保证集合类线程安全的方法 使用synchronized关键字 使用Collections提供的工具方法保证线程……

CAS问题简述

CAS问题简述

什么是CAS compareAndSwap 对比并交换,是一条CPU原语,执行必须是连续的不能够被打断。Atomic类使用CAS原理实现 java语言中利用,sun.misc.Unsafe类实现了CAS java8中里有do…while循环实现了CAS public final int getAndSetInt(Object paramOb……

线程池相关知识点

线程池相关知识点

从阻塞队列开始说起 在操作阻塞队列时,如果队列内容为空,那么消费线程会被阻塞;如果队列已经满了,那么生产线程将会阻塞 阻塞队列的分类 ArrayBlockingQueue 有界队列 底层为Array形式存储 如果所有的任务都是按顺序执行,不存在“插队”和从队伍中离开,则适合使用ArrayBlockingQueue LinkedBlockingQu……

volatile是如何保证内存可见性的

volatile是如何保证内存可见性的

在java的内存模型中,每个线程都要将主内存中的变量复制到线程的工作内存中,在线程操作完成后将工作内存中的变量写会到主内存中。如果一个变脸被复制到线程的工作空间中,在线程工作空间中的修改,如果不能及时写回主内存中,那么其他线程是无法获取大这个变量已被修改的状态。 java引入volatile关键字来实现指令在读取变量时,必须去读主内存中的变量,而不将变量复制……

分库分表相关

分库分表相关

查询本文需要浏览器支持flash功能,如flash无法播放可在百度脑图中查看 [freemind file=”/freeMind/高并发相关.mm” /] ……

分布式相关知识

分布式相关知识

查询本文需要浏览器支持flash功能,如flash无法播放可在百度脑图中查看 [freemind file=”/freeMind/分布式相关.mm” /] ……

深入理解java虚拟机 之内存管理机制

深入理解java虚拟机 之内存管理机制

第二部分 自动内存管理机制 第二章 java内存区域与内存溢出异常 1. 运行时数据区域 1. 程序计数器 每个线程一个计数器,用来记录程序执行到哪一行代码 2. JAVA虚拟机栈 记录java方法执行逻辑 ……

《亿级流量网站架构》读书笔记

《亿级流量网站架构》读书笔记

限流详解 限流算法 令牌法:每秒产生指定数量令牌,如果能够获得令牌则不限流;无法获得令牌则限流 漏斗法:类似于一边进水一边放水;将请求放入桶中如果桶没满,正常处理,如果桶满,则拒绝请求。 应用级限流 分布式限流 redis + lua nginx + lua 接入层限流 (nginx等) ngx_http_limit_conn_mo……

maven依赖优先级问题

maven依赖优先级问题

很奇怪的一个问题 没有搞清楚具体原因 暂时先记下 maven 非web项目 父级pom中 dependencyManagement 的版本号最高 web项目中子pom中版本号优先级高 ……

java bean的关系

java bean的关系

Java类之间的关系: 依赖,关联,聚合,组合 依赖:常以方法参数的形式出现 关联:可以单向也可以是双向,常以成员变量的方式出现 聚合:一种特殊的关联关系,表示两个对象之间是整体和部分的弱关系,部分的生命周期可以超越整体。如电脑和鼠标 组合方式: 也是一种特殊的关联关系,表示两个对象之间是整体和部分的强关系,部分的生命周期不能超越整体,或者说不能脱离整体而存……