自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (6)
  • 收藏
  • 关注

原创 java-多线程005

Java线程:线程的同步与锁   一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。 public class Foo {     private int x = 100;     public int getX() {...

2014-08-04 14:35:35 48

原创 java-多线程004

Java线程:线程状态的转换 一、线程状态 线程的状态转换是线程控制的基础。线程状态总的可分为五大状态:分别是生、死、可运行、运行、等待/阻塞。用一个图来描述如下: 1、新状态:线程对象已经创建,还没有在其上调用start()方法。 2、可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。当start()方法调用时,线程首先进入可...

2014-08-04 14:16:24 57

原创 java-多线程003

Java线程:线程栈模型与线程的变量 要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此研究线程栈必须选择一个运行的时刻(实际上指代码运行到什么地方)。 下面通过一个示例性的代码说明线程(调用)栈的变化过程。  这幅图描述在代码执行到两个...

2014-08-04 14:02:40 61

原创 java-多线程002

Java线程:创建与启动 SCJP5学习笔记 一、定义线程 1、扩展java.lang.Thread类。 此类中有个run()方法,应该注意其用法:public void run()如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。 Th...

2014-08-04 13:59:19 43

原创 java-多线程001

一、操作系统中线程和进程的概念现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进...

2014-08-04 13:53:53 48

原创 java序列化

Java序列化的机制和原理有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。Java序列化算法透析Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一...

2014-04-24 13:10:33 38

原创 ArrayList List 等迭代集合执行移除(remove) 操作容易犯的错误

ArrayList List 等迭代集合执行移除(remove) 操作容易犯的错误 产生错误原因:迭代集合每次remove后的size都会发生变化,如果迭代基数不根据remove后的size动态调整,则会发生索引越界异常或内容遍历不全等问题,错误方法1:    ArrayList<String> al = new ArrayList<String&g...

2014-03-03 14:06:01 38

原创 java 幂等性

幂等性 个人理解及应用 [原创链接: http://www.smithfox.com/?e=16 转载请保留此声明, 谢谢]绝大部分网络上对幂等性的解释类似于:"幂等性是指重复使用同样的参数调用同一方法时总能获得同样的结果。比如对同一资源的GET请求访问结果都是一样的。"我认为这种解释是非常错误的, 幂等性强调的是外界通过接口对系统内部的影响, 外界怎么看系统和幂等性没有关系...

2014-02-27 17:10:48 38

原创 java 幂等性

基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单。再加上浏览器、Javasc...

2014-02-27 17:08:26 33

原创 jvm

一、相关概念基本回收算法引用计数(Reference Counting)比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Sweep)此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此...

2014-02-25 21:30:20 49

原创 jvm性能调优都做了什么

JVM性能调优有很多设置,这个参考JVM参数即可.主要调优的目的:控制GC的行为.GC是一个后台处理,但是它也是会消耗系统性能的,因此经常会根据系统运行的程序的特性来更改GC行为控制JVM堆栈大小.一般来说,JVM在内存分配上不需要你修改,(举例)但是当你的程序新生代对象在某个时间段产生的比较多的时候,就需要控制新生代的堆大小.同时,还要需要控制总的JVM大小避免内存溢...

2014-02-25 11:21:17 38

原创 性能优化

业务数据库 -》 数据水平分割(分区分表分库)、读写分离业务应用 -》 逻辑代码优化(算法优化)、公共数据缓存应用服务器 -》 反向静态代理、配置优化、负载均衡(apache分发,多tomcat实例)系统环境 -》 JVM调优页面优化 -》 减少页面连接数、页面尺寸瘦身...

2014-02-25 10:52:43 38

原创 Java实现单链表的逆转置

单链表逆转置的递归与非递归方式 1234567891011121314151617181920212223242526272829303132333435363738394041424344454...

2014-02-24 16:28:41 70

原创 java 设计模式--中介者模式

中介者的功能非常简单,就是封装对象之间的交互。如果一个对象的操作会引起其他相关对象的变化,或者是某个操作需要引起其他对象的后续或连带操作,而这个对象又不希望自己来处理这些关系,那么久可以找中介者,把所有麻烦扔给它,只要在需要的时候通知中介者,其他的就让中介者去处理就可以了。反过来,其他对象在操作时,可能会引起这个对象的变化,也可以这么做。最后对象之间就完全分离了,谁都不直接跟其他对象交互...

2014-02-18 18:00:27 36

原创 java 设计模式--迭代器模式

定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类型:行为类模式类图:       如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧:[java] view plaincopy  public static void print(Collectio...

2014-02-18 17:52:31 39

原创 freemarker

FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出 下面是一个FreeMa...

2014-02-18 12:19:42 37

原创 java IO 总结

写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面。照旧,文章依旧以例子为主,因为讲解内容的java书很多了,我觉的学以致用才是真。代码是写出来的,不是看出来的。最后欢迎大家提出意见和建议。【案例1】创建一个新文件import java.io.*;class ...

2014-02-12 16:15:13 31

原创 MultiFieldQueryParser 使用方法

   String[] key = new String[]{"printed","nonquery","sql","update","set"};   String[] fields = {fieldName,fieldName,fieldName,fieldName,fieldName};       //声明BooleanClause.Occur[]数组,它表示多个条件之间的关系 ...

2014-01-22 17:13:03 167

原创 Lucene 学习 003

package com.zhangzhanlei.lucene; import java.io.IOException;import java.util.ArrayList;import java.util.List; import org.apache.lucene.analysis.Analyzer;import org.apache.lucene.analysi...

2014-01-22 15:14:52 45

原创 Lucene 学习 002

一、Lucene基础:大纲:1. 信息获取与搜索引擎的发展2. Lucene的历史3. 建立索引(索引库)与搜索1. 信息获取技术包含:信息的表示、存储、组织和对信息的访问方法。信息的表示和组织是为了用户更容易的访问到需要的信息。1.1 一般来说,信息获取的流程分为以下四步:1.1.1 获取信息之前,要构建文本数据库,即将来需要进行检索的数据(被检索的数据)1.1.2 需要建立文档的索引,通过文...

2014-01-22 11:55:45 26

原创 Lucene 概念总结

1 lucene简介 1.1 什么是lucene Lucene是一个全文搜索框架,而不是应用产品。因此它并不像http://www.baidu.com/ 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。1.2 lucene能做什么 要回答这个问题,先要了解lucene的本质。实际上lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供...

2014-01-22 11:39:25 66

原创 Lucene4.6 学习 001

package com.zhangzhanlei.lucene; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader; import o...

2014-01-22 10:40:34 31

程序员面试什么最重要

程序员面试一直是社区乐于讨论的热门话题。我自己从06年实习以来,先后经历了4家软件公司,全部是外企,其中有世界500强的通信企业,有从事期权期货交易的欧洲中等规模的金融公司,也有为大型汽车制造商开发Android智能汽车的新兴公司。跨入IT行业以来,我在求职过程中经历过多次面试,最近两年也有过多次面试别人的经验。我感觉现在到了对这个问题发表自己看法的时候,这篇文章是我站在面试官角度对于程序员面试...

2014-01-17 11:32:45 38

原创 Lucene 的索引性能如何优化

很多人会抱怨 Lucene 在数据量增加到一定规模的时候,性能会出现明显下降,对于并发用户访问的支持能力也比较弱。其实在工程师所遇到的绝大多数环境下 Lucene 的性能问题,往往是因为系统没有经过良好的调优。而非简单的 Lucene 设计缺陷所造成。当前使用 Lucene 的知名网站包括,Stack Exchange,旗下全球最大的事实性问答网站 StackOverFlow.com .基于 Lu...

2014-01-16 18:55:25 48

原创 java 设计模式--责任链模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的:  责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和...

2014-01-13 12:17:08 35

原创 java hashmap hashtable 区别

1. HashMap1)  hashmap的数据结构      Hashmap是一个数组和链表的结合体(在数据结构称“链表散列“),如下图示:        当我们往hashmap中put元素的时候,先根据key的hash值得到这个元素在数组中的位置(即下标),然后就可以把这个元素放到对应的位置中了。如果这个元素所在的位子上已经存放有其他元素了,那么在同一个位子上的元素将以链表的...

2014-01-13 11:49:55 30

原创 java 设计模式--享元模式

GOF:运用共享技术有效地支持大量细粒度的对象。   解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。比如说(这里引用GOF书中的例子)一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享一...

2014-01-13 11:38:21 35

原创 java 设计模式--外观模式

1.应用程序可能用到的一些接口,分别列出如下:1.1:package com.facade.test;public interface ServiceA { public void methodA();}1.2:package com.facade.test;public interface ServiceB { public void methodB();}1.3:...

2014-01-13 11:31:22 28

原创 java 设计模式--装饰模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述装饰(Decorator)模式的:  装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式的结构  装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功...

2014-01-10 15:25:16 34

原创 java 设计模式--组合模式

组合模式又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解藕.组合模式可以优化处理递归或分级数据结构.有许多关于分级数据结构的例子,使得组合模式非常有用武之地.类图:组成部分:Component: 为参加组合的对象声明一个公共接口, 不管是组合还是叶结点.Leaf: 在组合中...

2014-01-10 14:56:14 32

原创 java 设计模式--桥接模式

简单来讲,桥接模式是一个两层的抽象。桥接模式是用于“把抽象和实现分开,这样它们就能独立变化”。 桥接模式使用了封装、聚合,可以用继承将不同的功能拆分为不同的类。1、桥接模式的故事电视和遥控器(图中有错字)是一个完美展示两层抽象的例子。你有一个电视机的接口,还有一个遥控器的抽象类。我们都知道,将它们中任何一个定义为一个具体类都不是好办法,因为其它厂家会有不同的实现方法。...

2014-01-10 14:21:44 67

原创 java 设计模式--代理模式

Java动态代理模式 1. 代理:一个角色代表别一个角色来完成某些特定的功能。 比如:生产商,中间商,客户这三者这间的关系 客户买产品并不直接与生产商打交道,也不用知道产品是如何产生的,客户只与中间商打交道,而中间商就可以对产品进行一些包装,提供一些售后的服务。 代理模式有三个角色: 1. 抽象主题角色 2. 代理主题角色 3. 实际被代理角色 其它类通过访问代理主题角色来访问实际被代理角色。...

2014-01-10 12:05:29 29

原创 java 设计模式--适配器模式

 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式的用途  用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的电源插头不匹配使得笔记本电脑无法使用。这时候一个三相到两相的转换器(适配器)就能解决此问题,而这正像是本...

2014-01-09 13:57:06 27

原创 java 设计模式--原型模式

定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在ja...

2014-01-09 13:40:17 42

原创 java 设计模式--建造者模式

Builder 模式 —— 建造者模式(又译成生成器模式)的主要功能是构建复杂的产品,它是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。举个例子,打个生产电脑的比方,这里简单一点,假设生产电脑只需要 CUP、内存和显卡,现在需要生产宏基和戴尔两个品牌的电脑,不用设计模式的实现:Acer.javaimport java.util.ArrayList;import ...

2014-01-09 13:26:45 39

原创 java 设计模式--单例模式

概念:  java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。  单例模式有一下特点:  1、单例类只能有一个实例。  2、单例类必须自己自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。  单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程...

2014-01-09 12:14:42 29

原创 java 设计模式--工厂模式

 一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式在《Java与模式》中分为三类:1)简单工厂模式(Simple Factory):不利于产生系列产品;2)工厂方法模式(Factory Method):又称为多形性工厂;3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族,但不利于产生新的产品; ...

