自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (12)
  • 收藏
  • 关注

转载 Java Web前端到后台常用框架介绍

一、SpringMVChttp://blog.csdn.net/evankaka/article/details/45501811Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring We

2016-08-31 16:11:03 708

转载 大型网站架构之分布式消息队列

以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。本次分享大纲消息队列概述消息队列应用场景消息中间件示例JMS消息服务常用消息队列参考(推荐)资料本次分享总结一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少

2016-08-31 14:59:26 546

转载 使用消息队列的10个理由

过去几年中,我们一直在使用、构建和宣传消息队列,我们认为它们是很令人敬畏的,这也不是什么秘密。我们相信对任何架构或应用来说,消息队列都是一个至关重要的组件,下面是十个理由:1. 解耦在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。消息队列在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口。这允许你独立的扩展或修改两边的处理过程,只要确

2016-08-31 14:22:32 404

原创 利用分布式消息队列降低系统耦合性

2016-08-31 13:40:56 771

原创 大型网站性能优化策略

2016-08-30 20:01:22 343

原创 大型网站架构模式

2016-08-29 18:58:10 681

原创 大型网站演化的价值观

2016-08-29 16:08:05 415

原创 大型网站架构演化发展

2016-08-29 15:57:02 417

原创 架构是什么

最高层次的规划,难以改变的决定

2016-08-28 17:21:28 476

转载 JMS-使用消息队列优化网站性能

在当今互联网和电商盛行的情况下,网站的性能受到了极大地挑战。大数据,高并发成为大型网站的标志。无论淘宝的双11优惠,还是小米抢购,它们都有一个共同的特点,那就是在短时间内,突然涌入超出平时数倍的用户。如果每个用户从请求,到订单处理,再到响应返回均在一个请求中同步处理的话,用户的响应时间将会随着并发量的提高越来越久,直到最后服务器崩溃。在这种情况下,可以使用JMS消息队列,异步处理订单。用户发出

2016-08-28 17:09:23 1340

原创 HTTP 1.1与HTTP 1.0的比较

一个WEB站点每天可能要接收到上百万的用户请求,为了提高系统的效率,HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。但是,这也造成了一些性能上的缺陷,例如,一个包含有许多图像的网页文件中并没有包含真正的图像数据内容,而只是指明了这些图像的URL地址,当WEB浏览

2016-08-28 15:37:44 1039

转载 分布式系统中Viewstamps算法

1. 前言Viewstamps算法是Oki和Liskov于1988年发表的论文,Liskov是一位计算机世界中杰出的女性,08年图灵奖得主、著名面向对象五原则中“Liskov可替换原则”的提出者。我们已无精力考证Viewstamps是否是第一个多数派表决的算法,但知道其比Paxos(1998)整整早了10年,杯具的是,随着06年google chubby论文发表,Paxos迅速闻名于世,而Vi

2016-08-28 15:28:04 1170

转载 P2P中四大算法之Chord算法原理

Chrod算法是P2P中的四大算法之一,是有MIT(麻省理工学院)于2001年提出,其他三大算法分别是:CANPastryTapestryChord的目的是提供一种能在P2P网络快速定位资源的的算法,Cord并不关心资源是如何存储的,只是从算法层面研究资源的取得,因此Chord的API就简单到只有一个set、get。1、Chord是什么?Chord是一个算法,也是一个协议。作为

2016-08-28 15:22:59 10272

转载 CAP理论之争论

CAP理论在互联网界有着广泛的知名度,知识稍微宽泛一点的工程师都会把其作为衡量系统设计的准则。大家都非常清楚地理解了CAP:任何分布式系统在可用性、一致性、分区容错性方面,不能兼得,最多只能得其二,因此,任何分布式系统的设计只是在三者中的不同取舍而已。事实上,让人吃惊的是,CAP在国外的响力完全不如所想,相反还伴随着诸多的争论。下面我们系统地阐述一下CAP的来龙去脉。1.CAP的历史1

2016-08-28 11:19:02 702

转载 怎样正确理解大数据CAP理论

在大数据领域,被业界广泛谈及的CAP理论存在着一些关键性的认知误区,而只有全面地考察与剖析分布式环境中的种种场景,我们才能真正正确地理解它。  现在,CAP(Consistency一致性、Availability可用性、Partition-tolerance分区可容忍性)理论普遍被看成是大数据技术的理论基础。同时,凭据该理论,业界有一种极度流行、极度“专业”的认识,那就是:关系型数据库设计选择

2016-08-28 11:01:31 2482

转载 Java8系列之重新认识HashMap

简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:下面针对各个实现类的特点做一些说明:(1) HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度

2016-08-27 09:22:55 2968

原创 OpenStack七大套件功能介绍

运用RDP协议的虚拟化平台有VMware、Microsoft等 。    远程桌面协议(RDP, Remote Desktop Protocol)是一个多通道(multi-channel)的协议,让用户(客户端或称“本地电脑”)连上提供微软终端机服务的电脑(服务器端或称“远程电脑”)。大部分的Windows都有客户端所需软件。其他操作系统也有这些客户端软件,

2016-08-26 09:42:28 5613

