自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 数据结构——图(3),拓扑排序

拓扑排序概念拓扑排序(Topological Order)是指,将一个有向无环图(Directed Acyclic Graph简称DAG)进行排序进而得到一个有序的线性序列。这样说,可能理解起来比较抽象。下面通过简单的例子进行说明! 例如,一个项目包括A、B、C、D四个子部分来完成,并且A依赖于B和D,C依赖于D。现在要制定一个计划,写出A、B、C、D的执行顺序。这时,就可以利用到拓扑排序,它就

2017-03-30 13:55:11 746

原创 数据结构——图(2),深度优先搜索和广度优先搜索

沿袭上一篇文章的图存储结构,因为知道有向图和无向图的存储结构相同,只不过数据不同,可以理解为无向图是一种方向必须成对存在的有向图,因此,遍历方法实际上是可以通用的,分为邻接矩阵遍历和邻接表遍历。深度优先搜索图的深度优先搜索(Depth First Search),和树的先序遍历比较类似。它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻

2017-03-30 10:24:09 1270

原创 数据结构——图(1),图的存储结构Java实现

图概述图是一种重要的数据结构,基本概念包括:顶点,边,有向,无向,权,路径回路,连通域,邻接点,度,入边,出边,入度,出度等等,很好理解,不赘述,可以参考这篇博客:http://www.cnblogs.com/skywang12345/p/3691463.html图的存储结构图可以使用两种存储结构,分别是邻接矩阵和邻接表。邻接矩阵以矩阵的形式存储图所有顶点间的关系。邻接矩阵具有以下特点:1,邻接矩阵

2017-03-29 21:45:39 18760 4

转载 构建高并发高可用的电商平台架构实践

【转载】出处:http://blog.csdn.net/yangbutao/article/details/12242441 作者:杨步涛一、 设计理念1. 空间换时间1)多级缓存,静态化客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag)反向代

2017-03-27 10:32:39 942

原创 负载均衡算法Java实现