2014-01-09 11:59:47 32

原创 安装版的tomcat设置JAVA_OPTS="-Xms128M -Xmx512M -XX:PermSize=128M -XX:MaxPermSize=512M"

tomcat如果是通过windows服务启动,执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.解决办法:修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\JavaOptions原值为-Dcatalina.home=E:...

2014-01-08 18:07:03 77

原创 Xms Xmx PermSize MaxPermSize 区别

Eclipse崩溃,错误提示:MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) space remains. It is strongly recommendedthat you exit and restart MyEclipse with new virtual machine...

2014-01-08 18:03:28 29

原创 hadoop 单机节点安装

Single Node SetupPurposeThis document describes how to set up and configure a single-node Hadoop installation so that you can quickly perform simple operations using Hadoop MapReduce and the Ha...

2013-11-13 10:28:43 30

vi编辑命令

vi编辑命令 vi编辑命令 vi编辑命令 vi编辑命令 vi编辑命令 vi编辑命令 vi编辑命令 vi编辑命令 vi编辑命令

2011-09-14

snmp4j-2.0.1-distribution.zip

snmp4j-2.0.1-distribution.zip

2011-09-01

操作系统 java的实现 好好学习

操作系统 java的实现 好好学习 操作系统 java的实现 好好学习 操作系统 java的实现 好好学习

2010-10-31

深入浅出mfc教程,初学者了书

这是一本特别适合初学者的书,有大量的源代码。都是经过了本人精心的调试,更改。

2010-06-03

MFC程序员的WTL指南 (第二版)

mfc程序员必不可少的wtl指南。有了它你就可以,任何时候忘记的的知识点,都可发通过他来查到。

2010-05-30

jsp网上售书系统的源代码

(1) 通过名称标识 (3) 通过简单名称或成员访问来访问 (3) 可以为静态成员或实例成员 (4) 属性的get访问器没有参数 (5) 属性的set访问器包含隐式value参数

2010-05-30

空空如也

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

TA关注的人

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