自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AbstractCollection<E>源码解读

package java.util;//提供 Collection 接口的骨干实现,以最大限度地减少了实现此接口所需的工作public abstract class AbstractCollection implements Collection { //每个实现该抽象类的,需要提供一个空的构造函数 public AbstractCollection() { } //返回迭

2016-04-21 13:58:42 500

原创 java为什么不直接实现Iterator接口,而是实现Iterable

Iterator是迭代器类,而Iterable是接口。好多类都实现了Iterable接口,这样对象就可以调用iterator()方法。        看一下JDK中的集合类,比如List一族或者Set一族,都是实现了Iterable接口,但并不直接实现Iterator接口。仔细想一下这么做是有道理的。       因为Iterator接口的核心方法next()或者hasNext

2016-04-20 15:07:55 2454

原创 transient详解

Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。        ansient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,tran

2016-04-20 14:06:56 1333

原创 Java的线程模型

由于Java是纯面向对象语言,因此,Java的线程模型也是面向对象的。Java通过Thread类将线程所必须的功能都封装了起来。要想建立一个线程,必须要有一个线程执行函数,这个线程执行函数对应Thread类的run方法。Thread类还有一个start方法,这个方法负责建立线程,相当于调用Windows的建立线程函数CreateThread。当调用start方法后,如果线程建立成功,并自动调用Th

2016-04-19 15:09:32 643

原创 线程简介

一、线程概述线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。进程和线程是现代操作系统中两个必不可少的运行模型。在操作系统中可以有多个进程,这些进程包括系统进

2016-04-19 15:06:49 368

转载 Java程序员面试中的多线程问题

很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题,这些问题经常被高级工程师所问到。0.Java 中多线程同步是什么?在多线程程序下,同步能控制对共享资源的访问。如果没有同步,当一个 Java 线程在修改一个共享变量

2016-04-19 13:25:43 332

原创 JSON处理类

import java.io.IOException;import java.io.StringReader;import java.io.StringWriter;import java.util.ArrayList;import java.util.Collection;import java.util.HashMap;import java.util.List;import j

2016-04-18 14:38:04 473

原创 异常抛出类

package com.lz.ctsframework.core.support;import java.text.MessageFormat;/** * * 类说明:Service层统一抛出的异常 * * * 详细描述: * * @author liuhuanchao * @since 2016-04-18 */public class ServiceEx

2016-04-18 14:36:55 428

原创 DAO基类

