自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiajie的专栏

程序人生的精彩需要坚持不懈地积累!

  • 博客(33)
  • 资源 (11)
  • 收藏
  • 关注

原创 44543

package ProxyTest;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;/** * 1.引入PersonDaoImpl(代理的真实实现类)和Trascation * 2.完成Invoke方法 */public class MyInvocationHandler im

2016-01-31 22:31:00 934

原创 java排序算法(三):快排

要点快速排序是一种交换排序。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分:分割点左边都是比它小的数,右边都是比它大的数。然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。详细的图解往往比大堆的文字更有说明力,所以直接上图:

2016-01-30 21:43:59 666

原创 自己写MVC框架:(一)数据库连接池

一.连接池的结构设计二.数据库配置1.数据库配置文件config_db.properties文件放到src下,如下:driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/framwork?useUnicode=true&characterEncoding=UTF-8username=rootpasswo

2016-01-30 14:01:11 2371

原创 MySql优化--使用索引优化

1.索引优化的原理  在没有使用索引的时候,数据库系统会根据要查找的值到数据表中一个个挨着找,只到最后一个  例如:找empno=4,在无索引时从,emp表中的empno=1开始一行一行往下面找,只到empno=4(注意:找到4后,还会继续往下查找,只到所有的都查找完,因为不能保                  证,只有一个empno=4,所以要把全部的记录都检索完)  

2016-01-29 15:58:51 522

原创 Mysql--存储引擎

数据库对同样的数据,有着不同的存储方式和管理方式。在Mysql中,称为存储引擎。对于用户来说同样一张表的数据,无论用什么引擎来存储,用户看到的数据都是一样的。单对于服务器来说,有区别。常用的表的引擎       Myisam:批量插入速度快,不支持事务,锁表       InnoDB:批量插入速度较慢,支持事务,锁行

2016-01-28 21:02:31 524

原创 MySql中的事务

MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务、行级锁、并发3.Berkeley DB:支持事务  一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行。换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的。如果在事务的任何操作失败,

2016-01-28 20:10:36 408

原创 java排序算法(二):直接选择排序

java排序算法(二):直接选择排序一、基本概念首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置(注:要把最大最小的元素和起始的元素交换),然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。  二、算法特点是否稳定:  false平均时间复杂度:O(n^2)最差

2016-01-28 16:12:54 552

原创 java排序算法(一):堆排序

Java排序算法(三):堆排序     堆排序(Heapsort)是指利用 堆 这种数据结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。     堆排序是不稳定的排序方法,辅助空间为O(1), 最坏时间复杂度为O(nlog2n) ,堆排序的堆序的平均性能较接近于最坏性能。

2016-01-28 11:09:21 561

原创 Mysql数据库优化---2.慢查询(一)

1.SQL优化的一般步骤   通过show status命令了解各种SQL的执行频率。   定位执行效率较低的SQL语句(重点select)   通过explain分析低效率的SQL语句的执行情况   确定问题并采取相应的优化措施问题是: 如何从一个大项目中,迅速的定位执行速度慢的语句? (定位慢查询)                 首先要找到哪些查询是慢查询2.

2016-01-27 14:32:56 786

原创 Mysql自定义函数

1.自定义函数的要素:函数名参数列表函数体返回值2.语法定义:   Create function  函数名(参数列表) 返回类型   函数体  注:这里的返回类型必须要是mysql的类型,varchar() int 等等例子: delimiter $$create function say() returns varchar(200)beginret

2016-01-27 10:32:56 584

原创 (Slor)java对solr的基本操作

package cn.solr;import java.io.IOException;import org.apache.solr.client.solrj.SolrQuery;import org.apache.solr.client.solrj.SolrServerException;import org.apache.solr.client.solrj.SolrQuery.ORD

2016-01-26 14:01:56 6131 1

原创 Mysql数据库优化---1.可以优化的地方

