摘要: 偏向锁 Hotspot 的作者经过以往的研究发现大多数情况下锁不仅不存在多线程竞争,而且总是由同一线程多次获得,为了让线程获得锁的代价更低而引入了偏向锁。当一个线程访问同步块并获取锁时,会在对象头和栈帧中的锁记录里存储锁偏向的线程 ID,以后该线程在进入和退出同步块时不需要花费 CAS操作来加锁和解 阅读全文
posted @ 2019-07-11 11:43 孙伟业 阅读(4341) 评论(0) 推荐(3) 编辑
摘要: 简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出 阅读全文
posted @ 2019-07-04 13:08 孙伟业 阅读(7343) 评论(0) 推荐(0) 编辑
摘要: Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起。 1.单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本。 缺点:单一的系统架构,使得在开发过程中,占用的资源越来越多,而且随着流量的增加越来越难以维护 2 阅读全文
posted @ 2019-07-04 12:46 孙伟业 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 直接下载 dubbo admin管理控制台war包 链接:https://pan.baidu.com/s/1ggeIIHX 密码:ck4h 解压到一个全新的tomcat中的ROOT目录下,事先删除webapps下的ROOT下的所有文件。 启动tomcat,访问http://localhost:808 阅读全文
posted @ 2019-07-04 12:28 孙伟业 阅读(361) 评论(0) 推荐(0) 编辑
摘要: Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。 Docker 自开源后受到广泛的 阅读全文
posted @ 2019-07-02 17:15 孙伟业 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 1、前言 Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机。不过,Docker 跟传统的虚拟化方式相比具有众多的优势。Docker: 本意是码头工人,言外之意是集装箱; Java号称“一次编译,到处运行”,因为java虚拟机解决平台的兼容性问题,所以有java虚拟机的地方就能跑ja 阅读全文
posted @ 2019-07-02 17:14 孙伟业 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 流量控制和阻塞控制实例: 可以用一个例子来说明这种区别。设某个光纤网络的链路传输速率为1000Gbit/s。有一台巨型计算机向一台个人电脑以1Gbit/s的速率传送文件。显然,网络本身的带宽是足够大的,因而不存在产生拥塞的问题。但流量控制却是必须的,因为巨型计算机必须经常停下来,以便使个人电脑来得及 阅读全文
posted @ 2019-06-29 16:51 孙伟业 阅读(1716) 评论(2) 推荐(0) 编辑
摘要: Maven是当前流行的项目管理工具,但官方的库在国外经常连不上,连上也下载速度很慢。国内oschina的maven服务器很早之前就关了。今天发现阿里云的一个中央仓库,亲测可用。 修改${maven.home}/conf或者${user.home}/.m2文件夹下的settings.xml文件,在<m 阅读全文
posted @ 2019-06-28 16:23 孙伟业 阅读(64301) 评论(1) 推荐(2) 编辑
摘要: TCP的三次握手与四次挥手是TCP创建连接和关闭连接的核心流程,我们就从一个TCP结构图开始探究中的奥秘 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这 阅读全文
posted @ 2019-06-25 16:48 孙伟业 阅读(676) 评论(0) 推荐(1) 编辑
摘要: OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层( 阅读全文
posted @ 2019-06-25 16:31 孙伟业 阅读(4488) 评论(0) 推荐(0) 编辑