自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

orclight的专栏

旦旦而学之,久而不怠~

  • 博客(76)
  • 收藏
  • 关注

转载 从雅虎到阿里巴巴-----一个程序员的心路历程__雅虎是一个好公司

很早就想写这么一篇文章了。我离开中国雅虎已经一年有余,在中国雅虎工作的那段时光是我最珍贵的回忆之一,和以前的同事吃饭聊天的时候也经常会怀念一下中国雅虎,怀念得多了,就觉得不如写篇文章好好回顾一下。很多事情虽然已经过去,但有些话不说出来,到底意难平。    从 2008年7月份毕业之后加入了中国雅虎,到2009年9月份跟着中国雅虎工程技术部全体人员“被跳槽”到淘宝,我在中国雅虎只呆了一年多的

2013-05-23 11:03:37 4413 1

原创 Spring中配置数据源的4种形式

不管采用何种持久化技术,都需要定义数据源。Spring中提供了4种不同形式的数据源配置方式:spring自带的数据源(DriverManagerDataSource),DBCP数据源,C3P0数据源,JNDI数据源。1.spring自带的数据源DriverManagerDataSourceXML代码:<bean id="dataSource" cla

2013-02-27 02:16:13 57207 6

转载 Java 性能优化转载

***Java 性能优化0.Java性能优化[0]:概述    http://blog.csdn.net/program_think/article/details/39961421.Java性能优化[1]:基本类型 vs 引用类型  http://blog.csdn.net/program_think/article/details/39961472.Ja

2013-01-17 17:30:09 503

原创 深入Java核心_JVM内存分配&内存使用查看

Java中的内存泄露     当以前分配的一块内存不再使用或不再访问,但系统却没有释放该块内存。那么对于该进程来说,总的可用的内存会减少,这种现象就叫做内存泄漏。预防和减少内存泄露?    1.了解内存是怎么分配的。    2.了解内存是怎么释放的—GC。Java运行时数据区 Runtime Data Area组件:它主要分为二个部分(堆和非堆),GC主要作用于堆。

2013-01-06 11:34:20 1502

转载 分享高手对JAVA程序员成长之路的总结

我也搞了几年JAVA了,由于一向懒惰,没有成为大牛,只是一普通程序猿,不爱玩社交网站,不爱玩微博,唯独喜欢百度贴吧,潜水很久了,手痒来给新人分享下从新手成长为老鸟的已见,也刷刷存在感,应该不比曝照差吧。首先初识语法的阶段,必须要学会怎么操作对象,操作if和for,操作list set map,然后是线程、IO和jdbc什么的,其余的,若是一时不理解,可以后边需要时再学。这阶段完了,你可

2012-12-14 14:17:24 1443 2

原创 代码重构 & 代码中的坏味道

1.重构1.1 为什么要重构  1.1.1 改进程序设计  程序员为了快速完成任务,在没有完全理解整体架构之前就开始写代码,导致程序逐渐失去自己的结构。重构则帮助重新组织代码,重新清晰的体现程序结构和进一步改进设计。  1.1.2 提高程序可读性  容易理解的代码很容易维护和增加新功能。代码首先是写给人看的,然后才是计算机看的。  重构是一个Code Rev

2013-06-27 16:31:52 1815

原创 设计模式系列之四_策略模式 和 模版方法模式(Template method)

1.策略模式1.1 策略模式  策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。  策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。  1.2 策略模式的组成  (

2013-03-12 16:28:14 4474

原创 设计模式系列之三_代理模式(Proxy)

1.什么事代理模式(Proxy Pattern)  23种java常用设计模式之一。代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。类图如下:2.代理模式中涉及到的三个角色  (1)抽象角色:声明真实对象和代理对象的共同接口。  (2)真实角

2013-03-12 11:08:31 1041

原创 设计模式系列之二_责任链模式(Chain of Responsibility)

1.职责链模式定义  为了避免请求的发送者和接收者之间的耦合关系,使多个接受对象都有机会处理请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。2.Chain of Responsibility模式主要涉及两个角色  1)抽象处理者角色(Handler):它定义了一个处理请求的接口。当然对于链子的不同实现,也可以在这个角色中实现后继链。  2)

