自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux环境进程间通信:共享内存

简介: 共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于...

2010-12-10 15:48:35 148

原创 SQL执行过程

我并非专业DBA,但做为B/S架构的开发人员,总是离不开数据库,一般开发员只会应用SQL的四条经典语句:select ,insert,delete,update。但是我从来没有研究过它们的工作原理,这篇我想说一说select在数据库中的工作原理。B/S架构中最经典的话题无非于三层架构,可以大概分为数据层,业务逻辑层和表示层,而数据层的作用一般都是和数据库交互,例如查询记录。 [img]ht...

2010-12-07 10:35:00 164

原创 Rmi和Socket比较

RMI技术比较socket的网络编程主要有以下几个方面: 第一、RMI是面向对象的,而后者不是。 第二、RMI是与语言相绑定的。比如当你使用Java RMI技术的时候,客户端与服务器端都必须使用Java开发。而socket的网络编程是使用独立于开发语言的,甚至独立于平台。基于socket的网络编程,客户端与服务器端可以使用不同开发语言和不同的平台。 第三、从网络协议栈...

2010-12-06 15:24:33 211

原创 oracle表分区详解

此文从以下几个方面来整理关于分区表的概念及操作:1.表空间及分区表的概念2.表分区的具体作用3.表分区的优缺点4.表分区的几种类型及操作方法5.对表分区的维护性操作.(1.) 表空间及分区表的概念表空间:  是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。 分区表: 当表中的数据量不断增大,查询数据的...

2010-11-24 20:37:40 117

原创 一次性能调优

性能tuning和性能troubleshooting是有区别的。这次应该算是后者。因为系统很慢,每秒只能处理20多笔请求,用sar查看CPU利用率,只有2%。再用sar看了看磁盘,也不忙。相关数据库系统,第三方模拟系统都正常。压力机用的是Jmeter,是HTTP报文应该没有啥问题。那问题焦点就锁定在程序上。 首先在程序的主路径上都打上日志,确定每个模块的执行时间点在哪儿。很快就发现请求在入...

2010-11-21 16:51:43 88

原创 伏地魔学习系列--Store package

[img]http://dl.iteye.com/upload/attachment/345936/f0623906-7e05-342b-b74b-97761da59b2a.jpg[/img][b]StoreRepository:[/b]A wrapper class that holds all the server's stores--storage engines, rout...

2010-11-10 15:48:25 279

原创 Memcache介绍

1.What is Memcache? Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。Memcache由Danga Interactive开发,官方网站http://www.danga.com/memcached/ 。最初为了加速LiveJournal.c...

2010-11-10 11:42:19 90

原创 数据库拆分带来的几大问题

1.分布式事务的实现2.表连接3.排序分组的实现

2010-11-09 22:36:08 199

原创 数据库水平切分的实现原理解析-分库,分表,主从,集群,负载均衡器

第1章 引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器...

2010-11-09 21:11:36 86

原创 互联网应用----拆表

在大容量,高负荷的web系统中,对数据库进行一系列拆分,可有效提升数据库容量和性能。在初学程序的早期,程序员通常都喜欢按传统数据库设计模式,设计为单库和单一功能表的结构,这样的结构在数据量和并发量达到一定程度之后,会出现严重性能问题和维护问题。在出现问题的时候才着手进行优化,会非常痛苦,所以应该在系统架设之初就考虑好之后会出现的问题。目前有些数据库策略是采用单库结构,然后通过同步分发到数台...

2010-11-09 19:49:41 95

原创 Java NIO

IO学习:同步阻塞IO:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。当对方处理完...

2010-11-09 09:42:57 83

原创 互联网应用必须解决的几个问题

1. 前台高并发如何处理的?如何保持session的信息?如何维护TCP的连接?2. 高并发的时候,数据库这边是如何处理的?数据库的连接如何控制和保持的?3. 海量数据的时候,数据如何存放的?4. 一旦数据很大,分库的话,如果实现排序5. 如何实现分页?如何统计总数?6. 分布式缓存如何实现方案有多少种?7. 分布式缓存数据如何最大限度的实现完整性?8. 分布式事务的如...

2010-11-07 19:22:24 283

原创 访问文件方式

