自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

单向街的夏天

学海无涯备忘录,每天进步一点点,后续更新请见 www.xiutx.cn

  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 架构之路 ---大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行

2013-07-13 01:27:23 1223

原创 Java分布式应用简介------I/O模型:阻塞与非阻塞、同步与异步

背景:       按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO服

2013-07-02 23:43:50 2371

原创 系统设计说明书(架构、概要、详细)目录结构

系统设计说明书(架构、概要、详细)目录结构虽然这些文档一般来说公司都是有模板的,但我写这些文档以来基本上是每写一次就把目录结构给改一次,应该说这是因为自己对这些文档的理解开始加深,慢慢的越来越明白这些文档的作用和其中需要阐述的东西,觉得这三份文档主要阐述了一个系统的设计和实现过程,从系统分解为层次、层次内的模块以及相互的接口、模块分解为对象以及对象的接口、实现这些对象接口的方法。这次又整了

2013-07-31 14:23:08 5014

原创 Web日志挖掘分析的方法

日志分析方法概述    日志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志:操作系统内核、各种应用服务器等等。日志的内容、规模和用途也各不相同,很难一概而论。本文讨论的日志处理方法中的日志,仅指Web日志。其实并没有精确的定义,可能包括但不限于各种前端Web服务器——apache、lighttpd、tomcat等产生的用户访问日志,以及各种Web应用程序自己输出的

2013-07-31 14:06:44 8154

原创 Java是传值的

一示例理解    java程序只有传值,没有传引用,传地址的说法。但是传递的值可以是具体的数值,也可以是一个对象的引用。可以用这样一句话来描述“java函数是传值的,java函数传递的参数是对象的引用”。 我看到过几个解释这个问题的例子,不过个人感觉看过例子之后还是只知道是什么不知道为什么,停留在照猫画虎的水平上还是挺容易出问题的。所以举例子之前,先从jvm的实现原理上有个了解应当

2013-07-24 19:47:25 903

原创 Java:编译时与运行时

在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念。理解这几个概念可以更好地帮助你去了解一些基本的原理。下面是初学者晋级中级水平需要知道的一些问题。Q.下面的代码片段中,行A和行B所标识的代码有什么区别呢?12345678910111213

2013-07-24 16:35:52 1069

原创 继承过程中重载VS重写---(重写规则)

一 子类---父类 中成员变量的继承及this--super                 访问变量看声明,访问方法看实际对象类型(new出来的类型)子类从父类继承分成两种:1.方法的继承:    方法的继承,父类直接把自己的方法转移到子类中去,当然前提是父类的方法修饰符的访问范围是子类可以访问的范围,但是如果子类已经重写了父类的方法,这时候这

2013-07-24 10:32:27 1186

原创 代理模式与装饰模式的区别

一  概念理解            学习AOP时,教材上面都说使用的是动态代理,可是在印象中代理模式一直都是控制访问什么的,怎么又动态增加行为了,动态增加行为不是装饰器模式吗?于是 找了很多资料,想弄清楚这两者之间到底有什么区别。结果发现这一篇英文文章讲的很清晰,就翻译一下,供参考。               首先,让我们先看一下下面的这两个UML类图,他们分别描述了装饰器模式

2013-07-21 16:55:50 986

原创 JDBC关键部分

一、JDBC基础知识                JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库

2013-07-19 16:33:28 898

原创 MINA 框架

MINA 框架简介     Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作

2013-07-13 16:33:23 952

原创 Java分布式应用简介及远程通讯可选技术及原理

大型应用通常会拆分为多个子系统,对于java来说,这些子系统可能部署在同一台机器上的多个不同的JVM中,也可能部署在不同的 电脑上,但这些子系统有不是完全独立的,要相互通信来实现业务功能,对于此类java应用,我们称为java分布式应用。 对于分布式java应用,通常有两种典型的方式来实现:1.基于消息方式实现系统间的通信 当系统之间要通信时,就向外发送消息,消息可以是字节流、

2013-07-13 14:37:12 1445

原创 浏览器三种刷新方式的缓存机制-----单点登录SSO的实现原理---PHP版单点登陆实现方案

众所周知浏览器是通过Last-Modified和Expires来处理缓存的,具体机制就不做解释,而在具体调试中发现并不按我们想象的方式进行,其原因很有可能是由于你的不同刷新方式导致。对于大多数浏览器而言,有三种刷新方式:F5Ctrl+F5“转至”或地址栏里回车而这三种刷新方式会导致浏览器采取不同的缓存机制:F5:不允许浏览器直接使用本地缓存,因此Last-Modif