转载 1.6的锁优化(适应性自旋/锁粗化/锁削除/轻量级锁/偏向锁)

高效并发是JDK 1.6的一个重要主题,HotSpot虚拟机开发团队在这个版本上花费了大量的精力去实现各种锁优化技术,如适应性自旋(Adaptive Spinning)、锁削除(Lock Elimination)、锁膨胀(Lock Coarsening)、轻量级锁(Lightweight Locking)、偏向锁(Biased Locking)等,这些技术都是为了在线程之间更高效地共享数据,以及解

2016-08-26 09:33:50 1667

转载 疯狂软件对Oracle放弃Java EE的看法(杂谈)

近日网络上出现了一些关于Oracle将要放弃Java EE的说法,在Java行业引起不小的关注,甚至有些人开始担心Java会不会就此消亡,但事实上这不过是杞人忧天,疯狂软件教学总监李刚根据多年来Java行业的从业经验,对此提出以下几点分析抛砖引玉,供广大Java从业者参考。第一点:Oracle根本没有力量左右Java发展自从Java发展壮大以来,无论是以前的Sun公司,还是后来Oracle

2016-08-25 20:59:32 881

转载 分布式锁的基本原理

基本概念:分布式锁,是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。举个例子:1.假设有一个进程A,每小时准点给用户发送一条短信"Hello world",为了高可用,就必须在

2016-08-25 18:31:39 577

原创 高并发量网站解决方案

原文参考:http://blog.csdn.net/y_h_t/article/details/6322823一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性 能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用

2016-08-25 16:10:26 369

原创 CDN的四大关键技术

CDN的关键技术主要有内容路由技术、内容分发技术、内容存储技术、内容管理技术等。     随着宽带网络和宽带流媒体应用的兴起,CDN(通常被称为内容分发网络Content distribution network,有时也被称作内容传递网络Contentdeliverynetwork)作为一种提高网络内容,特别是提高流媒体内容传输的服务质量、 节省骨干网络带宽的技术,在国内外得到

2016-08-25 15:16:17 8310

转载 姚伟斌:阿里云CDN技术演变之路

2015年1月31日,阿里云课堂第六期在北京开课,“大型互联网应用架构之存储与分发”主题分享在众多朋友的期待下精彩上演,现场观众再次爆满。 本次活动中,姚伟斌(花名:文景)和李文兆两位讲师为大家献上了精彩演讲,并在OpenSpace环节与观众展开讨论,积极互动。应广大用户要求,我们将 云课堂讲师现场分享内容全文整理出来,供大家参考。阿里云课堂会继续在全国各地陆续开课,欢迎大家继续支持!以下为讲

2016-08-22 00:21:54 6240

原创 深入浅出Java 重定向和请求转发的区别

一、调用方式我们知道,在servlet中调用转发、重定向的语句如下:request.getRequestDispatcher("new.jsp").forward(request, response); //转发到new.jspresponse.sendRedirect("new.jsp"); //重定向到new.jsp在jsp页面中你也会看到通过下面的方式

2016-08-21 10:04:59 426

转载 CDN技术原理

首先,让我们来看一下传统的Internet网络的基本结构和数据传输情况,如下图所示。 据传统的网络结构,用户的访问流程基本如下: 用户在自己的浏览器中输入要访问的网站的域名 浏览器向本地DNS请求对该域名的解析 本地DNS将请求发到网站授权的DNS服务器 授权DNS将服务器的IP地址作为解析结果送给本地DNS

2016-08-20 23:32:10 407

转载 TCP的拥塞控制

1.引言       计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。       拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制。2.慢开始与拥塞避免

2016-08-13 09:14:43 308

转载 Hibernate缓存原理与策略

Hibernate缓存原理     对于Hibernate这类ORM而言,缓存显的尤为重要,它是持久层性能提升的关键.简单来讲Hibernate就是对JDBC进行封装,以实现内部状态的管理,OR关系的映射等,但随之带来的就是数据访问效率的降低,和性能的下降,而缓存就是弥补这一缺点的重要方法.     缓存就是数据库数据在内存中的临时容器,包括数据库数据在内存中的临时拷贝,它位于

2016-08-12 10:55:31 791

原创 hibernate框架ORM的实现原理

1.什么是ORM      ORM的全称是Object Relational Mapping,即对象关系映射。它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。因此它的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作。2.什么是Hibernate       对于Hibe

2016-08-12 10:01:02 8235

转载 HTTP 协议详解

当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。 什么是HTTP协议  协

2016-08-11 19:44:13 631

转载 详解Java注解教程及自定义注解

自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如@Override,@Deprecated这样的注解。这篇文章中,我将向大家讲述到底什么是注解,为什么要引入注解,注解是如何工作的,如何编写自定义的注解(通过例子),什么情况下可以使用注解以及最新注解和ADF(应用开发框架)。这会花点儿时间,所以为自己准备一杯咖啡,让我们来进入注

2016-08-11 12:58:14 3873

转载 Spring 系列: Spring 框架简介