2013-03-12 10:05:10 1187

原创 Lucene In Action 学习笔记(一)

1.1 怎样应对信息爆炸时代  信息检索技术  1.2 Lucene是什么1.2.1 Lucene是什么  Lucene是一款高性能的,可扩展的信息检索工具库。信息检索是指文档搜索,文档内信息搜索,文档相关元数据操作。  信息检索(Information retrieval)  使用lucene后,你会发现它为你提供了一套#简单而强大的核心API#。1.2.

2013-03-11 10:17:09 2193

原创 linux 常用命令分类整理

1.系统的关机、重启以及注销  shutdown -h now 关闭系统(1)   shutdown -h hours:minutes & 按预定时间关闭系统   shutdown -c 取消按预定时间关闭系统   shutdown -r now 重启(1)   init 0 关闭系统(2)   telinit 0 关闭系统(3)     reboot 重启(2)

2013-03-07 11:02:22 4367

原创 软件开发模式介绍和对比(瀑布、迭代、敏捷等)

1.瀑布模型  1.1 瀑布模型介绍  1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。  1.2 瀑布模型核心思想  瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件

2013-03-06 16:42:23 44648 1

转载 Java几款性能分析工具的对比

1.程序的性能    在给客户的应用程序维护的过程中,我注意到在高负载下的一些性能问题。理论上,增加对应用程序的负载会使性能等比率的下降。然而,我认为性能下降的比率远远高于负载的增加。我也发现,性能可以通过改变应用程序的逻辑来提升,甚至达到极限。为了更详细的了解这一点,我们需要做一些性能分析,自然也要用到一些分析工具。Java有许多的性能分析工具,可以帮助我们弄清楚这个问题,但是我

2013-03-06 11:22:20 1067

原创 Sql优化系列之(1)__where子句条件优化

1.为什么要进行SQL优化  系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的SQL语句,提高系统的可用性。2.where子句条件优化2.1 SQL语句用大写:  因为oracle总是先解析sql语句,把小写的字母转换成大写的再执行。2.2 W

2013-03-04 17:55:55 11471

原创 Sql优化系列之(2)__索引没有被使用

1.为什么要进行SQL优化  系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的SQL语句,提高系统的可用性。2.劣质的sql语句     在多数情况下,Oracle使用索引来更快地遍历表,优化器主要根据定义的索引来提高性能。但是,如果在SQL语句的

2013-03-04 16:45:17 3148

原创 Java 中常用的数据源

数据源:存储了所有建立数据库连接的信息。就象通过指定文件名你可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接。1.JNDI方式创建DataSource  1.1 配置数据源的相关连接信息,该配置可以在Tomcat安装目录下的conf/context.xml文件中配置。其配置如下:   …… <Resource name

2013-02-26 16:33:50 7045

原创 Java 笔试题(1)

1.面向对象的特征有哪些方面?  封装,继承,多态,抽象。2.String是最基本的数据类型吗?  不是。3.Java中有没有goto?  goto在java中是保留字,现在没有在Java中使用。4.int 和 Integer的区别?  int是Java的原始数据类型,Integer是Java为int提供的对应的封装类。5.String中有没有len

2013-02-24 16:52:08 1067

原创 Java基础学习笔记之六(3)_常用类_File类

File类  An abstract representation of file and directory pathnames.  #文件#和#目录路径#名的抽象表示形式。  常用构造:  1.File(String pathname);    Creates a new File instance by converting the given pathname

2013-02-22 17:40:05 913

原创 Java基础学习笔记之六(2)__常用类StringBuffer

StringBuffer介绍  A string buffer is like a String, but can be modified.  一个类似于 String 的字符串缓冲区,但可以修改  (可变的字符序列)  StringBuffer 常用方法:  1.public StringBuffer append(...);  Appends the strin

2013-02-22 17:37:11 595

原创 JS 操作Cookies

Cookies1:功能:保存一小块数据2:常用Cookies属性:expires,path,domain,secure3:写入Cookies:格式 name=value4:用escape编码,unescape解码 5:用obj.setTime(obj.getTime+60*1000)设置过期时间6:cookie保存的数据不能超过4000bytes7:cookie读取