IP地址类:package com.way.LB;import java.util.HashMap;public class IPMap { public static HashMap<String,Integer> serverWeightMap=new HashMap<String,Integer>(); static{ serverWeightMap.put("ht

2017-03-27 09:25:05 585

转载 关系型数据库三范式

1.第一范式(1NF)   在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。      所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间

2017-03-24 10:43:37 774

原创 Java泛型

泛型概述Java泛型是JavaSE1.5新加入的机制,它将Java面向对象的特点进一步强化。Java中每一个对象都属于一个类型,类可以继承,父类是子类的共性抽取,在类继承基础上出现了抽象类,抽象类是其子类的抽象,子类必须实现抽象类定义的方法,为了解决单继承问题以及面向“能力”编程思想,又出现了接口,接口定义了一些“能力”,实现它的类都将具有这些“能力”,因此接口是对抽象类的又一层深化。(另外还有注解

2017-03-21 14:39:56 270

原创 Java包装类

基本数据类型和其包装类Java共八种基本数据类型,六种数值类型:int,long,float,double,short,byte, 以及真假boolean和字符型char。每一个基本数据类型都对应着一个包装类,之所以需要包装类,是因为满足将基本数据类型当作一个对象来处理的需求。对应的包装类名是它们的大写全称字母:Integer,Long,Float,Double,Short,Byte,Boolean

2017-03-21 11:13:07 502

原创 数据结构——树(3):二叉树的前中后层序遍历,Morris遍历比较试验

二叉树有多种遍历方法,按照遍历的顺序分前序,中序,后序,层序,具体内容,不详述到处都是。按是否递归分为递归和非递归。另外还有巧妙的Morris遍历法。今天做一实验来比较它们的效率:构建二叉树类public class BinTree { public int data; public BinTree left; public BinTree right; public B

2017-03-14 20:55:32 320

原创 设计模式——Java动态代理

代理模式代理模式是常用的java设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为两种:静态代理:由程序员创建或特定工

2017-03-13 21:36:04 688

原创 设计模式——单例模式

package com.way.designpattern;/** * 演示单例设计模式 * @author reus * 1,私有化构造器,避免外部直接创建 * 2,声明私有静态的类对象,初始设置为空 * 3,创建对外的静态方法,判断对对象是否为空,如果为空,调用私有的创建方法 * *用synchronized关键词强化安全性 */public class Single

2017-03-13 20:52:33 264

原创 Java类加载机制

java.lang.ClassLoaderJava类加载机制的基本职责就是根据一个指定的类的全限定名,找到或者生成其对应的字节代码,然后从这些字节代码中定义出一个 Java 类,即 java.lang.Class类的一个实例。除此之外,ClassLoader还负责加载 Java 应用所需的资源,如图像文件和配置文件等。类加载器的树状组织结构Java 中的类加载器大致可以分成两类:一类是系统提供的,另

2017-03-13 20:44:48 308

原创 Java注解

概述注解是提高Java开发效率的重要工具。通过注解,很多配置文件和逻辑可以用注解来代替,使代码更加简洁,清晰。因此,大部分的开源框架都大量使用了注解,例如Spring中,注解配合反射实现的控制反转是其核心理念之一。注解的内容涵盖如图的内容:我将挑选其中必须的部分讲述。注解介绍:如图是java.lang.annotation包的结构:我们发现里面包含一个Annotation接口,五个以“@”开头的注释

2017-03-12 23:05:49 285

原创 互联网协议基础

概述互联网是分层结构的,根据不同的标准有分五层,有分七层,大同小异,多的只不过是针对应用层进行了细分。如图:互联网协议的“五层描述”:由顶至底依次是: 1,Application Layer: 应用层 2,Transport Layer:传输层 3,Network Layer: 网络层 4,Link Layer:链接层 5,Physical Layer:物理层 越顶层越贴近用户的使用和感

2017-03-10 20:17:23 1150

原创 Java——手撕字节码

这两天在看《深入理解Java虚拟机》,其中字节码那部分看得我极其烦躁,最后决定亲子拆解一遍它的例子,拆完后觉得印象深刻多了。字节码拆解实验对书上的例子进行了实现和分析,几个部分需要对照,相互印证,同时结合下面的理论部分才能明白。Java代码例子使用的Java代码和书上基本一样,只不过我写的时候包名不一样,代码如下:package com.way.clazz;public class TestClas

2017-03-08 18:48:39 610

原创 Java垃圾回收机制

什么是Java垃圾回收Java垃圾回收机制(Gabage Collection)是Java与C/C++之间的巨大差距所在,但垃圾回收不是Java的专利,任何编程语言都可以考虑和设计垃圾回收。垃圾回收考虑三件事情: 1,哪些内存需要回收? 2,什么时候回收? 3,怎么回收?Java垃圾回收自动化地帮我们清理不再使用的内存,既然是“自动化”,为什么还要了解? 答:当需要排查内存泄漏和内存溢出问题

2017-03-07 16:18:43 437

转载 Java内存分析(3)——String的Intern方法详解

原文地址:http://www.cnblogs.com/wxgblogs/p/5635099.html引言  在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种:直接使用

2017-03-07 09:42:11 467

原创 Java反射机制

介绍Java反射机制是很多框架使用的基础.当程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言。 我们认为java并不是动态语言,但是它却有一个非常突出的动态相关机制,俗称:反射。反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意一个方法和属性; 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的

2017-03-05 00:14:28 340

原创 Java多线程(6)——死锁

Java死锁相关,持续深入

2017-03-04 11:06:52 322

原创 Java多线程(0)——线程与进程的区别

1、线程的基本概念概念:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。好处 :(1)易于调度。(2)提高并发性。通过线程可方便有效地实现并发性。进程可创建多个线

2017-03-01 16:56:33 438

空空如也

空空如也

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

TA关注的人

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