分类: 学习笔记

25 篇文章

thumbnail
CAP理论
CAP 原则又称 CAP 定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。 CAP含义 一致性(C):所有的节点上的数据时刻保持同步。对于客户端的每次读操作,要么读到的是最新的数据,要么读取失败。换句话说,一致性是站在分布式系统的角度,对访问本系统的客户端的一种承诺:要么我…
thumbnail
消息队列的七种经典应用场景
消息队列的七种经典应用场景 - 勇哥java实战分享 - OSCHINA - 中文开源技术交流社区 场景一:异步&解耦 用户发送注册请求,可能出现响应不及时的问题,同时短信功能与用户中心耦合,非核心影响核心功能。 加入消息队列可以实现解耦,同时在用户点击注册后前端能立即反馈,并将注册请求放入消息队列,等待后续的任务服务而不影响前端。 场景二:消峰 高并发场景下,面对突然出现的请求峰值,非常…
thumbnail
字节序
大小端字节序 字节序:超过一个字节的数据类型在内存中存储的顺序 大端字节序(Big Endian):高位字节数据存放在内存低地址处,低位字节数据存放在内存高地址处。符合人类正常理解和写数值的方式。 小端字节序(Little Endian):高位字节数据存放在内存高地址处,低位数据存放在内存低地址处。 举例而言:int型数据12345678用一个字节表示不了,需要用到4个字节,也就有了字节序的问题 …
thumbnail
Redis基础知识总结
1.基本介绍 REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。它是一个开源的,使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,它提供了多种语言的 API。Redis提供了一个快速、可靠和…
thumbnail
操作系统知识总结(4)–文件管理
文件系统 文件系统 存储信息和检索信息 能够存储大量的信息 长期保存信息 可以共享信息 解决方法 文件 文件系统 文件 信息以一种单元,即文件形式存储在磁盘或其他外部介质上 文件是一组带标识的、在逻辑上有完整意义的信息项的序列 文件是通过操作系统来管理的,文件内容由文件建立者和使用者解释 文件系统 用户观点:文件系统如何呈现在其面前 操作系统观点:文件目录怎样实现、怎样管理存储空间、文件存储位置、…
thumbnail
操作系统知识总结(3)–内存管理
内存管理基础 程序执行前处理 编译:编译程序将用户代码编译成若干个目标模块 链接:将编译后形成的一组目标模块,以及所需库函数链接在一起,形成完整装入模块 装入:将装入模块装入内存 常用链接方法 1.静态链接:在程序运行之前,将各目标模块及所需函数链接成为一个完整的装入模块,以后不再拆开 2.装入时动态链接:在装入内存时,将目标模块变装入边链接 3.运行时动态链接:在程序执行过程中,需要该目标模块时…
thumbnail
操作系统知识总结(2)–进程管理
进程 进程概念 定义 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。 进程是程序的执行; 进程执行必须按照一定顺序进行 进程组成:数据、代码、PCB(、栈) 引入原因 计算机允许加载多个程序到内存以便并发执行,需要对各种程序提供更严的控制和更好的划分,因此引入进程概念 进程与程序的区别 进程是由程序和数据两部分组成的; 进程有生命周期,有诞生有消亡,短暂的;而程序是相对长久的; …
thumbnail
操作系统知识总结(1)–概述
概念:操作系统是控制和管理计算机硬件和软件资源,合理组织计算机工作流程以及方便用户、在计算机与用户之间起到接口作用的程序集合。 三种角度的定义 1.资源分配器:管理分配资源 2.控制程序:控制用户程序和I/O设备的执行 3.内核程序:一直在运行的程序(其他的都是应用程序) 基本特征 并发性: 所谓并发,是指两个或两个以上事件在同一时间间隔内发生。 共享性: 所谓共享是指系统中的硬件和软件资源可为多…
thumbnail
Java总结(3)–JVM
内存分区 HotSpot创建对象过程 类加载检查 内存分配:空闲列表、指针碰撞 初始化零值 设置对象头 执行init 内存堆结构 对象优先在Eden区分配。当 Eden 区没有足够空间进行分配时,虚拟机将发起一次 Minor GC。 堆内存被通常分为下面三部分: 新生代内存(Young Generation):Eden区、S0,S1 老生代(Old Generation):Tenured 永久代(…
thumbnail
Java总结(2)–并发编程
悲观锁 总是假设最坏情况,即共享资源每次被访问的时候就会出现问题。即共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程。 独占锁:synchronized、ReentrantLock 缺点: 高并发情况易造成线程阻塞 大量阻塞带来频繁的上下文切换,增加系统性能开销 易造成死锁 常用场景 用于写比较多的情况,可以避免频繁失败和重试影响性能,它的开销是固定的。 乐观锁 总是假设最…