2013-02-01 15:50:13 920

原创 Java基础学习笔记之六(1)__常用类String

String 类  Strings are constant; their values cannot be changed after they are created.  String 代表不可变的字符序列。备注:在内存中的位置String str = "abc";  1.引用str放在栈中  2.字符串常量放在常量池(字符串常量池)中,第一次创建放入池中,第二次使

2013-01-31 20:00:46 2605

原创 OSCache 学习笔记(2)__缓存整个页面 & 缓存局部页面

1.缓存整个页面    在OSCache组件中提供了一个CacheFilter用于实现页面级的缓存。主要用于对web应用中的某些动态页面进行缓存,尤其是那些需要生成PDF格式文件/报表、图片文件等的页面,不仅减少了数据库的交互、减少数据库服务器的压力,而且对于减少web服务器的性能消耗有很显著的效果。   该功能是通过在web.xml中进行配置来决定缓存哪一个或者哪一组页面,而且还可以设置

2013-01-31 17:51:12 4832

原创 OSCache 学习笔记(1)__OSCache的作用 & 在项目中集成OSCache

OSCache 的应用:1.缓存对象(将一个对象以key-value的形式放入缓存中)    putInCache(String key,Object content);    getFromCache(String key);    removeEntry(String key);    主要通过GeneralCacheAdministrator类来实现。2.对局部页面进

2013-01-31 16:51:28 8098

原创 Log4j学习笔记(2)_log4j配置示例&Spring集成log4j

log4j配置示例#定义根日志级别和输出端(定义了两个输出端)log4j.rootLogger=ERROR,CONSOLE,Orclight#定义第一个输出端,输出到控制台log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.layout=org.apache.log4j.Pat

2013-01-31 11:12:46 36702 2

原创 Log4j学习笔记(1)_log4j 基础架构&配置项解析

Log4j的组成:  Log4j由三个重要的组成构成:日志记录器(Loggers),输出端(Appenders)和日志格式化器(Layout)。1.日志记录器(Loggers):控制要输出哪些日志记录语句,对日志信息进行级别限制。2.输出端(Appenders):指定了日志将打印到控制台还是文件中。3.日志格式化器(Layout):控制日志信息的显示格式。类图结构如下,

2013-01-31 10:47:03 3807

转载 深入Java核心 Java 内存泄露原因

Java中内存的管理    Java的内存管理就是对象的分配和释放问题。在Java中,内存的分配是由程序完成的,而内存的释放是由垃圾收集器(Garbage Collection,GC)完成的。什么是内存泄露    当以前分配的一块内存不再使用或不再访问时,但却并没有释放它;那么对于该进程来说,总的可用的内存会减少,这时就出现了内存泄漏。在Java中导致内存泄露的主要原因

2013-01-30 09:58:03 705

转载 设计模式系列之一__单例模式(2)__各种实现的优缺点

1、时间和空间效率比较上面两种写法:懒汉式是典型的时间换空间,也就是每次获取实例都会进行判断,看是否需要创建实例,浪费判断的时间。当然,如果一直没有人使用的话,那就不会创建实例,则节约内存空间。饿汉式是典型的空间换时间,当类装载的时候就会创建类实例,不管你用不用,先创建出来,然后每次调用的时候,就不需要再判断了,节省了运行时间。2、线程安全(1)从线程安全性上讲,不加同步的

2013-01-29 09:24:08 666

原创 设计模式系列之一__单例模式(1)__基本定义以及实现

单例模式定义  单例模式(singleton)顾名思义,就是一个类只有一个实例。  作为对象的创建模式[GOF95], 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。单例模式的实现原理  1.一个类能够被创建多个实例,问题的根源在于类的构造方法是公开的,在类的外部可以通过构造方法创建多个实例。  2.要想控制一个类只被创建一

2013-01-29 01:58:58 780

原创 java基础学习笔记之十--反射(1)

***参考文章1.Java反射研究(1)———常用API   http://blog.csdn.net/xiazdong/article/details/6950277

2013-01-28 17:55:25 494

转载 Java编程中“为了性能”需做的26件事

