转自:http://blog.csdn.net/electrombile/article/details/51289813 在 x86 平台上,spinlock 主要通过处理器的 lock 指令前缀实现当某个线程的一条指令访问某个内存的时候,其他的线程的指令无法访问该内存的功能.(可见都是由处理器特性来保证!) 因此在 spinlock 初始化阶段,将锁变量中的值某个值 k 赋为1.在加锁的时候,使用 lock decl (%eax) 指令互斥地将该变量变成0,并且将结果是否问0 赋值给 EFL…
补充(非书中): Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件).类加载器负责读取Java字节代码,并转换成 java.lang.Class类的一个实例.每个这样的实例用来表示一个Java 类.通过此实例的 newInstance()方法就可以创建出该类的一个对象. Java 中的类加载器大致可以分成两类: 一类是系统提供的: 引导类加载器(bootstrapclass loader):它用来加载 Java 的核心库,是用…
引用地址:https://www.cnblogs.com/nele/p/5673215.html GC的前世与今生 虽然本文是以.NET作为目标来讲述GC,但是GC的概念并非才诞生不久.早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功能,这是GC的第一次出现.Lisp的程序员认为内存管理太重要了,所以不能由程序员自己来管理. 但后来的日子里Lisp却没有成气候,采用内存手动管理的语言占据了上风,以C为代表.出于同样的理由,不同的人却又不同的…
一.说明 本文以linux-2.4.10 为例主要分析Linux 进程调度模块中的schedule 函数及其相关的函数.另外相关的前提知识也会说明.默认系统平台是自己的i386 架构的pc. 二.前提知识 在进行schedule 分析之前有必要简单说明一下系统启动过程,内存分配使用等.这样才能自然过渡到schedule 模块. 首先是Linux各个功能模块之间的依赖关系: 可见进程调度是整个内核的核心.但这部分,我想说明的是,我的pc是怎样把操作系统从硬盘装载到内存中,并启动进程调度模块的.然后…
阿里巴巴集团技术丛书 深入分析Java Web技术内幕(修订版)(阿里巴巴集团技术丛书.技术大牛范禹.玉伯.毕玄联合力荐!大型互联网公司开发应用实践!) 许令波 著   ISBN 978-7-121-23293-0 2014年8月出版 定价:79.00元 464页 16开 编辑推荐 让读者知其然,并知其所以然,是<深入分析Java Web技术内幕(修订版)>一书最大的特色. 作者来自淘宝技术一线,亲历了淘宝网PV从1亿到10亿的发展历程,直接经历了在这个过程中技术的不断突破.飞跃等变迁,并积累…
[时间:2016-09] [状态:Open] [关键词:android,NuPlayer,开源播放器,播放框架,ALooper,AHandler,AMessage] 前文中提到过NuPlayer基于StagefrightPlayer的基础类构建,利用了更底层的ALooper/AHandler机制来异步地处理请求,ALooper保存消息请求,然后调用AHandler接口去处理. 实际上在代码中NuPlayer本身继承自AHandler类,而ALooper对象保存在NuPlayerDriver中.…
第1章 深入Web请求过程 1 1.1 B/S网络架构概述 2 基于统一的应用层协议HTTP来交互数据. 1.2 如何发起一个请求 4 HTTP连接本质是建立Socket连接.请求实现方式:工具包如HttpClient.curl+URL.浏览器输入URL回车. 1.3 HTTP协议解析 6 Headers查看步骤:F12->Network->F5->URL->Headers. 1.3.1 查看HTTP信息的工具 8 Firefox--Firebug.F12 1.3.2 浏览器缓存机…
本文基于<深入分析Java Web 技术内幕> <深入分析Java Web 技术内幕>,作者是 许令波,电子工业出版社.本文只是记录书本当中的精彩部分,作个人回顾和技术分享,请读者支持正版! 第一章:深入Web请求过程 1.1 B/S网络架构概述 HTTP采用无状态的短连接的通信方式. 当一个用户在浏览器里输入www.taobao.com这个URL时,会请求DNS把这个域名解析成对应的IP地址,然后根据这个IP地址在互联网上找到对应的服务器,向这个服务器发起一个get请求,由这个服…
推荐四篇文章: JavaScript 是单线程的深入分析 JavaScript 运行机制详解:再谈 Event Loop JavaScript 异步编程的4种方法 JavaScript 既是单线程又是异步的,请问这二者是否冲突,以及有什么区别? 一个重要前提:JavaScript 是单线程的,并且只有一个主线程. 我们常说的 JavaScript 异步通常指的是 ajax,准确的来说,它并不是 JavaScript 中的异步,当 JavaScript 执行 ajax 的时候,会让浏览器开启一个线…
作为一个具有一到五年开发经验程序员,需要学习内容很多: JVM/分布式/高并发/性能优化/Spring MVC/Spring Boot/Spring Cloud/MyBatis/Netty源码分析等等等 01.透彻理解Tomcat原理手写动静态资源的实现 02.分享能源领域的分布式监测系统架构 03.分布式系统关键技术Rpc框架详解与实现 04.自己写一个SpringMVC框架 05.使用Jsoup实现网页爬虫功能 06.JAVA高级进阶之NIO通信架构原理详解 07.高手必过之路透彻理解Spr…