自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

银河舰长的专栏

从Android进入计算机的世界

  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 多线程编程之指令重排与屏障

一、现代编译器和处理器1. 编译器的优化2. 处理器的优化二、如何保证指令执行顺序与代码一致1. 编译屏障2. 指令屏障参考文章当我们在谈论cpu指令乱序的时候,究竟在谈论什么? - 知乎...

2022-04-14 02:07:06 1161 1

原创 订单系统的设计与实现

订单的状态状态进入操作进入条件草稿新建订单 ,保存订单;提交审批失败,审批拒绝新建订单:插入新订单, 保存订单:修改订单;提交审批失败:修改订单,审批拒绝:修改订单待审批提交审批修改库存数量,修改订单状态,插入新审批数据待提交审批通过修改审批系统,修改订单系统待执行点击“提交”按钮修改库存系统,修改订单系统已完成点击“完成”按钮修改订单系统,写入财务系统关键问题的设计提交订单的数据一致性向库存系统发送扣减库存请求,库存系统扣减库

2021-11-07 14:33:05 409

原创 MySQL的事务隔离级别及其原理

MySQL事务的四种隔离级别读未提交(READ UNCOMMITTED),可以读到其他事务中未commit的数据读已提交(READ COMMITTED),只能读到其他事务已commit的数据可重复读(REPEATABLE READ),只能读取到本事务启动时之前的数据序列化串行(SERIALIZABLE),所有事务串行化,不允许并行执行在事务中undo页的作用MySQL中使用一种名为MVCC的技术实现了读已提交和可重复读,而MVCC的实现正式基于Undo页,Undo页结构如下所示:MySQL中每

2021-07-12 00:17:02 976

原创 你一定不知道的互联网上最重要的密码

加密技术是在互联网种传输数据的最重要保护伞,

2020-12-12 02:03:01 329 1

原创 计算机原理之网络模型(二)

一、网络模型1. 阻塞与非阻塞阻塞(Block)是指线程(Thread)的阻塞,2. 改进的目的减少无意义的CPU资源消耗(上下文切换、轮询),提升内核网络IO的效率,二、各种模型1. 阻塞Block2. 非阻塞Non-Block不阻塞当前线程循环调用系统内核是否存在client连接,每次返回一个client(问题:洗衣液)3. 多路复用器Select优点通过select...

2020-11-17 10:38:33 112

原创 英文基础之语法(二)