最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。1.尽量在合适的场合使用单例    使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用

2013-01-28 11:24:57 533

原创 Servlet 学习笔记

---Servlet 学习笔记---1.Sevlet 工作流程  1.用户用浏览器提交请求--http协议的文本(包括了很多信息,甚至客户端的所用操作系统的信息)  2.Web服务器(比如:Tomcat),把该请求封装成HttpSevletRequest,同时封装一个HttpServletResponse对象用来输出结果  3.通过web.xml中的配置,根据请求找到后台对

2013-01-26 21:22:49 608

原创 Java基础学习笔记之七(4)--Iterator&Comparable

***Iterator 接口    Iterator对象称作迭代器用以方便的实现对容器内元素的遍历操作。    1.boolean hasNext()  Returns true if the iteration has more elements.  如果迭代器中还有元素可以迭代,则返回true  (判断游标右边是否还有元素可以迭代)    2.E next()

2013-01-26 10:47:28 511

原创 Java基础学习笔记之七(3)--Map接口

***Map接口    An object that maps keys to values. A map cannot contain duplicate keys; each key can map to at most one value.    将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射一个值。     map中key不能重复,用hashCode进行比

2013-01-26 10:45:33 1336

原创 Java基础学习笔记之七(2)--List&Set

***List 接口  An ordered collection (also known as a sequence).Unlike sets, lists typically allow duplicate elements.  List接口是Collection的子接口,实现List接口的容器类中的元素是有顺序的,而且是可以重复的。  List容器中的元素都对应一个整数型

2013-01-26 10:43:24 670

原创 Java基础学习笔记之七(1)--Collection接口&Collections集合工具类

***容器API  Collection接口定义了存取单个对象的方法,其子接口分别定义存储的方式和形式。  1.List:存储的数据有顺序,可以重复。  2.Set:存储的数据没有顺序,并且不可以重复    3.Map接口定义了用来存储"键值对" key-value的方法  ***Collection  A collection represents a group

2013-01-26 10:39:47 2134

原创 Web应用乱码(2)__原因以及解决方案详解

---Servlet 中文乱码问题以及解决方案---  Servlet中乱码分为request乱码和response乱码。一.request中文乱码  request请求分为post和get,产生乱码的原因大致都一样,但是对于不同的请求方式解决方式不一样。***Post请求执行过程:   1.浏览器发出http请求(请求按浏览器的默认码表编码--一般是GB2312)

2013-01-25 15:26:48 822

转载 深入Java核心 Java 内存分配(2)_字符串的存储

***字符串常量池 String是一个特殊的包装类数据。可以用:  String str=new String("abc");  String str="abc";  两种的形式来创建。  1.第一种是用new()来新建对象的,它会在存放于堆中。每调用一次就会创建一个新的对象。  2.而第二种是先在栈中创建一个对String类的对象引用变量str,然后通过符号引用去

2013-01-25 11:25:16 548

转载 深入Java核心 Java 内存分配__栈和堆(1)

***深入Java核心 Java内存分配***1.一般Java在内存分配时会涉及到以下区域    栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中。  堆:存放用new产生的数据。  静态域:存放在对象中用static定义的静态成员。  常量池:存放常量。  寄存器:我们在程序中无法控制。  非RAM存储:硬盘等永久存储空间。  2

2013-01-25 10:29:33 543

原创 Java基础学习笔记之一_JVM参考文章

***参考文章1.JVM学习之:内存的分配以及回收  http://blog.csdn.net/sun7545526/article/details/78933102.JVM学习之:GC的算法简述    http://blog.csdn.net/sun7545526/article/details/78669753.JVM学习之:GC的算法的具体实现(垃圾收集器)    http://

2013-01-22 13:51:01 515

原创 OSCache 入门中的入门

1.OSCache是什么?    OSCache是个一个被广泛采用的高性能的J2EE缓存框架,由OpenSymphony设计,它是一种开创性的缓存方案。OSCache不但提供了对普通的Java对象的缓存解决方案,它还提供了对JSP页面的内存缓存功能。2、OSCache的特点    (1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存

2013-01-21 18:39:43 1104

空空如也

空空如也

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

TA关注的人

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