自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 [Java][多线程]《Java并发编程实战》—— 第二章 线程安全性

编写线程安全的代码,核心在于要对状态访问操作进行管理,特别是对共享的和可变的状态的访问。对象的状态同步机制:synchronized(独占的加锁方式)volatile显式锁原子变量多个线程访问同一个变量时,有3种方式保障安全:不在线程之间共享该状态变量将状态变量设计为不可变的变量在访问状态变量时使用同步程序状态的封装性越好,就越容易实现程序的线程安全性,并且代码的维护...

2018-12-27 19:08:45 207 1

原创 [Java][多线程]《Java并发编程实战》—— 第一章 简介

早期计算机每次只能运行一个程序操作系统每次能运行多个程序,不同的程序都在单独的进程中运行。操作系统为各个独立执行的进程分配各种资源,包括内存,文件句柄以及安全证书等。不同的进程之间可以通过一些粗粒度的通信机制来交换数据,包括:套接字、信号处理器、共享内存、信号量以及文件等。促进进程出现的因素:资源利用率公平性便利性线程允许在同一个进程中同时存在多个程序控制流。线程共享进程范围内的...

2018-12-27 18:43:01 264 1

原创 [架构]《大型网站技术架构》——第六章 永无止境:网站的伸缩性架构

网站的伸缩性是指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力。大型网站:大量用户,大量访问功能庞杂,产品众多网站需要部署大量的服务器大型网站的渐进式演化过程网站架构的伸缩性设计:根据功能进行物理分离实现伸缩单一服务器处理所有服务数据库从应用服务器分离缓存从应用服务器分离静态资源从应用服务器分离纵向分离(分层后分离),如...

2018-12-16 21:28:18 334 1

原创 [架构]《大型网站技术架构》——第五章 万无一失:网站的高可用架构

网站可有效访问的特性。(不要挂)硬件故障是常态,网站的高可用架构设计的主要目的就是保证服务器硬件故障时服务依然可用、数据依然保存并能够被访问。主要手段是数据和服务的冗余备份及失效转移。大型网站的分层架构及物理服务器的分布式部署使得位于不同层次的服务器具有不同的可用性特点。关闭服务或者服务器宕机时产生的影响也不相同,高可用的解决方案差异也大。典型的分层模型:应用层具体业务逻辑处理。高并发...

2018-12-15 23:17:21 311 1

原创 [架构]《大型网站技术架构》——第四章 瞬时响应:网站的高性能架构

网站性能是客观的指标,可以具体体现到响应时间、吞吐量等技术指标,同时也是主观的感受。用户视角的网站性能在实践中,使用一些前端架构优化手段,通过优化页面HTML式样、利用浏览器端的并发和异步特性、调整浏览器缓存策略、使用CDN服务、反向代理等手段,使浏览器尽快地显示用户感兴趣的内容、尽可能近地获取页面内容。开发视角的网站性能响应延迟、系统吞吐量、并发处理能力、系统稳定性等技术指标使用缓存...

2018-12-15 21:06:41 6418 2

原创 [Java][多线程]《Java多线程编程实战》—— 第11~14章

第11章 Serial Thread Confinement(串行线程封闭)模式将多个并发的任务存入队列实现任务的串行化。唯一的工作者线程。避免加锁。本质是使用一个开销更小的锁替换一个可能的开销更大的锁。第12章 Master-Slave(主仆)模式将一个任务分解为若干个语义等同的子任务,由专门的工作者线程来并行执行这些子任务。通过整合各个子任务的处理结果生成最后的结果。第13章 Pip...

2018-12-11 18:49:36 271 1

原创 [Java][多线程]《Java多线程编程实战》—— 第10章 Thread Specific Storage(线程特有存储)模式

Thread Specific Storage模式:不共享变量,不使用锁。不同线程使用统一的访问接入点可以获取线程特有的实例。弊端:隐藏了系统结构,隐藏了应用中各个对象之间的关系,从而使应用更加难于理解。鼓励使用全局对象。常见使用场景需要使用非线程安全对象,但不希望引入锁使用线程安全对象,但希望避免其使用锁的开销和相关问题隐式参数传递(但会使系统难于理解)特定于线程的单例模式:...

2018-12-10 20:20:09 283 1

原创 [多线程]《多处理器编程的艺术》读书笔记——第二章 互斥

临界区:某个时刻仅能被一个线程执行的代码段。良构的线程:1.一个临界区只和一个唯一的Lock对象相关联2.线程准备进入临界区时调用该对象的lock()方法3.当线程离开临界区时调用unlock()方法一个好的锁算法应该满足哪些特性:互斥:不同线程的临界区之间没有重叠。(安全特性)无死锁:个别线程可能饥饿,总有一些线程能继续执行。(活性特性)无饥饿:每一个试图获得锁的线程最终都能成功...

2018-12-03 20:49:31 489 1

原创 [多线程]《多处理器编程的艺术》读书笔记——第一章 引言

共享存储器通信方式下的多处理器编程技术。可计算性理论:理解异步并发环境中的可计算问题。安全性:不好的事情绝不会发生。活性:一个特定的好的事件一定会发生。确保一个时刻只允许一个线程执行特定代码段的问题称为互斥问题。啤酒瓶罐的例子——中断——wait()和notifyAll()旗子的例子无死锁:无饥饿:等待:互斥的本质就是等待中断:wait()和notifyAll()的本质就是中断...

2018-12-03 20:05:58 386

原创 [架构]《大型网站技术架构》——第三章 大型网站核心架构要素

系统的各个重要组成部分及其关系构成了系统的架构。系统功能性能响应很多时候网站性能问题是网站架构升级优化的触发器。浏览器端:浏览器缓存、页面压缩、合理布局页面、减少Cookie传输CDN:将网站静态内容分发至离用户最近的网络服务商机房反向代理服务器:缓存热点文件应用服务器端:服务器本地缓存、分布式缓存,异步操作,应用服务器集群代码层面:多线程、改善内存管理数据库服务器端:索引、...

2018-12-02 22:47:49 5727 1

原创 [架构]《大型网站技术架构》——第二章 大型网站架构模式

分层横向维度上层对下层的依赖和调用合理规划层次边界和接口禁止跨层次的调用及逆向调用分割纵向切分分布式将不同模块部署在不同的服务器上,通过远程调用协同工作。问题:调用通过网络,对性能造成严重影响服务器越多,宕机概率越大,使网站可用性降低数据一致性、分布式事务难以保证网站依赖错综复杂可开发管理维护困难分布式方案:分布式应用和服务:改善网站性能和并发性、加快开发和发布速度...

2018-12-02 22:00:27 5741 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除