一、基本句型主语 + 谓语 + (介词 + 宾语)例句:He jump (into the water).其中 they是主语,play是谓语(特别强调此句式下谓语只能为“不及物动词”),into是介词,the water是宾语。主语 + 谓语 + 宾语例句:I love you.其中 I是主语,love是谓语,you是宾语。主语 + 谓语 + 宾语 + 宾语例句:She gives me a gift.其中 she是主语,give是谓语(特别强调此句式下谓语只能为“及物动词”

2020-08-25 15:32:55 676

原创 微服务架构体系之总览(一)

一、服务的持续集成部署自动化流水线动态分配的机器资源二、服务间通信的模式服务发现与负载均衡异步和重试策略限流、熔断、降级的断路器机制性能与安全管理三、全局管理中心统一授权管理全局动态配置管理定时任务调度机制四、请求接入管理负载均衡流量控制路由映射鉴权策略五、服务监控和报警健康检测服务资源监控请求链路耗时追踪服务拓扑关系总览...

2020-06-06 13:37:26 224

原创 计算机原理之网络协议(一)

一、五层网络模型1. 主要的网络协议以下每层列出的协议,都能够在代码或者操作系统中使用和管理,当程序进行网络通信时,需要由这些协议共同协作完成。应用层,包括HTTP、TLS(SSL3.1)、DNS、Thrift、FTP等传输层,TCP(传输控制协议)、UDP(用户报文协议)网络层,IP(网际协议)链路层,ARP(地址解析协议)物理层,该层与硬件关系更为紧密,无需太过关注2. 网...

2020-04-15 10:10:37 226

原创 英文基础之音标(一)

一、元音英文中有7个短元音、5个长元音、8个双元音,短[ɪ] 长[i:]hit /hɪt/ 短音更贴近“A”的发音heat /hi:t/ 长音更贴近“一”的发音短[ʊ] 长[u:]good /gʊd/ 短音更贴近“急促气短的 汉语拼音四声的ù”的发音blue /blu:/ 长音更贴近“拖长气匀的 汉语拼音一声的ū”的发音短[ʌ] 长[ɑː]love /lʌv/ 短...

2020-04-12 10:34:44 510

原创 JVM基础之语法关键字的作用和原理(六)

1. new指令new指令用于在内存中分配空间,并执行对象的构造方法。因此2. static指令3. final指令4. volatile指令volatile指令用于限制机器指令的重排序,保证了工作内存对主存的可见性,其修饰的变量在编译为机器指令时,编译器对其进行了特殊处理。在volatile变量的写操作指令,前面插入StoreStore Barriers,后面插入StoreLoad...

2020-04-03 21:58:49 195

原创 JVM基础之虚拟机垃圾回收详解(五)

程序所使用的内存空间不断扩大,是GC算法演进的根本原因。一、垃圾回收器算法总览垃圾回收器(Garbage Collection)是Java虚拟机(Java Virtual Machine),用于清理堆空间(Heap Space)中无引用对象(Non-Reference Object)的算法的实现。1. Serial算法Serial是单线程的垃圾回收算法2. Parallel算法...

2020-03-28 17:34:27 272

原创 Spring Cloud Gateway 网关服务教程(一)

本文使用的 Spring Cloud 版本为 2.1.2.RELEASE,如下:<dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>spring-cloud-gat...

2020-01-16 15:52:54 1103 1

原创 JVM基础之内存空间详解(四)

堆空间中进行的垃圾回收,是影响虚拟机性能的主要原因。自动垃圾回收机制是一把双刃剑,全面了解它才能掌握它。一、内存空间参数(JVM启动参数)非堆内存(永久区)参数-XX:PermSize 非堆内存初始大小值-XX:MaxPermSize 非堆内存允许最大值堆内存参数-XX:InitialHeapSize(-Xms) 堆内存初始大小值,单位可选m或g-XX:MaxHea...

2019-04-11 12:25:08 558 1

原创 Java基础之线程机制(一)

Java线程基础(一)要想学问大,就要多读、多抄、多写。要记住,一个人想要在学业上有所建树,一定得坚持这样做卡片、摘记。一、线程的状态线程包括7种状态:创建(new)、就绪(runable)、运行(running)、阻塞(blocked)、休眠等待(time waiting)等待(waiting)、结束(terminated)。创建状态(Thread.State.NEW),在代码中使...

2019-03-31 13:40:21 202

原创 JVM基础之类加载机制(三)

代码编译后产生字节码而不是本地机器码,是存储格式的一小步,却是编程语言的一大步。一、类加载机制概述虚拟机将描述类的.class文件加载到内存,并对数据进行校验,转换解析和初始化,最终生成可以被虚拟机直接使用的对象。Java中类型的加载、连接和初始化在程序运行期间完成,会有性能开销,但为Java程序提供了高度的灵活性,是天生的可动态扩展的语言。二、类加载的时机类在虚拟机中的生命周期...

2019-03-23 16:45:08 142

原创 JVM基础之垃圾回收和内存分配(二)

“合抱之木,生于毫末;千里之行,始于足下;九层之台,起于垒土。”一、堆内对象引用分析引用计数法引用计数法(Reference Counting)的实现简单,判定效率高,目前是python使用的GC算法。其为对象添加一个引用计数器,每当有一次引用,计数器就加1;引用失效时,计数器就减1;任何时刻计数器为0的对象就是不可能再被使用的。由于它很难解决对象之间互相循环引用的问题,因此没...

2019-03-23 16:44:22 171

原创 JVM基础之内存空间和异常(一)

“合抱之木,生于毫末;千里之行,始于足下;九层之台,起于垒土。”一、虚拟机运行时数据区程序计数器是一块较小的内存空间,可以看作是当前线程执行的字节码的行号指示器。根据虚拟机的概念模型,字节码解释器就是通过改变这个计数器的值来选取下一条需要执行的字节码指令(分支、循环、跳转、异常处理、线程恢复都依赖于计数器)。Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现...

2019-03-23 16:43:18 254

原创 设计模式:工厂模式

设计模式:工厂模式工厂模式 工厂模式(factory),合理的构建一个实例,使扩展更加轻松。具体实现

2016-04-16 22:37:56 322

原创 从handler机制看多线程通讯

从handler机制看多线程通讯android上的handler机制

2016-04-08 17:12:56 332

原创 设计模式:单例模式

设计模式:单例模式单例模式 单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。1. 具体实现① 懒汉模式② 饿汉模式public final class Singleton{ // ① 懒汉模式 private static Singleton instance = null; // ② 饿汉模式 // private static S

2016-01-25 23:10:13 306

原创 Java类加载和static修饰符

Java类加载和static修饰符类加载和几个常见关键字 也许你经常使用static,可是你是否思考过它的意义。1. static关键字顾名思义,static(静态的)修饰符。 被static修饰的变量和方法是不会被实例化的,在类加载的时候,只在内存中保留一份,以后再调用,还是会拿到这个内存地址,永远不会产生新的了。 static在安卓中常被用在内部类上,内部类会持有外部类的强引用,导致

2016-01-25 23:08:18 755

开源图片处理项目

从相册获取图片,进行裁剪,旋转,缩放,反转,边框,调色等处理。

2014-10-27

空空如也

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

TA关注的人

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