自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JavaEdge

全是硬核干货的公众号:JavaEdge

原创 Docker容器基础(二) - Docker公司的入场

一天天的,PaaS深入人心,Cloud Foundry为首的传统PaaS,开始蓄力基础设施领域的 平台化和PaaS化,于是发现了PaaS中的问题 1 如何给应用打包 Cloud Foundry/OpenShift/Clodify都没给出答案,走向碎片化歪路 此时,名不见经传的PaaS创业公司dot...

2019-08-30 02:44:02

阅读数 216

评论数 0

原创 Java高性能编程实战 - 线程终止

0 相关源码 1 虚假的线程中止- Stop Stop:中止线程,并且清除监控器锁的信息,但是可能导致线程安全问题,JDK不建议用。 Destroy: JDK未实现该方法 理想输出 I=1 j=1 程序执行结果 没有保证同步代码块里面数据的一致性,破坏了线程安全 2 真正的线程终止 2....

2019-08-29 23:00:07

阅读数 158

评论数 0

原创 Docker容器基础(一) - 追溯Server端技术

容器!容器! 回溯历史源头 相比于盛极一时的 AWS OpenStack 以Cloud Foundry为代表的PaaS项目,却成了当时云计算技术中的一股清流 Cloud Foundry项目已经基本度过了最艰难的概念普及和用户教育阶段,开启了以开源PaaS为核心构建平台层服务能力的...

2019-08-29 00:26:12

阅读数 222

评论数 0

原创 Kafka实战(五) - Kafka的秘技"坂本"之争

只有顺应版本,才能成就王者不败神话 也是能否用好Kafka的关键。 不论是哪种Kafka,本质上都基于core Apache Kafka 那就来说说Apache Kafka版本号的问题 1 缘何"在乎"你这版本号 直接使用最新版本不就好了吗? 当然了!这的确是一种有效策略,这种...

2019-08-28 23:52:44

阅读数 160

评论数 0

原创 JVM的内存模型 - 上

0 相关源码 内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行 JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行 不同的JVM对于内存的划分方式和管理机制存在着部分差异 结合JVM虚拟机规范,来探讨经...

2019-08-26 02:36:28

阅读数 166

评论数 0

原创 Kafka实战(四) -Kafka门派知多少

Kafka不是一个单纯的消息引擎系统,而是能够实现精确一次(Exactly-once)处理语义的实时流处理平台 Storm/Spark Streaming/Flink,在大规模流处理领域主流 Kafka经过这么长时间不断的迭代,现在已经能够稍稍比肩这些框架 Kafka社区对于这些框架心存敬意 目...

2019-08-26 02:35:17

阅读数 800

评论数 0

原创 Kafka实战(二) - 摸清 Kafka 的"黑话"

