05 2014 档案

摘要:EJB编辑EJB是sun的服务器端组件模型,设计目标与核心应用是部署分布式应用程序。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (EnterpriseJavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支... 阅读全文

posted @ 2014-05-30 00:13 Lishenyin 阅读(756) 评论(0) 推荐(0)

摘要:J2EE技术规范(一)——JNDI分类:java 基础2012-12-02 20:051539人阅读评论(14)收藏举报学习Java,我们首先要掌握的就是十三种技术规范,我们接下来就一步一步的来学习。今天主要是讲讲JNDI。一、理解JNDI的用途: JNDI是用于访问不同的命名和目录服务的统一API... 阅读全文

posted @ 2014-05-30 00:11 Lishenyin 阅读(584) 评论(0) 推荐(0)

摘要:J2EE技术规范(二)——JDBC分类:java2012-12-03 14:251060人阅读评论(8)收藏举报一、了解JDBC(1) JDBC是以统一方式访问数据库的API(2) JDBC提供: 独立于平台的数据库访问 位置透明对专有数据库的问题时透明的二、了解JDBC驱动程序(1) JDBC D... 阅读全文

posted @ 2014-05-29 23:38 Lishenyin 阅读(220) 评论(0) 推荐(0)

摘要:Jsp基本指令和动作(2011-08-18 16:25:13)转载▼标签:杂谈分类:javaJSP基本指令jsp命令指令用来设置与整个jsp页面相关的属性,它并不直接产生任何可见的输出,而只是告诉引擎如何处理其余JSP页面。其一般语法形式为:三种命令指令分别是page、include、taglib。... 阅读全文

posted @ 2014-05-29 23:20 Lishenyin 阅读(204) 评论(0) 推荐(0)

摘要:jsp内置对象编辑目录1简介2内置组件▪request对象▪response对象▪session对象▪out对象▪page对象▪application对象▪exception对象▪pageContext对象▪config对象3内置对象产生的时机1简介编辑可以不加声明和创建就可以在JSP页面脚本(Ja... 阅读全文

posted @ 2014-05-29 23:05 Lishenyin 阅读(160) 评论(0) 推荐(0)

摘要:Servlet生命周期与工作原理Posted on2011-10-21 20:39艾泽拉斯的太阳阅读(79019) 评论(7)编辑收藏Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destro... 阅读全文

posted @ 2014-05-29 22:49 Lishenyin 阅读(168) 评论(0) 推荐(0)

摘要:中间件编辑中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键... 阅读全文

posted @ 2014-05-29 22:36 Lishenyin 阅读(949) 评论(0) 推荐(0)

摘要:Tomcat 本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。准备环境ApacheApache是http服务器,我们利用其对Tomcat进行负载均衡。目前最新版本为2.2.17,下载地址为ht... 阅读全文

posted @ 2014-05-28 22:52 Lishenyin 阅读(183) 评论(0) 推荐(0)

摘要:spring事务管理器设计思想(一)在最近做的一个项目里面,涉及到多数据源的操作,比较特殊的是,这多个数据库的表结构完全相同,由于我们使用的ibatis框架作为持久化层,为了防止每一个数据源都配置一套规则,所以重新实现了数据源,根据线程变量中指定的数据库连接名称来获取实际的数据源。一个简单的实现如下... 阅读全文

posted @ 2014-05-28 22:25 Lishenyin 阅读(221) 评论(0) 推荐(0)

摘要:作为设计模式理论中的Helloworld,相信学习java语言的人,都应该听说过单例模式。单例模式作为对象的一种创建模式,它的作用是确保某一个类在整个系统中只有一个实例,而且自行实例化并向整个系统提供这个实例。由此可见,单例模式具有以下的特点:单例类只能有一个实例。单例类必须自己创建自己的唯一的实例... 阅读全文

posted @ 2014-05-28 22:07 Lishenyin 阅读(397) 评论(0) 推荐(0)

摘要:读写锁编辑读写锁 (rwlock)功能特点简介读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的逻辑... 阅读全文

posted @ 2014-05-28 22:06 Lishenyin 阅读(215) 评论(0) 推荐(0)

摘要:知其然synchronized这类线程同步的机制可以解决多线程并发问题,在这种解决方案下,多个线程访问到的,都是同一份变量的内容。为了防止在多线程访问的过程中,可能会出现的并发错误。不得不对多个线程的访问进行同步,这样也就意味着,多个线程必须先后对变量的值进行访问或者修改,这是一种以延长访问时间来换... 阅读全文

posted @ 2014-05-28 18:02 Lishenyin 阅读(192) 评论(0) 推荐(0)

摘要:java 垃圾回收总结(1)以前看过很多次关于垃圾回收相关的文章,都只是看过就忘记了,没有好好的整理一下,发现写文章可以强化自己的记忆。java与C,c++有很大的不同就是java语言开发者不需要关注内存信息,不会显式的直接操作内存,而是通过jvm虚拟机来实现。java虚拟机运行的时候内存分配图如下... 阅读全文

posted @ 2014-05-28 16:44 Lishenyin 阅读(286) 评论(0) 推荐(0)

摘要:java垃圾回收总结(2)上一篇文章介绍了jvm虚拟机运行时内存结构以及如何标识需要回收的对象,这一节主要讲解垃圾回收的基本算法。基本上 jvm内存回收有三种 基本算法标记-清除标记清除的算法最简单,主要是标记出来需要回收的对象,然后然后把这些对象在内存的信息清除。如何标记需要回收的对象,在上一篇文... 阅读全文

posted @ 2014-05-28 16:23 Lishenyin 阅读(211) 评论(0) 推荐(0)

摘要:java创建对象的几种方式博客分类:java(1) 用new语句创建对象,这是最常见的创建对象的方法。(2) 运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。(3) 调用对象的clone()方法。(... 阅读全文

posted @ 2014-05-28 15:31 Lishenyin 阅读(440) 评论(0) 推荐(0)

摘要:不经意的回首,工作进入第五个年头了,发现走过了从Java程序员到J2EE架构师的历程。发现电脑上安装了各种各样的J2EE工具:JBuilder, WSAD, Eclipse, Rose, Together, Weblogic, Jtest,Optimizator,Mysql...发现电脑上保存了各种... 阅读全文

posted @ 2014-05-28 11:07 Lishenyin 阅读(204) 评论(0) 推荐(0)

摘要:淘宝下单高并发解决方案周末参加了@淘宝技术嘉年华主办的技术沙龙,感觉收获颇丰,非常感谢淘宝人的分享。这里我把淘宝下单高并发解决方案的个人理解分享一下。我不是淘宝技术人员,本文只是写自己的理解,所以肯定是会有一些出入的。在session中牧劳为我们介绍了淘宝下单部分的技术方案变迁,我不介绍变迁,而只对... 阅读全文

posted @ 2014-05-27 16:55 Lishenyin 阅读(195) 评论(0) 推荐(0)

摘要:高并发量网站解决方案分类:其它2011-04-14 12:459336人阅读评论(7)收藏举报缓存服务器服务器数据库负载均衡apache网络一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着... 阅读全文

posted @ 2014-05-27 16:35 Lishenyin 阅读(170) 评论(0) 推荐(0)

摘要:Spring事务配置的五种方式 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,... 阅读全文

posted @ 2014-05-26 23:16 Lishenyin 阅读(136) 评论(0) 推荐(0)

摘要:Spring提供了一流的事务管理。在Spring中可以支持声明式事务和编程式事务。 本章主要目标如下: 1,Spring事务 2,事务属性 3,事务管理器 4,声明式事务 1.1Spring的事务 事务管理在应用程序中起着至关重要的作用:它是一系列任务的组成工作单元,在这个工作单元中,所有的任务... 阅读全文

posted @ 2014-05-26 23:14 Lishenyin 阅读(146) 评论(0) 推荐(0)

摘要:spring事务传播属性与隔离级别2008-10-19 14:374180人阅读评论(0)收藏举报springnested数据库ejbjdbc一、Propagation (事务的传播属性)Propagation : key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。有... 阅读全文

posted @ 2014-05-26 22:54 Lishenyin 阅读(1386) 评论(0) 推荐(0)

摘要:struts2线程安全2012-02-16 21:07:58分类:系统运维问题:Struts 2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。Spring的Ioc容器管理的bean默认是单实例的,上一次请求处理的状态信息被保持下来,并影响了下一次的请求,实际上就是Action中的... 阅读全文

posted @ 2014-05-26 22:31 Lishenyin 阅读(289) 评论(0) 推荐(0)

摘要:冒泡排序编辑冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到... 阅读全文

posted @ 2014-05-26 22:22 Lishenyin 阅读(229) 评论(0) 推荐(0)

摘要:SQL中使用WITH AS提高性能-使用公用表表达式(CTE)简化嵌套SQL2009-07-16 17:20:22|分类:软件类|举报|字号订阅一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断... 阅读全文

posted @ 2014-05-26 22:15 Lishenyin 阅读(148) 评论(0) 推荐(0)

摘要:HAVING对由sum或其它集合函数运算结果的输出进行限制。比如,我们可能只希望看到Store_Information数据表中销售总额超过1500美圆的商店的信息,这时我们就需要使用HAVING从句。语法格式为: SELECT "column_name1", SUM("column_name2") ... 阅读全文

posted @ 2014-05-26 22:06 Lishenyin 阅读(227) 评论(0) 推荐(0)

摘要:SQL语言逻辑执行顺序2012-12-18 16:18:13分类:数据库开发技术查询的逻辑执行顺序FROM ON JOIN WHERE GROUP BY WITH {cube | rollup}HAVING SELECTDISTINCTORDER BY 标准的SQL 的解析顺序为:.FROM 子... 阅读全文

posted @ 2014-05-26 21:48 Lishenyin 阅读(335) 评论(0) 推荐(0)

摘要:全面解读Java NIO工作原理(4)2011-12-14 10:31 Rollen Holt Rollen Holt的博客我要评论(0)字号:T|TJDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详... 阅读全文

posted @ 2014-05-25 23:02 Lishenyin 阅读(259) 评论(0) 推荐(0)

摘要:全面解读Java NIO工作原理(3)2011-12-14 10:31 Rollen Holt Rollen Holt的博客我要评论(0)字号:T|TJDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详... 阅读全文

posted @ 2014-05-25 23:01 Lishenyin 阅读(159) 评论(0) 推荐(0)

摘要:全面解读Java NIO工作原理(2)2011-12-14 10:31 Rollen Holt Rollen Holt的博客我要评论(0)字号:T|TJDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详... 阅读全文

posted @ 2014-05-25 23:00 Lishenyin 阅读(154) 评论(0) 推荐(0)

摘要:全面解读Java NIO工作原理(1)2011-12-14 10:31 Rollen Holt Rollen Holt的博客我要评论(0)字号:T|TJDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详... 阅读全文

posted @ 2014-05-25 22:59 Lishenyin 阅读(236) 评论(0) 推荐(0)

摘要:本文可看成是对Doug Lea Scalable IO in Java一文的翻译。当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构:1. Read request2. Decode request3. Process servi... 阅读全文

posted @ 2014-05-25 19:22 Lishenyin 阅读(654) 评论(0) 推荐(0)

摘要:Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设... 阅读全文

posted @ 2014-05-25 19:03 Lishenyin 阅读(293) 评论(0) 推荐(0)

摘要:Hibernate 所有缓存机制详解hibernate提供的一级缓存hibernate是一个线程对应一个session,一个线程可以看成一个用户。也就是说session级缓存(一级缓存)只能给一个线程用,别的线程用不了,一级缓存就是和线程绑定了。hibernate一级缓存生命周期很短,和sessio... 阅读全文

posted @ 2014-05-25 17:55 Lishenyin 阅读(361) 评论(0) 推荐(0)

摘要:http://www.doc88.com/p-309514290635.html 阅读全文

posted @ 2014-05-25 17:24 Lishenyin 阅读(126) 评论(0) 推荐(0)

摘要:一、云计算概述 云计算到底是什么呢?在这个问题上,可谓众说纷纭。比如,在维基百科上的定义是“云计算是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算”;著名咨询机构 Gartner 将云计算定义为“云计算是利用互联网技术来将庞大且可伸缩的IT能力集合起来作为... 阅读全文

posted @ 2014-05-25 16:04 Lishenyin 阅读(1022) 评论(0) 推荐(1)

摘要:Oracle删除重复行分类:ORACLE2010-12-12 17:10423人阅读评论(0)收藏举报oracletabledeleteintegerinsert.net查询及删除重复记录的SQL语句1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * fro... 阅读全文

posted @ 2014-05-25 11:58 Lishenyin 阅读(1423) 评论(0) 推荐(0)

摘要:Tomcat原理分类:TOMCAT2009-05-17 22:254366人阅读评论(3)收藏举报tomcatexceptionsocketstringservernullTomcat的模块结构设计的相当好,而且其Web 容器的性能相当出色。JBoss直接就使用了Tomcat的web容器,WebLo... 阅读全文

posted @ 2014-05-25 10:53 Lishenyin 阅读(211) 评论(0) 推荐(0)

摘要:Ibatis和Hibernate的比较分类:IBATISHIBERNATE2010-11-19 17:58341人阅读评论(0)收藏举报hibernateibatis数据库sqlcachetable我在最初的选型的时候是打算选择 Hibernate 的,在研究的过程中发现了 iBatis,经过 分析... 阅读全文

posted @ 2014-05-24 19:32 Lishenyin 阅读(145) 评论(0) 推荐(0)

摘要:分类:SPRINGIBATIS2010-11-22 20:191170人阅读评论(0)收藏举报ibatisspringstringpropertiesclassuser 最近一直在看spring和ibatis的东西,由于目前SSH的流行,大多讲Spring和Hibernate的整合开发,作者一直对... 阅读全文

posted @ 2014-05-24 19:24 Lishenyin 阅读(316) 评论(0) 推荐(0)

摘要:Mybatis Generator实现分页功能分类:IBATIS2013-07-17 17:03882人阅读评论(1)收藏举报mybatisibatisgeneratorpage分页众所周知,Mybatis本身没有提供基于数据库方言的分页功能,而是基于JDBC的游标分页,很容易出现性能问题。网上有很... 阅读全文

posted @ 2014-05-24 19:11 Lishenyin 阅读(2826) 评论(0) 推荐(0)

摘要:Oracle之分页查询Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。分页查询格式:SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM = 21其中最内层的查询SE... 阅读全文

posted @ 2014-05-24 18:49 Lishenyin 阅读(232) 评论(0) 推荐(0)

摘要:深入分析 iBATIS 框架之系统架构与映射原理分类:IBATIS2010-11-24 03:32547人阅读评论(1)收藏举报ibatis框架sql数据库jdbcjava本文转至http://www.ibm.com/developerworks/cn/java/j-lo-ibatis-princi... 阅读全文

posted @ 2014-05-24 18:01 Lishenyin 阅读(314) 评论(0) 推荐(0)

摘要:ActiveMQ is the most popular and powerful open source Message Bus.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间... 阅读全文

posted @ 2014-05-24 11:13 Lishenyin 阅读(319) 评论(0) 推荐(0)

摘要:Servlet资料整理【很全很强大】分类:J2EE2009-10-23 00:51671人阅读评论(0)收藏举报servletsessionstring服务器initializationservice 刚学习完了Servlet相关的知识,现在做一下整理以备日后方便查找与复习.一.Servlet的定义... 阅读全文

posted @ 2014-05-23 18:53 Lishenyin 阅读(206) 评论(0) 推荐(0)

摘要:Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布。该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发和部署。其中有几项特性的引入让开发者感到非常兴奋,同时也获得了 Java 社区的一片赞誉之声:异步处... 阅读全文

posted @ 2014-05-23 18:15 Lishenyin 阅读(204) 评论(0) 推荐(0)

摘要:如果手机只能进行实时通话,没有留言和短信功能会怎么样?一个电话打过来,正好没有来得及接上,那么这个电话要传递的信息肯定就收不到了。为什么不能先将信息存下来,当用户需要查看信息的时候再去获得信息呢?伴随着这个疑惑,短息和留言应运而生,无论手机是否开机、是否未及时接到,我们都能得到其中的信息。JMS提供... 阅读全文

posted @ 2014-05-23 17:25 Lishenyin 阅读(570) 评论(0) 推荐(0)

摘要:由Java虚拟机和Java核心类所构成。它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么。目录1Java术语2移动平台3桌面应用平台4企业级平台5JRE的成分1Java术语编辑术语解释:由Java虚拟机和Java核心类所构成。它为纯Java程序提供了统一的编程接口,而不管下层操作系统... 阅读全文

posted @ 2014-05-23 16:50 Lishenyin 阅读(182) 评论(0) 推荐(0)

摘要:JMS(Java平台上的专业技术规范)编辑jms即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MO... 阅读全文

posted @ 2014-05-23 16:07 Lishenyin 阅读(379) 评论(0) 推荐(0)

摘要:分布式框架: Zookeeper与paxos算法一、zookeeper是什么官方说辞:Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。好抽象,我们... 阅读全文

posted @ 2014-05-22 17:02 Lishenyin 阅读(335) 评论(0) 推荐(0)

摘要: 阅读全文

posted @ 2014-05-22 16:39 Lishenyin 阅读(192) 评论(0) 推荐(0)

摘要:short data = 0;//这个为什么对?难道1不是int类型么data = data + 1;//这个错,我知道是因为data+1返回int类型data = data + data;//这个错,原因同上data += 1;//这个对,为什么呢?难道1不是int么??data += data;... 阅读全文

posted @ 2014-05-22 15:47 Lishenyin 阅读(174) 评论(0) 推荐(0)

摘要:聚集索引 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 ... 阅读全文

posted @ 2014-05-22 15:34 Lishenyin 阅读(1221) 评论(0) 推荐(0)

摘要:聚集索引非聚类索引区别(2013-10-16 08:36:51)转载▼分类:数据库您可以把索引理解为一种特殊的目录。两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。聚集索引和非聚集索引的区别... 阅读全文

posted @ 2014-05-22 14:56 Lishenyin 阅读(470) 评论(0) 推荐(0)

摘要:1。循环求阶乘:在C语言中,使用循环语句可以很方便的求出阶乘的值,下面介绍一个很简单的阶乘例子。(因为网上多数是比较麻烦的方法)¤【计算出“ 1!+ 2!+ 3!+ …… + 10!”的值是多少?】#include int main(void){long x, j=1, sum=0;for ( x=... 阅读全文

posted @ 2014-05-22 14:37 Lishenyin 阅读(283) 评论(0) 推荐(0)

摘要:OSGI介绍OSGI简介 OSGI (Open Service Gateway Initiative)联盟成立于1999 年,它是一个非盈利的国际组织,旨在建立一个开放的服务规范,为通过网络向设备提供服务建立开放的标准,是开放业务网关的发起者。OSGI联盟的初始目标是构建一个在广域网和局域网或设备上... 阅读全文

posted @ 2014-05-22 08:27 Lishenyin 阅读(622) 评论(0) 推荐(0)

摘要:一.为什么选择redis在项目中使用redis做为缓存,还没有使用memcache,考虑因素主要有两点:1.redis丰富的数据结构,其hash,list,set以及功能丰富的String的支持,对于实际项目中的使用有很大的帮忙。(可参考官网redis.io)2.redis单点的性能也非常高效(利用... 阅读全文

posted @ 2014-05-21 23:02 Lishenyin 阅读(466) 评论(0) 推荐(0)

摘要:OSGi简介OSGi是什么下面来看看“维基百科”给出的解释:OSGi(Open Service Gateway Initiative)有双重含义。一方面它指OSGi Alliance组织;另一方面指该组织制定的一个基于Java语言的服务(业务)规范——OSGi服务平台(Service Platfor... 阅读全文

posted @ 2014-05-21 22:48 Lishenyin 阅读(663) 评论(0) 推荐(0)

摘要:JTA 深度历险 - 原理与实现在 J2EE 应用中,事务是一个不可或缺的组件模型,它保证了用户操作的 ACID(即原子、一致、隔离、持久)属性。对于只操作单一数据源的应用,可以通过本地资源接口实现事务管理;对于跨数据源(例如多个数据库,或者数据库与 JMS)的大型应用,则必须使用全局事务 JTA ... 阅读全文

posted @ 2014-05-21 22:32 Lishenyin 阅读(508) 评论(0) 推荐(0)

摘要:1.多播:“多播”也可以称为“组播”,在网络技术的应用并不是很多,网上视频会议、网上视频点播特别适合采用多播方式。因为如果采用单播方式,逐个节点传输,有多少个目标节点,就会有多少次传送过程,这种方式显然效率极低,是不可取的;如果采用不区分目标、全部发送的广播方式,虽然一次可以传送完数据,但是显然达不... 阅读全文

posted @ 2014-05-21 21:51 Lishenyin 阅读(1209) 评论(0) 推荐(0)

摘要:什么是JTA -2009-07-25 18:31:06|分类:技术文章|举报|字号订阅什么是JTA?Java Transaction API(Java事务API) (JTA)Java Transaction API(Application Programming Interface)什么是JTA T... 阅读全文

posted @ 2014-05-21 17:06 Lishenyin 阅读(718) 评论(0) 推荐(0)

摘要:Java synchronized详解第一篇:使用synchronized在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,... 阅读全文

posted @ 2014-05-21 15:17 Lishenyin 阅读(259) 评论(0) 推荐(0)

摘要:配置Garbage Collection2012-09-17 14:53:18分类:Java 上面这幅图是我从网络上摘到的,它展现了在一个的理想系统的模型下GC对系统的影响。图的最顶上红色线条显示出一个应用程序在单处理器环境下花费1%的时间做GC的情况。而其转换到32个处理器的设备上将导致损失超过2... 阅读全文

posted @ 2014-05-17 16:55 Lishenyin 阅读(490) 评论(0) 推荐(0)

摘要:jvm性能优化及内存分区2012-09-17 15:51:37分类:JavaSome of the default values for Sun JVMs are listed below.JDK 1.3.1_06 Initial Size Maximum SizeClient JVM 1MB 32... 阅读全文

posted @ 2014-05-17 12:25 Lishenyin 阅读(263) 评论(0) 推荐(0)

摘要:JVM-栈2012-09-17 15:43:53分类:Java原文转自:http://www.blogjava.net/nkjava/archive/2012/03/15/371971.htmlJVM栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;JVM堆解决的是数据存储的问题,即数据怎么... 阅读全文

posted @ 2014-05-17 12:03 Lishenyin 阅读(583) 评论(0) 推荐(0)

摘要:JVM内存结构2012-09-17 15:27:59分类:Java本文转自:http://www.blogjava.net/nkjava/archive/2012/03/14/371831.html1.1JVM运行ClassLoader->RUNNTIME DATA AREA->EXECUTION ... 阅读全文

posted @ 2014-05-17 11:27 Lishenyin 阅读(295) 评论(0) 推荐(0)

摘要:JVM加载class文件的原理机制1.Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中2.java中的类大致分为三种: 1.系统类 2.扩展类 3.由程序员自定义的类3.类装载方式,有两种 1.隐式装载, ... 阅读全文

posted @ 2014-05-17 10:41 Lishenyin 阅读(212) 评论(0) 推荐(0)

摘要:java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主... 阅读全文

posted @ 2014-05-16 09:02 Lishenyin 阅读(225) 评论(0) 推荐(0)

摘要:java多线程例子编写具有多线程能力的程序经常会用到的方法有: run(), start(), wait(), notify(), notifyAll(), sleep(), yield(), join() 还有一个重要的关键字:synchronized 本文将对以上内容进行讲解。 一:ru... 阅读全文

posted @ 2014-05-15 10:53 Lishenyin 阅读(649) 评论(0) 推荐(0)

摘要:memcached集群2013-04-26 13:56:37|分类:memcached|标签:集群memcached|举报|字号订阅集群架构方面的问题 memcached是怎么工作的? Memcached的神奇来自两阶段哈希(two-stage hash)。Memcached就像一个巨大的、存储... 阅读全文

posted @ 2014-05-14 23:26 Lishenyin 阅读(857) 评论(0) 推荐(0)

摘要:memcached+magent实现memcached集群首先说明下memcached存在如下问题 本身没有内置分布式功能,无法实现使用多台Memcache服务器来存储不同的数据,最大程度的使用相同的资源;无法同步数据,容易造成单点故障。(memagent代理实现集群) 在 Memcached中可... 阅读全文

posted @ 2014-05-14 22:57 Lishenyin 阅读(417) 评论(0) 推荐(0)

摘要:1Memcache是什么Memcache是danga.com的一个项目,最早是为LiveJournal服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTabl... 阅读全文

posted @ 2014-05-14 22:37 Lishenyin 阅读(698) 评论(0) 推荐(0)

摘要:MemcacheMemcache是danga.com的一个开源项目,它是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的Hash表,能够用来存储各种格式的数据。查看当前的memcache连接数:[root@mem1 ~]# netstat -n | grep :11211 | ... 阅读全文

posted @ 2014-05-14 22:15 Lishenyin 阅读(194) 评论(0) 推荐(0)

摘要:2011年初Marc Kwiatkowski通过Memecache@Facebook介绍了Facebook的Memcache架构,现在重新审视这个架构,仍有很多方面在业界保持先进性。作为weibo内部数据处理量最大,对数据延迟最敏感的部门,基于本厂2年多来对mc的使用心得,我在本文总结对MC架构的一... 阅读全文

posted @ 2014-05-14 22:04 Lishenyin 阅读(419) 评论(0) 推荐(0)

摘要:转载 网络应用性能分析的目的是准确展示网络带宽、延迟、负载和TCP端口的变化是如何影响用户的响应时间的。利用网络应用性能分析工具,例如ApplicationExpert,能够发现应用的瓶颈,我们可知应用在网络上运行时在每个阶段发生的应用行为,在应用线程级分析应用的问题。可以解决多种问题:客户端是否对... 阅读全文

posted @ 2014-05-14 15:26 Lishenyin 阅读(502) 评论(0) 推荐(0)

摘要:成熟的并发性能测试工具有很多,选择的依据主要是测试需求和性能价格比。著名的并发性能测试工具有QALoad、LoadRunner、BenchmarkFactory、Webstress和AB-Apache等。这些测试工具都是自动化负载测试工具,通过可重复的、真实的测试,能够彻底地度量应用的可扩展性和性能... 阅读全文

posted @ 2014-05-14 14:40 Lishenyin 阅读(474) 评论(0) 推荐(0)

摘要:在我们的系统中,并发扮演着核心角色,它是如此核心以至于我塑造了面向并发编程(Concurrency Oriented Programming)这个术语,以把这种编程风格和其他编程风格区分开来2。在面向并发编程中,程序的并发结构应该遵循应用本身的并发结构。这种编程风格特别适用于编写那些对现实世界建模或... 阅读全文

posted @ 2014-05-14 14:34 Lishenyin 阅读(470) 评论(0) 推荐(0)

摘要:server.xml配置1.参数说明:connectionTimeout网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。keepAliveTimeout长连接最大保持时间(毫秒)。此处为15秒。maxKeepAliveRequests最大长连接个数(1表... 阅读全文

posted @ 2014-05-14 14:27 Lishenyin 阅读(547) 评论(0) 推荐(0)

摘要:tomcat优化(全)(2012-09-26 10:12:59)转载▼标签:杂谈分类:java1.内存设置(VM参数调优)(1). Windows环境下,是tomcat解压版(执行startup.bat启动tomcat) ,解决办法:修改“%TOMCAT_HOME%\bin\catalina.bat... 阅读全文

posted @ 2014-05-14 14:14 Lishenyin 阅读(230) 评论(0) 推荐(0)

摘要:ORACLE数据库维护(转)----一篇关于oracle的不错的文章1. ORACLE数据库启动与关闭1.1 打开和关闭数据库 (手工)1.1.1 sqlplus连接1.1.2 打开数据库1.1.3 启动oracle listener1.1.4 关闭oracle listener1.1.5 关闭数据... 阅读全文

posted @ 2014-05-13 22:23 Lishenyin 阅读(466) 评论(0) 推荐(0)

摘要:高并发,大数据量,你的系统考虑哪些问题?1,订票系统案例,某航班只有一张机票,假定有1w个人打开你的网站来订票,问你如何解决并发问题(可扩展到任何高并发网站要考虑的并发读写问题)问题,1w个人来访问,票没出去前要保证大家都能看到有票,不可能一个人在看到票的时候别人就不能看了。到底谁能抢到,那得看这个... 阅读全文

posted @ 2014-05-13 22:17 Lishenyin 阅读(506) 评论(0) 推荐(0)

摘要:http_load学习心得:测试网站每秒所能承受的平均访问量(吞吐量)http_load -parallel 5 -fetches 1000urls.txt这段命令行是同时使用5个进程,随机访问urls.txt中的网址列表,总共访问1000次。运行之后的结果:1000 fetches, 5 max ... 阅读全文

posted @ 2014-05-13 21:55 Lishenyin 阅读(261) 评论(0) 推荐(0)

摘要:《设计中的设计》读后感当我拿到这本书时第一想法就是把他认真仔细的看一遍,去和大师握手,一起去感悟设计的博大,一起倾听世界。这本书是日本设计大师‘原研哉’的著作,他为我们写了本相当于是大众的读物,让每个人都能看,都能了解设计这个门路怎么去走,怎么去走好着条设计之路?大师还邀请了一些对设计感兴趣的设计师... 阅读全文

posted @ 2014-05-13 21:29 Lishenyin 阅读(683) 评论(0) 推荐(0)

摘要:一、服务器配置优化我们需要根据应用服务器的性能和并发访问量的大小来规划应用服务器的数量。有一个使用原则是:单台应用服务器的性能不一定要求最好,但是数量一定要足够, 最好能有一定的冗余来保障服务器故障。特别是,在高并发访问峰期间,适当增加某些关键应用的服务器数量。比如在某些高峰查询业务上,可以使用多台... 阅读全文

posted @ 2014-05-13 21:20 Lishenyin 阅读(413) 评论(0) 推荐(0)

摘要:《高并发Web系统的设计与优化》的读后感一口气看完了《高并发Web系统的设计与优化》,感觉受益匪浅,作者从高并发开始讨论问题,并逐步给出了非常有建设性的想法和建议,是值得我们进一步去思考的。我们都知道,高并发必然带来服务器的高压力,高压状态下单个服务器随时可能宕机,减少压力的性价比较高的办法就是分而... 阅读全文

posted @ 2014-05-13 21:14 Lishenyin 阅读(250) 评论(0) 推荐(0)

摘要:Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., n... 阅读全文

posted @ 2014-05-13 10:08 Lishenyin 阅读(162) 评论(0) 推荐(0)

摘要:通过这一章的内容,希望能够让大家明白一个道理,“数据库系统的性能不是优化出来的,更多的是设计出来的”。数据库Schema 的设计并不如很多人想象的那样只是一个简单的对象对应实现,而是一个系统工程。要想设计出一个既性能高效又足够满足业务需求,既逻辑清晰又关系简单的数据库Schema 结构,不仅仅需... 阅读全文

posted @ 2014-05-08 12:01 Lishenyin 阅读(460) 评论(0) 推荐(0)

摘要:在寻找Join 语句的优化思路之前,我们首先要理解在MySQL 中是如何来实现Join 的,只要理解了实现原理之后,优化就比较简单了。下面我们先分析一下MySQL 中Join 的实现原理。在MySQL 中,只有一种Join 算法,就是大名鼎鼎的Nested Loop Join,他没有其他很多数据... 阅读全文

posted @ 2014-05-08 09:41 Lishenyin 阅读(439) 评论(0) 推荐(0)

摘要:MySQL 中索引的限制在使用索引的同时,我们还应该了解在MySQL 中索引存在的限制,以便在索引应用中尽可能的避开限制所带来的问题。下面列出了目前MySQL 中索引使用相关的限制。1. MyISAM 存储引擎索引键长度总和不能超过1000 字节;2. BLOB 和TEXT 类型的列只能创建前缀索引... 阅读全文

posted @ 2014-05-08 09:38 Lishenyin 阅读(324) 评论(0) 推荐(0)

摘要:在分析如何优化MySQL Query 之前,我们需要先了解一下Query 语句优化的基本思路和原则。一般来说,Query 语句的优化思路和原则主要提现在以下几个方面: 1. 优化更需要优化的Query; 2. 定位优化对象的性能瓶颈; 3. 明确的优化目标; 4. 从Explain 入手... 阅读全文

posted @ 2014-05-06 09:14 Lishenyin 阅读(273) 评论(0) 推荐(0)

摘要:7.1 MySQL 锁定机制简介 数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL 自然也不能例外。MySQL 数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所... 阅读全文

posted @ 2014-05-04 23:12 Lishenyin 阅读(289) 评论(0) 推荐(0)

摘要:在本章之前的所有部分都是介绍的整个系统中的软件环境对系统性能的影响,这一节我们将从系统硬件环境来分析对数据库系统的影响,并从数据库服务器主机的角度来做一些针对性的优化建议。任何一个系统的硬件环境都会对起性能起到非常关键的作用,这一点我想每一位读者朋友都是非常清楚的。而数据库应用系统环境中,由于数... 阅读全文

posted @ 2014-05-04 19:26 Lishenyin 阅读(339) 评论(0) 推荐(0)

摘要:前面两节中,我们已经分析了在一个数据库应用系统的软环境中应用系统的架构实现和系统中与数据库交互的SQL 语句对系统性能的影响。在这一节我们再分析一下系统的数据模型设计实现对系统的性能影响,更通俗一点就是数据库的Schema 设计对系统性能的影响。 在很多人看来,数据库Schema 设计是一件非常... 阅读全文

posted @ 2014-05-04 19:06 Lishenyin 阅读(364) 评论(0) 推荐(0)

摘要:我们重点分析实现同样功能的不同SQL 语句在性能方面会产生较大的差异的根本原因,并通过一个较为典型的示例来对我们的分析做出相应的验证。 为什么返回完全相同结果集的不同SQL 语句,在执行性能方面存在差异呢?这里我们先从SQL 语句在数据库中执行并获取所需数据这个过程来做一个大概的分析了。 当... 阅读全文

posted @ 2014-05-04 18:42 Lishenyin 阅读(264) 评论(0) 推荐(0)

摘要:前言: 大部分人都一致认为一个数据库应用系统(这里的数据库应用系统概指所有使用数据库的系统)的性能瓶颈最容易出现在数据的操作方面,而数据库应用系统的大部分数据操作都是通过数据库管理软件所提供的相关接口来完成的。所以数据库管理软件也就很自然的成为了数据库应用系统的性能瓶颈所在,这是当前业界比较普遍的... 阅读全文

posted @ 2014-05-04 18:05 Lishenyin 阅读(205) 评论(0) 推荐(0)

摘要:前言数据库的备份与恢复一直都是DBA 工作中最为重要的部分之一,也是基本工作之一。任何正式环境的数据库都必须有完整的备份计划和恢复测试,本章内容将主要介绍MySQL数据库的备份与恢复相关内容。5.1 数据库备份使用场景一、数据丢失应用场景1、人为操作失误造成某些数据被误操作;2、软件BUG 造成数据... 阅读全文

posted @ 2014-05-04 15:52 Lishenyin 阅读(234) 评论(0) 推荐(0)

摘要:4.2.1 权限系统简介 MySQL 的权限系统在实现上比较简单,相关权限信息主要存储在几个被称为granttables 的系统表中,即: mysql.User,mysql.db,mysql.Host,mysql.table_priv 和mysql.column_priv。由于权限信息数据量比较小... 阅读全文

posted @ 2014-05-04 11:54 Lishenyin 阅读(249) 评论(0) 推荐(0)

摘要:一、外围网络:第一道防线:“网络设备防线”,因为暴露到广域网潜在的危险非常多,尽可能的让我们的MySQL 处在一个有保护的局域网之中,有了网络设备的保护,屏蔽来自外部的潜在威胁。二、主机: 第二道防线“主机层防线”,“主机层防线”主要拦截网络(包括局域网内)或者直连的未授权用户试图入侵主机的行为。... 阅读全文

posted @ 2014-05-04 09:44 Lishenyin 阅读(190) 评论(0) 推荐(0)

摘要:3.1MySQL 存储引擎概述 到后来,MySQL 意识到需要更改架构,将前端的业务逻辑和后端数据存储以清晰的层次结构拆分开的同时,对ISAM 做了功能上面的扩展和代码的重构,这就是MyISAM存储引擎的由来。 MySQL 的插件式存储引擎主要包括MyISAM,Innodb,NDB Cluste... 阅读全文

posted @ 2014-05-03 18:42 Lishenyin 阅读(297) 评论(0) 推荐(0)

摘要:1、mysql 首先看看“-e, --execute=name”参数,这个参数是告诉mysql,我只要执行“-e”后面的某个命令,而不是要通过mysql 连接登录到MySQL Server 上面。此参数在我们写一些基本的MySQL 检查和监控的脚本中非常有用,我个人就经常在脚本中使用到他。 如果... 阅读全文

posted @ 2014-05-03 17:06 Lishenyin 阅读(268) 评论(0) 推荐(0)

摘要:2.2MySQL Server 系统架构总的来说,MySQL 可以看成是二层架构,第一层我们通常叫做SQL Layer,在MySQL 数据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断,sql 解析,执行计划优化,query cache 的处理等等;第二层就是存储引擎层,我们通常叫... 阅读全文

posted @ 2014-05-03 16:27 Lishenyin 阅读(206) 评论(0) 推荐(0)

摘要:2.1MySQL物理文件组成2.1.1 日志文件1、错误日志:Error Log如果要开启系统记录错误日志的功能,需要在启动时开启-log-error 选项。错误日志的默认存放位置在数据目录下,以hostname.err 命名。但是可以使用命令:--log-error[=file_name],修改其... 阅读全文

posted @ 2014-05-03 13:08 Lishenyin 阅读(157) 评论(0) 推荐(0)

摘要:第 1 章 MySQL 基本介绍一、与其它数据库比较总的来说,MySQL 数据库在发展过程中一直有自己的三个原则:简单、高效、可靠。从上面的简单比较中,我们也可以看出,在MySQL 自己的所有三个原则上面,没有哪一项是做得不好的。而且,虽然功能并不是MySQL 自身所追求的三个原则之一,但是考虑到当... 阅读全文

posted @ 2014-05-03 12:34 Lishenyin 阅读(181) 评论(0) 推荐(0)

摘要:大型复杂项目的成功依赖于合理的项目组织,这种组织概念包括人力资源的组织和产品架构的组织两个方面。敏捷项目管理为这两种合理的组织提供了思维基础,为项目的成功提供了保证。 阅读全文

posted @ 2014-05-01 11:23 Lishenyin 阅读(152) 评论(0) 推荐(0)

导航