自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 高并发大型网站架构设计

一个大型的网站网站应该由如下6个子系统组成   负载均衡系统 反向代理系统 Web服务器系统 分布式存储系统 底层服务系统 数据库集群系统   为什么要做高并发系统设计? 事实上,针对于任何单一的网络服务器程序,其可承受的同时连接数目是有理论峰值的,通过C++中对TSocke...

2013-07-31 22:47:05

阅读数 1025

评论数 0

转载 深入理解JVM(三)------内存管理和垃圾回收

JVM内存组成结构 JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示: 1)堆 所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From ...

2013-07-31 22:31:47

阅读数 732

评论数 0

转载 深入理解JVM(二)------Java代码执行机制

Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:   Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码编译机制 类加载机制 类执行机制 Java源码编译机制 Java 源码编译由以下...

2013-07-31 22:30:58

阅读数 888

评论数 0

转载 深入理解JVM(一)------基本结构

从Java平台的逻辑结构上来看,我们可以从下图来了解JVM: 从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别 对于JVM自身的物理结构,我们可以从下图鸟瞰一下: 对于JVM的学习,在我看来这么几个部分最重要: Java代码的编译及执行机制 JVM...

2013-07-31 22:28:29

阅读数 871

评论数 0

转载 Java序列化的机制和原理

序列化是什么: 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。 序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。 把Java对象转换为字节序列的过程称为对象的序列化。...

2013-07-28 17:37:16

阅读数 1080

评论数 0

转载 Java序列化和Hessian序列化的区别

在远程调用中,需要把参数和返回值通过网络传输,这个使用就要用到序列化将对象转变成字节流,从一端到另一端之后再反序列化回来变成对象。这里就简单讲讲Java序列化和hessian序列化的区别。 首先,hessian序列化比Java序列化高效很多,而且生成的字节流也要短很多。但相对来说没有Java序列化...

2013-07-28 16:36:46

阅读数 2961

评论数 0

转载 大型互联网网站架构心得之二:并、换

上次说的“分”是一个比较大的原则也是一个比较高层的原则,这次我想说一下其它两个原则:并与换。   并   为什么要分?是因为我们希望通过分来提高系统的承载能力,那并又是并什么呢?我想了一下有几个方面可以并:   1.       合并用户请求,最基本的就是合并CSS/图片/脚本,还可以...

2013-07-23 23:04:26

阅读数 747

评论数 0

转载 大型互联网网站架构心得之一:分

我们知道,对于一个大型网站来说,可伸缩性是非常重要的,怎么样在纵向和横向有良好的可伸缩性,就需要在做架构设计的时候考虑到一个分的原则,我想在多个方面说一下怎么分: 首先是横向的分: 1. 大的网站化解为多个小网站:当我们一个网站有多个功能的时候,可以考虑把这个网站拆分成几个小模块,每一个模块可以是...

2013-07-23 23:03:10

阅读数 854

评论数 0

转载 打造高可用,高可扩展的互联网平台

很多互联网公司早期初创,为了快速开发出应用产品,基本都是采用LAMP技术组合来搭建网站。由于开发人员也不是很多,所以采用在一个工程下开发,或者一个工程下的多模块开发。随着公司的业务和流量快速膨胀,人员规模也从数十人扩张到数百人,导致网站的开发,部署,运维带来很大的挑战:           1)...

2013-07-23 22:44:14

阅读数 910

评论数 0

转载 Hibernate VS MyBatis 区别

关于O/R Mapping的理论,网上也有很多。其实完整的O/R mapping理论是想让程序员从数据的CRUD中解放出来,专注于使用OO的思想来实现业务逻辑,使用OO的思想当然就很大程度上需要遵守SOLDI原则,而不是一会要用OO的眼光建立业务领域模型,一会要用Relation的数学观点来操作数...

2013-07-23 22:04:11

阅读数 1765

评论数 0

转载 代码坏味道与重构

1.DuplicatedCode 代码重复几乎是最常见的异味了。他也是Refactoring的主要目标之一。代码重复往往来自于copy-and-paste 的编程风格。 2.Longmethod 它是传统结构化的“遗毒“。一个方法应当具有自我独立的意图,不要把几个意图放在一起。 3.Lar...

2013-07-23 21:45:49

阅读数 987

评论数 0

转载 【TCP连接状态详解】

下面是每一个TCP连接在任意时刻可能处于的状态,在Linux下可以在netstat命令的最后一列(State列)里看到。 各个状态的含义如下: CLOSED :初始状态,表示TCP连接是“关闭着的”或“未打开的”。   LISTEN :表示服务器端的某个SOCKET处于监听状态,可以接受客户端的连...

2013-07-22 23:24:14

阅读数 902

评论数 0

原创 TCP连接状态图解析

TCP协议连接建立时3次握手的过程:     TCP协议连接断开时4次握手的过程:

2013-07-22 23:18:55

阅读数 802

评论数 0

转载 TCP 连接状态图 (TCP Connection State Diagram)

2013-07-22 23:00:07

阅读数 908

评论数 0

转载 TCP三次握手/四次挥手的作用

1.为什么建立连接协议是三次握手,而关闭连接却是四次握手呢? 这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你...

2013-07-22 22:40:53

阅读数 1708

评论数 0

转载 TPS和QPS的区别

一、TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS) TPS是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然...

2013-07-18 23:42:02

阅读数 73140

评论数 1

转载 阻塞队列

阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新...

2013-07-18 21:46:55

阅读数 835

评论数 0

转载 Java开源数据库连接池比较(c3p0,dbcp和 proxool)

DBCP DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序用使用可以设置最大和最小连接,连接等待时间等,基本功能都有,此连接池的持续运行的稳定性还是可以,不过速度稍慢,在大并发量的压力下稳定性有所下降,此外不提供连接池监控  C3...

2013-07-18 01:11:16

阅读数 1451

评论数 0

转载 JVM中可生成的最大Thread数量

JVM中可以生成的最大线程数量由JVM的堆内存大小、Thread的Stack内存大小、系统最大可创建的线程数量(Java线程的实现是基于底层系统的线程机制来实现的,Windows下_beginthreadex,Linux下pthread_create)三个方面影响。

2013-07-18 00:46:58

阅读数 922

评论数 0

转载 基于Apache的Tomcat负载均衡和集群

反向代理负载均衡 (Apache+JK+Tomcat)  使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多...

2013-07-15 23:22:35

阅读数 788

评论数 0

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