2013-07-13 01:59:39 4164 3

原创 随机不重复排序算法及Java产生随机数的3种方式

问题描述       给定任意个不重复的数字,对其进行随机排序算法分析       首先想到可以将给定的数字放在一个集合A中,初步定为一个ArrayList,这样,可以用A集合的长度来做为随机数的基数,取出一个数x,放到结果集合B中,然后将数x从A集合删除;接着用A集合剩下的长度作为基础重复上一步操作,最终可以得到结果集合B。考虑到用Arraylist删除比较慢,可以用Link

2013-07-12 23:04:02 4974

原创 Arrays.asList()方法注意

错误情况Java代码 import java.util.Arrays;  import java.util.List;      public class TestAsList {        public static void main(String[] args) {          String[] str = new String[]{

2013-07-12 21:13:51 1491

原创 iBatis简单上手

iBatis 简介:iBatis 是apache 的一个开源项目,一个O/R Mapping 解决方案,iBatis 最大的特点就是小巧,上手很快。如果不需要太多复杂的功能,iBatis 是能够满足你的要求又足够灵活的最简单的解决方案,现在的iBatis 已经改名为Mybatis 了。官网为:http://www.mybatis.org/搭建iBatis 开发环境:1

2013-07-12 20:21:37 816

原创 Java虚拟机的深入研究(堆内存---栈内存 的分配浅析)

Java 把内存划分成两种:一种是栈内存,另一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java 会自动释放掉为该变量分配的内存空间,该内存空间可以立即被另作它用。堆内存用来存放由 new 创建的对象和数组,在堆中分配的内存,由 Java 虚拟机的自

2013-07-10 17:16:36 1161

原创 JAVA虚拟机体系结构-------(深入Java虚拟机第五章总结)

JAVA虚拟机的生命周期  一个运行时的Java虚拟机实例的天职是:负责运行一个java程序。当启动一个Java程序时,一个虚拟机实例也就诞生了。当该程序关闭退出,这个虚拟机实例也就随之消亡。如果同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。每个Java程序都运行于它自己的Java虚拟机实例中。  Java虚拟机实例通过调用某个初始类的main()方法来运行

2013-07-06 16:39:38 856

原创 操作系统、网络重要知识点

一 详解公钥、私钥、数字证书的概念加密和认证   首先我们需要区分加密和认证这两个基本概念。   加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。两者的侧重点是不同的。

2013-07-05 20:36:56 1449

原创 Java虚拟机的深入研究(内存管理---垃圾回收---JVM调优)

JVM学习笔记(一)------基本结构 从Java平台的逻辑结构上来看,我们可以从下图来了解JVM:从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别对于JVM自身的物理结构,我们可以从下图鸟瞰一下:对于JVM的学习,在我看来这么几个部分最重要:Java代码编译和执行的整个过程JVM内存管理及垃圾回收机制下面将这两个部分进行详细

2013-07-05 10:42:48 1128 1

原创 Java中 bug注意

1 jvm整数和Integer.MAX_VALUE比较的bug[java] view plaincopyint max=Integer.MAX_VALUE;  try{       max=Integer.valueOf(args[0]);  }catch(Exception e){}  while(readLine)

2013-07-03 23:30:51 1118

原创 BIO--NIO-AIO(IOCP在Java7中的实现)

背景   在 Java 的早期,JVM 在解释字节码时往往很少或没有运行时优化。这就意味着,Java 程序往往拖得很长,其运行速率大大低于本地编译代码,因而对操作系统I/O 子系统的要求并不太高。 如今在运行时优化方面,JVM 已然前进了一大步。现在 JVM 运行字节码的速率已经接近本地编译代码,借助动态运行时优化,其表现甚至还有所超越。这就意味着,多数 Java 应用程序已不再受 CPU

2013-07-03 21:20:39 4822 3

原创 java.util.Properties类---VS--properties文件

一 java.util.Properties类 学习目标:1、认识properties文件,理解其含义,会正确创建properties文件。2、会使用java.util.Properties类来操作properties文件。3、掌握相对路径,能正确书写一个properties文件的相对路径。一、认识properties文件1、properti

2013-07-03 14:00:04 980

深入虚拟机---JVM调优总结(摘自网上网上大牛分享).pdf

深入虚拟机---JVM调优总结(摘自网上网上大牛分享),主要是详细介绍了gc的收集,觉得不错。

2013-07-05

空空如也

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

TA关注的人

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