访问基于磁盘的文件很复杂,既牵涉到块设备的处理,也涉及到磁盘高速缓存的处理。访问文件的方式有一下几种:1. 规范模式 系统调用read()和 write()来存取。系统调用read()将阻塞调用进程,直到数据被拷贝到用户态地址空间。但系统调用write()不同,它在数据被拷贝到页高速缓存(延迟写)后马上就结束。2. 同步模式 同步模式下文件打开后,标志O_S...

2010-11-04 15:36:23 201

原创 内存映射函数

mmap函数文章分类:C++编程 mmap函数的使用方法 UNIX网络编程第二卷进程间通信对mmap函数进行了说明。该函数主要用途有三个:1、将一个普通文件映射到内存中,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较高的性能;2、将特殊文件进行匿名内存映射,可以为关联进程提供共享内存空间;3、为无关联的进程提供共享内存空间,一般也是将一个普通文件映射...

2010-11-04 15:28:58 121

原创 How to Become an Expert Developer

How to Become an ExpertFor most skills you need to learn, there are four steps that will help you become an expert. Most often you will go through these steps in sequence, yet with iterations up and...

2010-10-18 22:19:39 144

原创 My Dream

There is a saying.If you want to be a good programmer, you just program every day for two years, you will be an excellent programmer. If you want to be a world-class programmer, you can program ev...

2010-10-18 21:53:19 121

原创 2008时间安排

工作时间规划 时间 事情 7:30

2008-02-17 21:13:00 589

原创 2008目标

工作 Ø         注重工作的效率与质量 Ø         注重对业务的学习 Ø         侧重于公司所用的技术的学习 Ø        

2008-02-17 21:12:00 531

转载 Bill Gates: Never surrender to complexity

 The barrier to change is not too little caring; it is too much complexity.To turn caring into action, we need to see a problem, see a solution, and see the impact. But complexity blocks all three s

2008-01-11 10:27:00 722

原创 volatile关键字

第一次接触到关键字volatile,不知为何物,只是模糊的记得java关键字里面好像有它。查了些资料,整理如下:Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私

2008-01-07 08:24:00 491

转载 JNDI的优化

代码很简单,将Home缓存到cache中,以后每次从cache中取出。更进一步 EJBLocalObject也可以缓存,这样大大增加EJB处理速度。Service Locator如下:package com.jdon.servicelocator.web;import java.util.HashMap;import java.util.Map;import java.util.Collect

2008-01-02 14:36:00 931

原创 spring事务管理的AOP实现原理

  

2007-12-22 11:14:00 2033

原创 HIBERNATE两种事务控制的区别

hibernate的两种事务管理jdbc 和jta方式。下边说说两者的区别一、说明一下jdbc和jta方式事务管理的区别:JDBC事务由Connnection管理,也就是说,事务管理实际上是在JDBC Connection中实现。事务周期限于Connection的生命周期之内JTA 事务管理则由 JTA 容器实现,JTA 容器对当前加入事务的众多Connection 进行调度,实现其事务性要求。J

2007-12-22 11:09:00 1223

原创 spring 事务总结