Mysql数据库的优化技术对mysql优化是一个综合性的技术,主要包括: 1.表的设计合理化(符合3NF)2. 添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引]3.分表技术(水平分割、垂直分割)4.读写[写: update/delete/add]分离5. 存储过程 [模块化编程,可以提高速度]6.对mysql配置优化 [配置

2016-01-21 23:07:14 595

原创 Redis集群

1.1. 集群原理1.1.1. redis-cluster架构图 架构细节:(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可(4)redi

2016-01-11 23:11:25 695

原创 Reids集群的分片机制

Redis 集群的数据分片Redis 集群没有使用一致性hash, 而是引入了哈希槽的概念.   Redis 集群有16384(这个大小不能改变)个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽(Slot).集群的每个节点负责一部分hash槽,举个例子,比如当前集群有3个节点,那么:节点 A 包含 0 到 5500号哈希槽.节点 B 包含55

2016-01-11 22:52:07 2693

原创 (Java基础--反射)框架的概念及用反射技术开发框架的原理

框架的概念及用反射技术开发框架的原理一、概述1、框架:通过反射调用Java类的一种方式。        (框架与房子非常类似,使用的用户写的程序写配置文件,就相当于给房子装修)        如房地产商造房子用户住,门窗和空调等等内部都是由用户自己安装,房子就是框架,用户需使用此框架,安好门窗等放入到房地产商提供的框架中。        框架和工具类

2016-01-10 21:06:52 2238

原创 Tomcat启动分析

tomcat在启动时的重点功能如下:初始化类加载器:主要初始化CommonLoader、CatalinaLoader以及SharedLoader;解析配置文件:使用Digester组件解析Tomcat的server.xml,初始化各个组件(包含各个web应用,解析对应的web.xml进行初始化);初始化连接器:初始化声明的Connector,以指定的协议打开

2016-01-09 22:46:37 621

原创 eclipse中运行tomcat7源代码

1. 到http://archive.apache.org/dist/tomcat/tomcat-7下载Tomcat源代码,本文用到的是apache-tomcat-7.0.19-src.zip;2. 在Eclipse中新建Java Project,取名为Tomcat7(可随意);3. 把源码中的所有文件import到新建的项目;4. 把conf、java、test三个文件夹

2016-01-08 15:17:05 1216

原创 (Java基础--反射)构造方法的反射应用

Constructor类反射1、概述        如果指定的类中没有空参数的构造函数,或者要创建的类对象需要通过指定的构造函数进行初始化。这时怎么办呢?这时就不能使用Class类中的newInstance方法了。既然要通过指定的构造函数进行对象的初始化。就必须先获取这个构造函数——Constructor。Constructor代表某个类的构造方法。2、获取构造方法:

2016-01-06 16:21:47 727

原创 (Java基础--反射)理解反射的概念

反射就是把Java类中的各种成分映射成相应的java类。例如,一个Java类中用一个Class类的对象来表示,一个类中的组成部分:成员变量,方法,构造方法,包等等信息也用一个个的Java类来表示,就像汽车是一个类,汽车中的发动机,变速箱等等也是一个个的类。        表示java类的Class类显然要提供一系列的方法,来获得其中的变量,方法,构造方法,修饰符,包等信息,这些信息就是用相应类

2016-01-06 16:13:27 546

原创 (Java基础--反射)透彻分析反射的基础--Class类

1、所有的类文件都有共同属性,所以可以向上抽取,把这些共性内容封装成一个类,这个类就叫Class(描述字节码文件的对象)。         Class类中就包含属性有field(字段)、method(方法)、construction(构造函数)(注:这是所有的类的结构中都有的属性结构)。       而field中有修饰符、类型、变量名等复杂的描述内容,因此也可以将字段封装

2016-01-06 15:56:56 557

原创 冒泡排序算法

冒泡排序是一种交换排序。什么是交换排序呢?交换排序:两两比较待排序的关键字,并交换不满足次序要求的那对数,直到整个表都满足次序要求为止。 算法思想它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故

2016-01-05 09:22:19 568

原创 设计模式--职责链模式观察者模式

\以汽车组装为例子来说明package responsibility;/** * 定义的汽车生产处理的抽象类 * Title: CarHandler * Description: * Company: * @author 夏 杰 * @date 2016年1月4日下午7:44:53 * @version 1.0 */public abstrac

2016-01-04 20:43:16 1116

原创 Tomcat中的设计模式--责任链模式

责任链模式Tomcat 中一个最容易发现的设计模式就是责任链模式,这个设计模式也是 Tomcat 中 Container 设计的基础,整个容器的就是通过一个链连接在一起,这个链一直将请求正确的传递给最终处理请求的那个 Servlet。责任链模式的原理责任链模式,就是很多对象有每个对象对其下家的引用而连接起来形成一条链,请求在这条链上传递,直到链上的某个对象处理此请求,或者每

2016-01-04 18:29:32 2155 1

原创 Tomcat中的设计模式--命令模式

命令设计模式      前面把 Tomcat 中两个核心组件 Connector 和 Container,比作一对夫妻。男的将接受过来的请求以命令的方式交给女主人。对应到 Connector 和 Container,Connector 也是通过命令模式调用 Container 的。命令模式的原理      命令模式主要作用就是封装命令,把发出命令的责任和执行命令的责任分开。

2016-01-04 17:15:08 1195

原创 Tomcat中的设计模式--观察者模式

观察者设计模式         这种设计模式也是常用的设计方法通常也叫发布 - 订阅模式,也就是事件监听机制,通常在某个事件发生的前后会触发一些操作。观察者模式的原理          观察者模式原理也很简单,就是你在做事的时候旁边总有一个人在盯着你,当你做的事情是它感兴趣的时候,它就会跟着做另外一些事情。但是盯着你的人必须要到你那去登记,不然你无法通知它。观察者模式通常包

2016-01-04 16:46:09 887

原创 设计模式--观察者模式

例子:以订阅博客发布为例子package ObverserBlog;/** * 封装的文章对象 * Title: Article * Description: * Company: * @author 夏 杰 * @date 2016年1月4日下午3:36:07 * @version 1.0 */public class Article { private Stri

2016-01-04 16:23:31 582

原创 Tomcat中的设计模式--外观模式(门店模式)

门面设计模式门面设计模式在 Tomcat 中有多处使用,在 Request 和 Response 对象封装中、Standard Wrapper 到 ServletConfig 封装中、ApplicationContext 到 ServletContext 封装中等都用到了这种设计模式。门面设计模式的原理这么多场合都用到了这种设计模式,那这种设计模式究竟能有什么作用呢?顾名思

2016-01-03 20:52:57 1781

原创 (数据结构)排序--直接插入排序

要点直接插入排序是一种最简单的插入排序。插入排序:每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,知道全部插入完成。 在讲解直接插入排序之前,先让我们脑补一下我们打牌的过程。先拿一张5在手里,再摸到一张2,比5小,插到5前面,摸到一张6,嗯,比5大,插到5后面,摸到一张3,插到2和5之间,

2016-01-03 19:45:36 652

原创 Tomcat源码分析(一)--总体结构

1.总览Tomcat总体结构图:    Tomcat主要有两个组件:连接器(Connector)和容器(Container)    1.所谓连接器(Connector)就是一个http请求过来了,连接器负责接收这个请求,然后转发给容器。Connector组件是可以被替换的,这样可以给服务器             设计者提供更多的选择,这个组件非常的重要,不仅和服务器本

2016-01-03 17:53:46 1132

原创 (java多线程并发)concurrent包的实现

concurrent包的实现

2016-01-02 21:51:37 666

原创 (java并发)CAS操作原理以及Atomic的原理

CAS操作可以分为以下三个步骤:   步骤 1.读旧值(即从系统内存中读取所要使用的变量的值,例如:读取变量i的值)   步骤2.求新值(即对从内存中读取的值进行操作,但是操作后不修改内存中变量的值,例如:i=i+1,这一步只进行                   i+1,没有赋值,不对内存中的i进行修改)   步骤3.两个不可分割的原子操作第一步:比较内存中变量现在的值与 最开

2016-01-02 21:47:20 1658

原创 (java多线程并发)控制并发线程数的Semaphore

1.简介   信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。2.概念    Semaphore分为单值和多值两种,前者只能被一个线程获得,后者可以被若干个线程获得。以一个停车场运作为例。为了简单起见,假设停车场只有三个车位,一开始三个车位都是空的。这时如果同时来了五辆车,看门人

2016-01-02 15:58:49 10116 1

原创 (java多线程与并发)java并发库中的阻塞队列--BlockingQueue

1.阻塞队列的概念     阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得空闲起来,如从队列中移除一个或者多个元素,或者完全清空队列,下图展

2016-01-02 13:52:13 1280

CronExpBuilder-1.0(触发器表达式生成器)

Quartz的corn表达式生成器,Quartz的corn表达式生成器

2017-09-28

运行tomcat源码所要添加的jar包

运行tomcat源码所要添加的jar包,导入到下载的tomcat项目中

2016-01-08

redis入门指南第二版pdf

redis入门指南第二版pdf 非常的清晰 非常适合入门者

2015-12-15

springmvc+spring+mybaits 整合jar包(绝对可用)

springmvc+spring+mybaits

2015-04-27

java培训知识-递归

java培训知识-递归,详细描述了,递归算法。

2013-08-28

手机安全卫士工程源代码

android手机安全卫士工程源代码,导入即可运行,高仿金山手机安全卫士。

2013-08-28

系统架构设计师通过几点总结

2011系统架构设计师通过几点总结,个人经验总结,希望可以帮到大家。

2013-08-28

extjs个人理财系统完整项目代码

extjs个人理财系统完整项目代码,调试无误,可以导入直接运行。

2013-08-28

加密文件工具

宏杰加密文件,可用来加密文件,可以加密文件夹,也可以加密文件和磁盘。

2013-08-28

FCKEditor所需要的jar包集合

项目中整合fckeditor,所需要的jar包

2013-08-28

FCKEditor编辑器

不错的编辑器,我自己也用过了,没有错误。

2013-08-28

空空如也

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

TA关注的人

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