摘要: 最简单的单线程 我们先从基础开始。无论使用哪种应用服务器或者框架(如Tomcat、Jetty等),他们都有类似的基础实现。Web服务的基础是套接字(socket),套接字负责监听端口,等待TCP连接,并接受TCP连接。一旦TCP连接被接受,即可从新创建的TCP连接中读取和发送数据。 为了能够理解上述 阅读全文
posted @ 2016-08-11 14:07 wade&luffy 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 大型网站的挑战主要来自庞大的用户,高并发的访问和海量数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得棘手。大型网站架构主要就是解决这类问题。 本文内容大部分来自《大型网站技术架构》。 来自:HollisChuang's Blog 链接:http://www.holli 阅读全文
posted @ 2016-08-11 12:50 wade&luffy 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。 上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记 阅读全文
posted @ 2016-08-11 11:07 wade&luffy 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在服务器上的,而且有不少大公司都要求熟悉在linux上开发,因此从个人职业发展有必要去多了解一下linux。 (博主网上查了 阅读全文
posted @ 2016-08-11 11:06 wade&luffy 阅读(966) 评论(0) 推荐(0) 编辑
摘要: 详细见: http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace: 阅读全文
posted @ 2016-08-11 10:57 wade&luffy 阅读(317) 评论(0) 推荐(1) 编辑
摘要: 分布式队列基础的需求 需求来源 抽象模型 编程模型 详情见: http://tech.meituan.com/distributed_queue_based_programming.html 需求来源 通信是人们最基本的需求,同样也是计算机最基本的需求。对于工程师而言,在编程和技术选型的时候,更容易 阅读全文
posted @ 2016-08-11 10:48 wade&luffy 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 名词解释: n:数据规模 k:“桶”的个数 In-place:占用常数内存,不占用额外内存 Out-place:占用额外内存 稳定性:排序后 2 个相等键值的顺序和排序之前它们的顺序相同 冒泡排序 冒泡排序(Bubble Sort),它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就 阅读全文
posted @ 2016-08-10 09:46 wade&luffy 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 实现机制 1、每个Thread对象内部都维护了一个ThreadLocalMap这样一个ThreadLocal的Map,可以存放若干个ThreadLocal。 2、当我们在调用get()方法的时候,先获取当前线程,然后获取到当前线程的ThreadLocalMap对象,如果非空,那么取出ThreadLo 阅读全文
posted @ 2016-08-10 09:38 wade&luffy 阅读(274) 评论(0) 推荐(0) 编辑
摘要: Trace跟踪参数 -verbose:gc -XX:+printGC 打印GC的简要信息 -XX:+PrintGCDetails 打印GC详细信息 -XX:+PrintGCTimeStamps 打印CG发生的时间戳 -Xloggc:log/gc.log 指定GC log的位置,以文件输出 XX:+T 阅读全文
posted @ 2016-08-09 19:18 wade&luffy 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类加载的规则: 全盘负责,当一个类加载器负责加载某个Class时,该Class所依赖的和引用的其他Class也将由该类加载器负责载入,除非显示使 阅读全文
posted @ 2016-08-09 18:40 wade&luffy 阅读(516) 评论(0) 推荐(0) 编辑