在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级的、强壮的 J2EE 应用程序。developerWorks 的定期投稿人 Naveen Balani 通过介绍 Spring 框架开始了他由三部分组成的 Spring 系列,其中还将介绍 Spring 面向方面的编程(AOP)和控制反转(IOC)容器。     Spr

2016-08-11 12:09:24 454

转载 类加载器释疑

1   由不同的类加载器加载的指定类还是相同的类型吗?      在Java中,一个类用其完全匹配类名(fully qualified class name)作为标识,这里指的完全匹配类名包括包名和类名。但在JVM中一个类用其全名和一个加载类ClassLoader的实例作为唯一标识,不同类加载器加载的类将被置于不同的命名空间。我们可以用两个自定义类加载器去加载某自定义类型(注意不要将自定义类型

2016-08-10 20:44:45 1085 2

原创 数据库索引

概念    索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。技术原理    索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。例如这样一个查询:select * from table

2016-08-10 16:02:51 405

转载 动态生成Java字节码之java字节码框架ASM的学习

原文链接:http://blog.csdn.net/qq_27376871/article/details/51613066一、什么是ASM  ASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .

2016-08-10 10:56:47 11471 3

转载 防止cookies欺骗--相关解决方案

一、网络上提供的解决方案1、最简单的是给Cookies加个加密算法。保险点的是给Cookies加个时间戳和IP戳,实际就是让Cookies在同个IP下多少时间内失效。2、实际上是这样的,不管cookies里保存了多少个字段,最后,还要增加一个验证字段,或者称为MAC码。这个码是使用上面所有字段的内容合算出来的摘要再用一种加密算法,如3DES等使用服务器的主密钥进行加密。 这

2016-08-10 09:39:10 1548

转载 Java 集合系列13之 WeakHashMap详细介绍(源码解析)和使用示例

概要这一章,我们对WeakHashMap进行学习。我们先对WeakHashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用WeakHashMap。第1部分 WeakHashMap介绍第2部分 WeakHashMap数据结构第3部分 WeakHashMap源码解析(基于JDK1.6.0_45)第4部分 WeakHashMap遍历方式第5部分

2016-08-10 09:04:25 322

原创 Java动态代理的实现

动态代理作为代理模式的一种扩展形式,广泛应用于框架(尤其是基于AOP的框架)的设计与开发,本文将通过实例来讲解Java动态代理的实现过程。      通常情况下,代理模式中的每一个代理类在编译之后都会生成一个class文件,代理类所实现的接口和所代理的方法都被固定,这种代理被称之为静态代理(Static Proxy)。那么有没有一种机制能够让系统在运行时动态创建代理类?答案就是本文将要介绍

2016-08-10 07:40:37 1837 2

原创 动态hash思想方法

文将介绍三种动态hash方法。散列是一个非常有用的、非常基础的数据结构,在数据的查找方面尤其重要,应用的非常广泛。然而,任何事物都有两面性,散列也存在缺点,即数据的局部集中性会使散列的性能急剧下降,且越集中,性能越低。数据集中,即搜索键在通过hash函数运算后,得到同一个结果,指向同一个桶,这时便产生了数据冲突。通常解决数据冲突的方法有:拉链法(open hashing)和开地址法(o

2016-08-08 22:47:10 511

转载 Spring AOP 实现原理

什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从

2016-08-08 10:57:30 412

原创 浅析JAVA_HOME,CLASSPATH和PATH的作用

1. 设置JAVA_HOME:一、为了方便引用,比如,你JDK安装在C:\ProgramFiles\Java\jdk1.7.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可,避免每次引用都输入很长的路径串;二、归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要

2016-08-07 09:54:02 415

反编译工具jd-gui

最好的jar包反编译工具。

2016-03-17

git、gitlab以及SourceTree介绍

自己组件个人版github必看手册。详细介绍建立软件版本管理服务器的各个组件,git,gitlab以及SourceTree的使用

2016-03-17

最专业的数据恢复软件

最专业的数据恢复软件,可以快速地恢复的丢失的任何文件,这个是专业级别的恢复软件,恢复的速度也很快速!

2012-07-31

C流程图生成器

你再也不用为用画流程图发愁了,这个是一个很好用的C流程图生成器,你只要读入.cpp文件,这个软件就能导出所有的流程图,并生成word文档,真是神器啊!

2012-07-31

计算机网络实训教程-第二章-基本网络命令

计算机网络实训教程-第二章-基本网络命令,教你一些基本的网络命令的使用

2012-07-31

最常用网络命令

最常用网络命令,不需要其他工具,用dos操作就可以了,对于初学者来说,还是很实用的资源

2012-07-31

android音乐播放器

基于android的音乐播放器代码,让你很好的掌握多媒体开发。 这个播放器实现的现在网上流行的播放器的所有基本功能

2012-07-31

android关注的开源项目

提供谷歌公布的十大开源项目介绍,让你快速精通移动开发

2012-07-31

Toast五种特效

教你使用android开发中,toast的五种特效的试用,比如自定义图片,自定义位置等等!

2012-07-31

恶作剧的好程序

可以让你恶作剧的对象的电脑产生内存泄漏 从而快速死机

2012-06-09

空空如也

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

TA关注的人

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