Kafka属于分布式的 消息引擎系统,提供一套完备的消息发布与订阅解决方案 在Kafka中,发布订阅的对象是主题(Topic),可为每个业务、每个应用甚至是每类数据都创建专属的主题。 1 Producer & Consumer 向主题发布消息的客户端应用程序称为生产者(Producer...

2019-08-24 02:02:57

阅读数 908

评论数 0

原创 深入浅出Kafka(一) - 何为消息引擎系统

开源的消息引擎系统 “消息队列”“消息中间件”的提法想必你一定是有所耳闻的。 不过说实话我更愿意使用消息引擎系统这个称谓,因为消息队列给出了一个很不明确的暗示,仿佛Kafka是利用队列的方式构建的;而消息中间件的提法有过度夸张“中间件”之嫌,让人搞不清楚这个中间件到底是做什么的。 像Kafka这一...

2019-08-24 01:49:19

阅读数 349

评论数 0

原创 JVM-深入详解class文件结构

1 什么是JVM的“无关性”?Java具有平台无关性,也就是任何操作系统都能运行Java代码.之所以能实现这一点,是因为Java运行在虚拟机之上,不同的操作系统都拥有各自的Java虚拟机,因此Java能实现”一次编写,处处运行”.而JVM不仅具有平台无关性,还具有语言无关性. 平台无关性是指不同...

2019-08-24 01:12:22

阅读数 443

评论数 0

原创 Dubbo注册中心

1 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 1.1 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 此时,用于简化增删改...

2019-08-22 01:53:10

阅读数 186

评论数 0

原创 JVM的内存模型 -下

0 相关源码 内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行 JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行 不同的JVM对于内存的划分方式和管理机制存在着部分差异 结合JVM虚拟机规范,来探讨经典的JV...

2019-08-21 23:51:53

阅读数 211

评论数 0

原创 重学计算机网络(三) - DHCP & IP的"孽缘"

和其他机器通讯,就需要一个通讯地址,要给网卡配置这么一个地址。 1 配置IP地址 可以使用ifconfig,也可以使用ip addr。设置好了以后,用这两个命令,将网卡up一下,就可以开始工作了。 1.1 net-tools $ sudo ifconfig eth1 10.0.0.1/24...

2019-08-21 23:04:24

阅读数 163

评论数 0

原创 Dubbo微服务实战购票平台(一) - 简介

1 Dubbo的意义 Dubbo是基于RPC通讯协议,速度更快 Dubbo的多中心配置更灵活 Dubbo可以按需集成其他组件,完成微服务生态环境构建 2 业务架构 3 核心功能 4 知识点 5 技术架构 6 环境 jdk8 64位、Maven 3.0.5、MySQL...

2019-08-20 23:45:25

阅读数 169

评论数 0

原创 重学计算机网络(二) - 曾记否,查IP地址

1 查看IP地址 在Windows上是ipconfig 在Linux上是ifconfig 那你知道在Linux上还有什么其他命令可以查看IP地址吗?— ip addr 那你知道ifconfig和ip addr的区别吗?这是一个有关net-tools和iproute2的“历史”故事,...

2019-08-20 00:53:27

阅读数 164

评论数 0

原创 重学计算机组成原理(十二)- 加法器

下面这些门电路的标识,你需要非常熟悉,后续的电路都是由这些门电路组合起来的。 这些基本的门电路,是我们计算机硬件端的最基本的“积木” 包含十亿级别晶体管的现代CPU,都是由这样一个一个的门电路组合而成的。 1 异或门和半加器 基础门电路 输入都是两个单独的bit 输出是一个单独的bit 2...

2019-08-18 23:35:01

阅读数 426

评论数 1

原创 重学计算机组成原理(十一)- 门电路的"千里传音"

人用纸和笔来做运算,都是用十进制,直接用十进制和我们最熟悉的符号不是最简单么? 为什么计算机里我们最终要选择二进制呢? 来看看,计算机在硬件层面究竟是怎么表示二进制的,你就会明白,为什么计算机会选择二进制。 1 怎么做到“千里传书” 马拉松的故事相信你听说过。公元前490年,在雅典附近的马拉松海...

2019-08-18 20:36:54

阅读数 173

评论数 0

原创 重学计算机组成原理(十)- "烫烫烫"乱码的由来

程序 = 算法 + 数据结构 对应到计算机的组成原理(硬件层面) 算法 — 各种计算机指令 数据结构 — 二进制数据 计算机用0/1组成的二进制,来表示所有信息 程序指令用到的机器码,是使用二进制表示的 存储在内存里面的字符串、整数、浮点数也都是用二进制表示的 万物在计算机里都是0和1,...

2019-08-18 17:45:57

阅读数 448

评论数 0

原创 重学计算机组成原理(九)- 动态链接

把对应的不同文件内的代码段,合并到一起,成为最后的可执行文件 链接的方式,让我们在写代码的时候做到了“复用”。 同样的功能代码只要写一次,然后提供给很多不同的程序进行链接就行了。 “链接”其实有点儿像我们日常生活中的标准化、模块化生产。 有一个可以生产标准螺帽的生产线,就可生产很多不同的螺...

2019-08-18 02:22:40

阅读数 211

评论数 0

原创 重学计算机组成原理(八)- 程序的装载

09 | 程序装载:“640K内存”真的不够用么? 2019-05-15 徐文浩 比尔·盖茨在上世纪80年代说的“640K ought to be enough for anyone” 也就是“640K内存对哪个人来说都够用了” 那个年代,微软开发的还是DOS操作系统,程序员们还在绞尽...

2019-08-17 22:02:54

阅读数 198

评论数 0

原创 重学计算机组成原理(六)- 函数调用怎么突然Stack Overflow了!

用Google搜异常信息,肯定都访问过Stack Overflow网站 全球最大的程序员问答网站,名字来自于一个常见的报错,就是栈溢出(stack overflow) 从函数调用开始,在计算机指令层面函数间的相互调用是怎么实现的,以及什么情况下会发生栈溢出 1 栈的意义 先看一个简单的C程序 ...

2019-08-15 02:20:06

阅读数 171

评论数 0

原创 重学计算机组成原理(五)- "旋转跳跃"的指令实现

CPU执行的也不只是一条指令,一般一个程序包含很多条指令 因为有if…else、for这样的条件和循环存在,这些指令也不会一路平直执行下去。 一个计算机程序是怎么被分解成一条条指令来执行的呢 1 CPU如何执行指令 CPU里差不多几百亿个晶体管 实际上,一条条计算机指令执行起来非常复杂 好在CPU...

2019-08-14 00:37:13

阅读数 167

评论数 0

原创 重学计算机组成原理(四)- 进击,更强的性能!

你在学写程序的时候,有没有想过,古老年代的计算机程序是怎么写出来的? 当年写程序,不像现在这样,都是用一种古老的物理设备,叫作“打孔卡(Punched Card)” 用这种设备写程序,没法像今天,掏出键盘就能打字,而是要先在脑海/纸写出程序,然后在纸带/卡片上打洞 这样,要写的程序、要处理的数据...

2019-08-13 00:30:22

阅读数 165

评论数 0

原创 重学计算机组成原理(三)- 进击,更强的性能!

在上一篇中,我们谈到过 程序的CPU执行时间 = 指令数×CPI×Clock Cycle Time 要提升计算机的性能,可以从上面这三方面着手。 通过指令数/CPI,好像都太难了。 因此工程师们,就在CPU上多放晶体管,不断提升CPU的时钟频率,让CPU更快,程序的执行时间就会缩短。 ...

2019-08-11 02:51:19

阅读数 193

评论数 0

原创 JVM类加载的过程

任何程序都需要加载到内存才能与CPU进行交流 同理, 字节码.class文件同样需要加载到内存中,才可以实例化类 ClassLoader的使命就是提前加载.class 类文件到内存中 在加载类时,使用的是Parents Delegation Model(溯源委派加载模型) Java的类加载器是一个...

2019-08-10 22:52:40

阅读数 140

评论数 0

原创 Linux内核实战(二)- 操作系统概览

不知道你有没有产生过这些疑问: 桌面上的图标到底是啥?凭啥我在鼠标上一双击,就会出来一些不可描述的画面?都是从哪里跑出来的? 凭什么我在键盘上噼里啪啦地敲,某个位置就会显示我想要的那些字符? 电脑怎么知道我鼠标点击的是这个地方,又是怎么知道我要输入的是这个地方? 我...

2019-08-05 00:55:12

阅读数 317

评论数 0

原创 Linux内核实战(二)- 操作系统概览

不知道你有没有产生过这些疑问: 桌面上的图标到底是啥?凭啥我在鼠标上一双击,就会出来一些不可描述的画面?都是从哪里跑出来的? 凭什么我在键盘上噼里啪啦地敲,某个位置就会显示我想要的那些字符? 电脑怎么知道我鼠标点击的是这个地方,又是怎么知道我要输入的是这个地方? 我在键盘上点“a”,是...

2019-08-05 00:48:19

阅读数 161

评论数 0

原创 Linux再学习(一)-学习路线规划

1 抛弃旧文化,迎接Linux命令新文化 Linux第一步,从Windows思维,切换到Linux的“命令行+文件”模式 在Linux中,做什么都有相应命令。一般就在bin或者sbin目录下,数量繁多。如果你事先不知道该用哪个命令,很难通过枚举的方式找到。因此,在这样没有统一入口的情况下,就需...

2019-08-04 01:18:24

阅读数 214

评论数 0

原创 Go实战抢红包系统(四) - 基础实施层coding

软件项目中的基础设施就像是征战中的神兵利器。本章介绍Golang项目应具备基础设施,完整的业务系统应该需要的基础设施资源,在没有Java Spring全家桶那样的明星级框架情况下,让Golang项目轻松自如管理基础资源的生命周期、构建和使用基础资源。 … 1 重在设计 go中使用枚举值 1...

2019-08-03 00:28:32

阅读数 425

评论数 0

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