以往我们需要事务控制的时候,通常需要引入笨重的EJB,Spring的出现改变了这种状况,我们可以用Spring的轻量级容器来管理事务。Spring对事务的控制有几种方式:1.编码的方式 class  CourseServiceImpl...{    public void enrollStudentInCourse()    ...{        transactionTem

2007-12-20 12:45:00 1061

转载 一种产生socket write error的原因(sitemesh 相关)

 最近拿到一个工程,不停的报socket write error,虽然不影响正常使用,但是真的很烦,而且会影响日志的记录.所以决定找到这个问题的答案:excepion的堆栈信息如下:Exception Processing ErrorPage[errorCode=404, location=/404.jsp]ClientAbortException:  java.net.SocketExc

2007-12-17 10:13:00 2543

原创 SQL SERVER学习笔记一

 1.      当begin tran语句到达数据库时,sql server分析出这是事务的开始,SQL server找到下一个可用的内存日志页面,并给新事务分配一个事务ID2.      接着运行插入语句,新的行被记录到事务日志中,数据页面在内存中进行修改,若所需页面不在内存中,则从磁盘调出。3.      update语句以类似的方式运行。4.      当sql serve

2007-12-12 22:40:00 1269 1

原创 javascript难点

Javascript支持复合数据类型------对象,对象标识的是值(既可以使基本值:如数字和字符串,也可以是复合值)的集合。 Javascript中的对象有两种,一种对象表示的是已命名的值的无序集合,另一种表示的是有编号的值的有序集合。 后者被称为数组,从根本上来说,Javascript中的对象和数组是同一种数据类型。NULL: Javascript的关键字null是一个特殊的值

2007-12-11 16:33:00 2048

转载 Struts1和Struts2的区别

Action 类: • Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。 • Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去 实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Str

2007-12-05 15:59:00 622

原创 如何成长成系统架构师

什么是软件架构师?  架构师(Architecture)是目前很多软件企业最急需的人才,也是一个软件企业中薪水最高的技术人才。换句话说,架构师是企业的人力资本,与人力资源相比其能够通过架构、创新使企业获得新的产品、新的市场和新的技术体系。那么什么是架构师、架构师的作用、如何定位一个架构师和如何成为一个架构师呢?这是许多企业、许多程序员朋友希望知道的或希望参与讨论的话题内容。  所谓架构师通俗的

2007-11-29 13:54:00 896

原创 系统架构师的修炼(成长)

最近应聘系统架构师,面试回答一些问题,加上之前做的一些功课,搜索到一些文章,感觉有必要总结一下,到底如何做一个成功的系统架构师呢?首先,何谓系统架构师? IBM工程师的说明是:  架构师的主要责任是提供开发人员和项目经理之间的共用沟通媒体。他们负责让业务规则及需求与工程实践及限制相适应,以确保成功 中文Wiki上的说明是:  系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考

2007-11-29 13:51:00 854

原创 javascript表格排序

html>    head>    title>Table Sort Exampletitle>        script type="text/javascript">        //比较函数,比较两个行        function compareTRs(oTR1,oTR2)        ...{            var sValue1 = oTR1.cells[0].fi

2007-11-28 10:57:00 952

原创 selectbox学习笔记

 html>    head>        title>limited textareatitle>        script type="text/javascript">        var TextUtil = new Object();        TextUtil.isNotMax=function(oTextArea)        ...{            re

2007-11-28 10:27:00 872

原创 高级DOM

 html>    head>        title>advanced dom studytitle>        style type="text/css">            div.special            ...{                background-color:red;                height:10px;         

2007-11-27 14:09:00 493

原创 javascript 事件模型学习笔记

 html>    head>        title>removeChild() Exampletitle>        script type="text/javascript">        function removeMessage()        ...{            var op = document.body.getElementsByTagName("p

2007-11-27 13:10:00 619

原创 正则表达式参考

   正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。  列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。  为便于理解和记忆,先从一些概念入手,所有特殊字符或字符组合有一个总表在后面,最后

2007-11-23 16:52:00 746

原创 Session详解

 一、术语session在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的。session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session。有时候我们可以看到这样的话“在一个浏览器会话期

2007-11-22 10:56:00 704

原创 JSP和SERVLET学习笔记

 几乎所有的Web开发语言都支持Session功能,Servlet也不例外。 Servlet/JSP中的Session功能是通过作用域(scope)这个概念来实现的。作用域分为四种,分别为: page 在当前页面有效(仅用于JSP中)

2007-11-22 10:53:00 737

原创 jdbc事务

 事务的概念: 数据库中一些操作的集合通常是一个独立单元,而事务就是构成单一逻辑工作单位的操作集合。    已提交事务是指成功执行完毕的事务,未能成功完成的事务称为中止事务,对中止事务造成的变更需要进行撤销处理,称为事务回滚。 事务的特性:事务具有ACID4个特性。    1.原子性(Atomicity)    事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行

2007-11-17 11:12:00 741

原创 javascript正则表达式学习笔记

 DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">HTML>HEAD>TITLE> New Document TITLE>META NAME="Generator" CONTENT="EditPlus">META NAME="Author" CONTENT="">META NAME="Keywords" CONTENT

2007-08-06 15:13:00 679

原创 表连接查询分类

通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,尔后通过连接进行查询。 连接可以在S

2007-07-26 16:07:00 1017

Sql tuning

比较经典的SQL TUNING资料,不可错过 PPT

2010-06-22

iBATIS in action

比较经典的书籍,值得一读 最经典的Ibatis的书籍

2007-12-18

空空如也

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

TA关注的人

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