package com.lz.ctsframework.core.support;import java.util.List;import org.apache.ibatis.annotations.Param;/** *  * 类说明:dao基类 *  *  * 详细描述: *  * @author liuhuanchao * @sin

2016-04-18 14:34:35 1248

原创 文件处理类

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.FilenameFilter;import java.io.IOException;impo

2016-04-18 14:33:08 243

原创 字符串处理类

import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.security.MessageDigest;/** * MD5加密工具类 */public class MD5EncoderUtil { private final static String[

2016-04-18 14:28:52 298

原创 日期处理类

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.List;import org.apache.commons

2016-04-18 14:25:11 319

原创 Integer源码浅析

首先,看一下代码:package example;/** * * @author liuhuanchao * email 740970978 */public class Test { public static void main(String[] args) { Integer a = new Integer(10); Integer b = new Intege

2016-04-16 21:34:53 361

原创 Java中的Stack栈和Heap堆的区别

首先分清楚Stack,Heap的中文翻译:Stack—栈,Heap—堆。Heap和Stack分别存储数据的不同。   Heap(堆)Stack(栈)JVM中的功能内存数据区  内存指令区存储数据对象实例(1)基本数据类型, 指令代码,常量,对象的引用地址(2)1. 保存对象实例,实际上是保存对象实例

2016-04-16 18:50:26 474

原创 使用System.arraycopy()实现数组之间的复制

System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。其函数原型是: public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) src:源数组; srcPos:源数组要复制的起始位置; dest:目的数组; destPos:目的数组放置

2016-04-14 16:31:15 324

原创 集合类学习之Arraylist 源码分析

ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。   每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小(如果不指定capacity,默认是10)。/** * Constru

2016-04-14 16:23:46 936

转载 Webx是什么?

Webx是一套基于Java Servlet API的通用Web框架。它在Alibaba集团内部被广泛使用。从2010年底,向社会开放源码。• 2001年,阿里巴巴内部开始使用Java Servlet作为WEB服务器端的技术,以取代原先的Apache HTTPD server和mod_perl的组合。• 2002年,选择Jakarta Turbine作为WEB框架,并开始在此之上进行扩展。

2016-04-14 10:10:08 2585

原创 java 集合ArrayList及LinkList源码分析

首先是ArrayList的继承体系,代码如下:Java代码 public class ArrayList extends AbstractList           implements List, RandomAccess, Cloneable, java.io.Serializable  源码打印?public cl

2016-04-14 09:56:34 870

原创 Java String 源码浅析 JDK1.7

从一段代码说起:public void stringTest(){ String a = "a"+"b"+1; String b = "ab1"; System.out.println(a == b);}大家猜一猜结果如何?如果你的结论是true。好吧,再来一段代码:public void stringTest(){ String a = new Stri

2016-04-13 13:26:42 467

原创 java String源码解析

首先String类是final的(final 关键字用于类说明该类是不能被继承的)类属性private final char value[];//这是用于存储String字符的数组 private final int offset;//这是value数组的第一个有效的字符的index private final int count;//这是String中的字符个数

2016-04-13 13:07:33 376

原创 webx学习笔记——在项目里新增一个页面

WEBX是阿里巴巴的部框架,“就是把页面与Service之间的一些Servlet等公共的东西抽象出,提供相的服务以提高发效率(《接口之Webx介》—何晓峰 )”,可以看出,webx和统的servlet-action模式的HettpServlet基,其中的公用的抽象整理后,得到一个量的web发框架。由于项目需要,进行学习webx,先是看了一天的文档webx开发指南 ,还是一头雾水,然后就在网上查

2016-04-12 17:12:14 1319

原创 centos 安装jdk

1、下载jdk到/usr/java目录下,解压之2、添加环境变量vi /etc/profile添加以下内容:export JAVA_HOME=/usr/java/jdk1.7export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport P

2016-04-12 16:53:56 281

转载 Java工程师成神之路

一、基础篇1.1 JVM1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收http://www.jcp.org/en/jsr/detail?id=133http://ifeve.com/jmm-faq/1.1.2. 了解JVM各种参数及调优1.1.3. 学习使用Java工具jps, jstack, jmap

2016-04-11 14:33:56 601

原创 Windows 下基于 Eclipse 的可视化远程 Linux 开发环境搭建

1、简介    Windows 下远程 Linux 开发工具,比较著名的就是 WinGDB 和 Magic C++。都是商业软件,而且配置复杂,据说还不稳定。其实,我们想要的就是个图形环境 IDE,而且是直接操作的远程 Linux 环境。经过若干的实践,发现使用 SecureCRT + Eclipse 基于 X11 转发即可实现可视化远程 Linux 开发。先附上最终效果图:

2016-04-10 21:38:56 1179

原创 Spring建立虚拟DB环境进行单测

在进行DAO本地测试或者单元测试时,db环境有时很难弄,而且即使调通了db环境,有时也不想往db里面灌些无用数据,所以,为了不对真实db环境造成侵入,spring提供了一套虚拟db环境,利用它可以方便地进行单元测试。在spring环境中配置:type支持HSQL、H2、Derby三种。默认为HSQLschema.sql文件为建库建表语句,data.sql为表

2016-04-08 15:35:15 1273

转载 HTTP协议的头信息详解

通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可 选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域 值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。   

2016-04-08 15:21:26 313

转载 HTTP协议详解(真的很经典)

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服务器模

2016-04-08 15:19:39 309

原创 JDK源码分析:java.lang.Boolean

闲来无事,开始研究JDK 1.5源码,先找了一个最简单的java.lang.Boolean开始解剖。首先我们剔除所有的方法和静态变量,Boolean的核心代码如下:public final class Boolean implements java.io.Serializable,Comparable { private final boolean value;}很

2016-04-07 14:29:39 418

转载 从mysql数据库中导入数据到solr4.5

实际项目中,我们需要把已存在于数据库中的数据导入到solr索引库中,solr给我们提供了一个非常简便的方式,下面我们以mysql数据为例。假设我们数据名叫database,数据表叫user,user里面有字段id、name、password;你的core下面的conf/schema.xml也做了相应的field(id,name,password)定义。1、进入你的core(

2016-04-07 11:31:27 604

转载 solr4.5配置中文分词器mmseg4j

solr4.x虽然提供了分词器,但不太适合对中文的分词,给大家推荐一个中文分词器mmseg4jmmseg4j的下载地址:https://code.google.com/p/mmseg4j/通过以下几步就可以把mmseg4j分词器集成到solr中:1、解压mmseg4j-1.9.1.zip,把dist下面的所有jar文件拷贝到你应用服务器下的solr/WEB-IN

2016-04-07 11:30:20 339

转载 认识solr结构,了解核心的文件目录

下载solr并解压后,发现solr的目录里有很多的东西,此时我们可能会感到很恐慌,不知如何下手,下面让我带你认识它。1、解压后的solr目录结构如下:虽然里面有很多的文件,但是我们需要的其实就两个,如上图画有红框的文件solr和webapps,其他的文件你可以先忽略它,有兴趣可以看看《五分钟solr教程》。2、部署到tomcat根据《solr部署到t

2016-04-07 11:29:19 296

转载 solr4.5部署到tomcat

solr默认自带了jetty服务器,但我们习惯了tomcat,我们通过以下步骤将solr部署到tomcat1、solr.4.5.0.zip解压到指定的目录中,如d:/solr-4.5.02、将d:/solr-4.5.0/example/webapps下的solr.war拷贝到tomcat–>weapps中3、新建文件夹d:/sorl_home,将d:/solr-4.

2016-04-07 11:28:28 300

转载 五分钟solr4.5教程(搭建、运行)

环境要求 jdk1.6及以上版本solr发布版本下载地址http://lucene.apache.org/solr/mirrors-solr-latest-redir.html?启动solr1、解压solr-4.5.0.zip到你想到存放的路径,比如:d:/solr2、cmd打开命令行窗口,进入d:/s

2016-04-07 11:26:15 422

原创 java修炼之道

一:Java语言学习对线程(thread),串行化,反射,网络编程,JNI技术,容器(Map,List, Iterator), 类加载器(ClassLoader),输入输出流,垃圾回收机制, 有比较深入的了解,最起码做过项目应用。有过Java项目的性能优化经验,最起码掌握一种性能监视工具的使用,熟悉JVM参数,最起码知道可以在JVM启动时指定不同垃圾回收

2016-04-07 10:22:57 1149

原创 部分JVM参数解释

从大神手里拿过来的JVM调优参数,仅仅是把每个参数的含义查询了一下,越是查询越是感觉得到,小用户量的产品优化无从谈起,用户量起来了一切就要从细节入手慢慢优化。知识还需要继续深化,自己知道的往往是浮在表面的东西。堆=年轻代(new)+年老代(old)年轻代 = Eden 和 Survivor*2-Xmx2048m 最大堆大小 -Xms2048m 初始堆大小

2016-04-07 10:20:04 297

转载 Spring源代码解析(五):Spring AOP获取Proxy

下面我们来看看Spring的AOP的一些相关代码是怎么得到Proxy的,让我们我们先看看AOP和Spring AOP的一些基本概念: Advice:     通知,制定在连接点做什么,在Sping中,他主要描述Spring围绕方法调用注入的额外的行为,Spring提供的通知类型有:     before advice,AfterReturningAdvice,ThrowAdvice,M

2016-04-07 10:01:47 1591

转载 Spring源代码解析(四):Spring MVC

下面我们对Spring MVC框架代码进行分析,对于webApplicationContext的相关分析可以参见以前的文档,我们这里着重分析Spring Web MVC框架的实现.我们从分析DispatcherServlet入手: Java代码  //这里是对DispatcherServlet的初始化方法,根据名字我们很方面的看到对各个Spring MVC主要元素的初始

2016-04-07 10:00:20 289

转载 Spring源代码解析(三):Spring JDBC

引用自博客:http://jiwenke-spring.blogspot.com/ 下面我们看看Spring JDBC相关的实现, 在Spring中,JdbcTemplate是经常被使用的类来帮助用户程序操作数据库,在JdbcTemplate为用户程序提供了许多便利的数据库操作方法,比如查询,更新等,而且在Spring中,有许多类似 JdbcTemplate的模板,比如HibernateT

2016-04-07 09:59:07 375

转载 Spring源代码解析(二):IoC容器在Web容器中的启动

以下引用自博客:http://jiwenke-spring.blogspot.com/ 上面我们分析了IOC容器本身的实现,下面我们看看在典型的web环境中,Spring IOC容器是怎样被载入和起作用的。 简单的说,在web容器中,通过ServletContext为Spring的IOC容器提供宿主环境,对应的建立起一个IOC容器的体系。其中,首先需要建立的是根上下文,这个上下文持有的对象

2016-04-07 09:57:33 351

转载 Spring源代码解析(一):IOC容器

在认真学习Rod.Johnson的三部曲之一:>,顺便也看了看源代码想知道个究竟,抛砖引玉,有兴趣的同志一起讨论研究吧! 以下内容引自博客:http://jiwenke-spring.blogspot.com/,欢迎指导:) 在Spring中,IOC容器的重要地位我们就不多说了,对于Spring的使用者而言,IOC容器实际上是什么呢?我们可以说BeanFactory就是我们看到的IoC容器

2016-04-07 09:55:15 601

webx3学习的demo,以及留言板的小例子

根据webx3的官方网站,www.openwebx.org,找到“创建一个webx应用”,按照上面说的流程,就可以创建一个webx的项目。具体流程这里就不说了,官网上已经写得很清楚了。

2016-04-14

java基于原生的MySql的JDBC分页组件

java基于原生的MySql的JDBC分页组件,我没有做jsp页面,我感觉那样很low,基本上可以套用我的分页组件,对于初学者帮助很大

2016-03-24

空空如也

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

TA关注的人

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