自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

田有朋的专栏

技术之路最公平也最残酷的原因是:没有捷径,需要日积月累的积累,以及对技术持久的热情。

  • 博客(48)
  • 资源 (8)
  • 收藏
  • 关注

原创 AOP的底层实现-CGLIB动态代理和JDK动态代理

详细介绍了AOP的核心功能(拦截功能)在底层是如何实现的;介绍了两种实现AOP的动态代理:jdk动态代理和cglib动态代理,并详细描述了它们在代码层面的实现。

2013-10-20 19:53:52 41750 11

原创 一个简单的NoSQL内存数据库—Berkeley DB基本操作的例子

最近,由于云计算的发展,数据库技术也从结构式数据库发展到NoSQL数据库,存储模式从结构化的关系存储到现在如火如荼的key/value存储。其中Berkeley DB就是上述过程中的一个比较有代表性的内存数据库产品,数据库的操作是通过程序来实现的,而不是SQL语句。特别是当今数据不断动态增加的过程中,试图通过数据切割来达到扩充的思路已经行不通了,因为事先不知道客户数据格式,因此服务提供商不可能进行数据切割。而无模式的key/value存储就可以解决这种扩充带来的可扩展性问题,因为key/value的存储模式

2013-10-14 15:56:36 4474

原创 用javap命令反编译来分析字符串问题

编写Test.java,编译完后生成Test.class文件,然后对该文件执行javap -c Test命令,生成字节码指令,阅读并得出结论一、s1和s2指向常量池的不同常量①java代码public class Test {    public static void main(String[] args) throws IOException {        

2014-05-22 09:07:42 2156 1

原创 MySQL的一些配置问题

在使用MySQL时候,常常会遇到一些奇葩的问题,简单梳理一下1、服务器端搭建MySQL服务器不允许远程连接第一步:服务器端在防火墙中开启MySQL3306端口,在cmd中输入下面命令:netsh firewall add portopening protocol = TCP port = 3306 name = "Open3306" mode =Enable这样在防火墙的入站规

2014-03-27 20:53:21 1190

原创 C++基础总结

c++基础知识的总结,包含简要代码

2013-11-21 09:26:11 3176 10

原创 让我们来破坏单例模式

通常情况下单例模式只能生成唯一的对象,但是有些情况可以破坏单例模式,一起学习一下吧

2013-11-14 13:31:06 2886

原创 hibernate缓存

Hibernate是一个持久层框架,经常访问物理数据库,为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻,会同步缓存和物理数据源中的数据。一、Hibernate的一级缓存和二级缓存1、一级缓存的管理Hibernate一级缓存又称为“Session的缓存”,它是内置的,不能被卸载(不

2013-11-06 20:23:16 1075

转载 Google云计算三大核心技术之HBase

HBase简介HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapRe

2013-10-21 20:17:28 2345

原创 写代码简单比较init-method,afterPropertiesSet和BeanPostProcessor

比较init-method,afterPropertiesSet和BeanPostProcessor之间的区别,代码实现各种相关的功能。

2013-10-21 16:00:23 17686

原创 一致性哈希算法 - Consistent Hashing

本文详细介绍了一致性哈希算法(consistent hashing),是目前学习NoSQL数据库和云计算等知识所必须掌握的一个算法。第一部分介绍了consistent hashing算法的定义,与普通hash算法的比较,consistent hashing算法单调性和平衡性的优点,详细的实现原理和步骤;第二部分构建了一个md5压缩算法实现的散列函数,并在此基础之上,实现了一个一致性哈希算法。

2013-10-15 21:49:03 3686

原创 教你编写简单的网络爬虫

本文介绍了基本的网络爬虫知识,并在这个基础上,编写了一个简单的用网络爬虫对网页进行爬取的实例。

2013-10-11 10:44:43 3639 6

原创 排序算法总结

本文总结了基本的排序算法,包括选择排序,插入排序,冒泡排序,快速排序,堆排序,归并排序等基于比较的算法,以及,计数排序和基数排序这两种非基于比较的算法。前六种排序算法是基于比较算法,时间复杂度的下界为o(nlgn),后两种不是基于比较的排序算法,时间复杂度为线性o(n)。

2013-10-06 18:31:05 1205

原创 C语言中基础小问题总结

C语言中基础的问题,基础知识,容易忽略和记忆混淆的问题的总结。

2013-09-28 16:42:18 1647

原创 MySQL中关于日期、时间的数据类型和函数

一、日期相关的数据类型1、datetime占用8字节,既显示了日期,又显示了时间。其表示的日期范围为“1000-01-01 00:00:00”到“9999-12-31 23:59:59”2、date占用3个字节,可显示的日期范围“1000-01-01”到“9999-12-31”3、timestamp和datetime显示结果一样,都是固定的“YYYY-MM-DD 00:00

2013-09-15 16:47:32 1793

原创 深入研究java中的静态代理和动态代理

java中自带jdk中可以实现动态代理,动态代理与静态代理的区别是什么,动态代理怎么来用,它内部的实现机制是怎么样的,本文做了详细的描述

2013-09-07 17:06:32 1133

原创 类加载器的加载机制

加载阶段中的“通过一个类的全限定名来获取此类的二进制字节流”这个动作放到jvm外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模版被称为“类加载器”。双亲委派模型站在jvm角度讲,只有两种类加载器:一种是启动类加载器(Bootstrap ClassLoader),这个类加载器是由C++实现的,是jvm的一部分。另一种就是其他所有的类加载器,这些由java语言实现,

2013-09-06 20:31:31 1323

原创 利用Perf4j 对java项目进行性能监控

Perf4j 可以对自定义监控范围的java代码进行日志记录,再经统计分析生成所需性能数据。Perf4j 提供了对常用日志工具log4j的扩展以方便与产品集成,它产生的性能数据可被用于生成可视化的性能图表。Perf4j是一款专门用于java服务器端代码计时,记录日志和监控结果的开源工具包。Per4j对常用日志工具包进行了扩展,能够将得到的原始性能数据进行统计并发布到可定制的输出源,如控制台、日志文件、JMX等。本文主要面向JAVA EE项目,来说明Perf4j集成log4j来进行性能的的分析。

2013-09-06 20:05:34 6266 2

转载 数据库范式(normalization)

1、第一范式:1NF(First Normal Form)取消表中套表的现象。以下表中套表,不符合1NF,不符合关系数据库。nametelage大宝1361234567822小明13988776655010-123456721

2013-08-28 22:11:30 18615 1

原创 java多线程总结

java多线程的基础知识,以及一些重要的知识的总结。都配有代码,易于自己去测试。

2013-08-28 19:32:03 1616 1

原创 利用xstream进行java对象和xml之间的互相转化

利用xstream可以方便的进行java对象和xml之间互相转化。代码如下1、java对象import com.thoughtworks.xstream.annotations.XStreamAlias;@XStreamAlias("PERSON")public class Person { @XStreamAlias("name") String name; @XStream

2013-08-03 21:26:55 2086

原创 Spring实现文件上传

在实际开发中,经常遇到要实现文件上传到服务器端的功能。Spring可以继承commons-fileupload插件来实现文件上传的功能。分为前端JSP编写和后台Controller的编写。直接上代码:1、前端JSP编写upload.jsp 2、后台UploadController编写package nju.softw

2013-07-27 16:32:42 2350 3

原创 command设计模式和回调机制

总结command设计模式和回调机制,说明这两者之间的联系,并且用command模式来实现回调机制。command设计模式是回调机制的一个面向对象的替代品。一、首先介绍回调机制二、command设计模式三、command模式如何替代回调机制

2013-07-16 19:06:54 2432 1

原创 java中上传图片,加载上传的图片到页面

在java中实现图片的上传,并且显示图片到页面的功能分为以下几步:1、上传图片代码(此处是读取图片,转换为流,写入数据库中保存) FileInputStream fis = new FileInputStream("d:/test/2.jpg"); //此处是mysql数据库驱动 Class.forName("com.mysql.jdbc.Driver"); String u

2013-07-11 17:11:31 4093

转载 微软等公司算法+数据结构面试100题

微软、百度等公司100题系列。1.把二元查找树转变成排序的双向链表(树) 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。   10  / /  6  14 / / / /4  8 12 16 转换成双向链表4=6=8=10=12=14=16。  首先我们定义的二元查找

2013-06-30 16:44:09 2148

原创 hibernate操作数据库总结

这篇文章用于总结hibernate操作数据库的各种方法一、query方式1、hibernate使用原生态的sql语句执行数据库查询有些时候有些开发人员总觉得用hql语句不踏实,程序出现了错误,就猜测因为不是原生态的sql语句,数据库不支持,因此情愿选择回到jdbc时代。这样既耗时耗力,又破坏面向对象的编程。其实,hibernate已经考虑到这个问题,hibernate可以执行原生态的s

2013-06-29 15:07:22 2604

原创 SQL语句整理

在开发中,常常会遇到操作数据库的情况,但有时候会偶尔想不起标准的SQL语句怎么写,虽然网上查一下都能找到,但是毕竟心里不爽,而且还会影响开发效率,因此,写篇博文整理下常用的基本的SQL语句,加强记忆。1、SELECT(基本查询语句)SELECT DISTINCT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber D

2013-06-27 21:23:50 1813 2

原创 iText操作word文档总结

操作word文档的工具有很多,除了iText之外还有POI,但是POI擅长的功能是操作excel,虽然也可以操作word,但是能力有限,而且还有很多的bug,技术并不成熟,下面就重点介绍一种操作word文档的简单有效的技术iText,代码如下,各种操作都已经注释。package com.itext;import java.awt.Color;import java.io.FileOutpu

2013-06-27 16:01:02 6138 2

原创 hibernate操作数据库的执行步骤

先举个hibernate执行SQL的例子:public boolean addUser(UserDO userDO) { boolean b = false; if (userDO != null) { try { getHibernateTemplate().save(userDO); b = true; } catch (Exception e) { b

2013-06-21 13:58:04 4124

原创 Java内存管理的技巧

掌握Java的内存回收、垃圾回收机制是为了更好地管理Java虚拟机内存,这样能够好的提高Java程序的运行效率。下面总结几个内存管理的小技巧,希望时刻提醒自己的编程习惯。1、避免在经常调用的方法、循环中创建Java对象先看下面代码:public class test2 { public static void main(String[] args) { List list1

2013-06-20 13:14:00 1025

原创 spring+hibernate自动生成数据库表结构

现在越来越多的java项目采用java EE开发,spring+hibernate+stuts或者spring+hibernate+jsp的模式越来越常见,于是,更多的是spring来整合和管理hibernate,而不是hibernate独立配置。在项目开发过程中,很多童鞋可能都会经常遇到进行项目移植的情况。这样数据库移植的问题就成了一个令人头疼的问题。也许你说可以从数据库导出表结构,然后再建立新

2013-06-19 18:26:39 5510

原创 Spring的sessionFactory配置详解

一句话,Spring对Hibernate的整合,是在applicationContext.xml中配置sessionFactory来实现的,其中sessionFactory中要装配dataSource。即需要配置两个主要的Bean:sessionFactory和dataSource。其中dataSource的配置在http://blog.csdn.net/dreamrealised/article

2013-06-19 14:28:43 10735 1

原创 Spring的datasource配置详解

一句话,Spring对Hibernate的整合,是在applicationContext.xml中配置sessionFactory来实现的,其中sessionFactory中要装配dataSource。下面就详细介绍dataSource Bean的配置。先上代码(比较齐全的属性)<bean id="dataSource" class="org.apache.commons.dbcp.B

2013-06-19 13:21:45 14539 1

原创 数据库连接池

1.连接池简介    数据库连接是一种关键的有限的昂贵的资源,建立一个数据库连接需要消耗大量系统资源,频繁的创建数据库连接会大大的削弱应用性能,因此考虑到性能的问题,并不是每个用户都创建并独占一个数据库连接,数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。这项技术能明显提高对数据库操作的性能。2.重要定义    数据库连接池在

2013-06-19 12:46:01 2964

原创 Java web项目中web.xml的配置

在java的web项目中,我们都能发现一个web.xml文档,但是这个文档并不是必须的,web.xml的主要功能是用来初始化项目工程的配置信息,比如说welcome页面,filter,servlet等,当你的web工程中没用到这些当然也就不需要这个xml文件来配置你的apllication。下面简单介绍web.xml的几个功能的配置和作用:1.context-param容器启动后创建一

2013-06-18 19:11:47 3956

原创 Spring的配置文档applicationContext.xml

进行java EE开发最常用的就是Spring,Spring是一种轻量级的java开发框架,是一种javaEE的容器管理工具,Spring的核心就是IoC容器,Spring利用IoC容器来注册bean,对bean的管理能够实现java对象之间的依赖关系,从而成为完成其他复杂任务的基础。Spring建立在IoC容器核心功能之上的其他重要功能有:AOP(面向切面编程),事务管理,springMVC

2013-06-18 19:11:45 15683 4

原创 maven搭建web工程的步骤

搭建一个新的webproject的整体思路:先用maven搭建项目的骨架,生成mvnproject,然后将mvnproject转换为webproject,最后添加相关的Spring,hibernate,dispatcher等配置文档.本文以Daemon工程的建立为例来说明整个流程。一、介绍用maven搭建项目的骨架主要分为下面两种方法。(如果内网建议用第二种方法)第一种方法:使

2013-06-18 19:11:43 1829

原创 如何同时获取Map的构成对应关系的key和value

关于Map,我们都知道,它的作用主要是用来建立一种key和value的对应关系。因此,我们最经常的做法是在知道key的时候获取该key对应的value值。我们都知道,根据key得到value值很好获取。单独获取keySet(CollectionkeySet = map.keySet();)和valueSet也很好获得(Collection valueSet =map.values();)。但是,有

2013-06-18 19:11:41 1967

原创 hibernate.dialect

在写jdbc.propertier的时候会遇到配置hibernate.dialect属性。总结下不同数据库的该属性的值如下表。其中属性值得格式:{hibernatejar的全名}.dialaect.{对应数据库}DialectHibernateSQL方言 (hibernate.dialect)RDBMS方言DB2o

2013-06-18 19:11:38 3030

原创 POI导出Excel文件以及读取Excel文件

POI的结构:HSSF - 提供读写MicrosoftExcel格式档案的功能。XSSF - 提供读写Microsoft ExcelOOXML格式档案的功能。HWPF - 提供读写MicrosoftWord格式档案的功能。HSLF - 提供读写MicrosoftPowerPoint格式档案的功能。HDGF - 提供读写MicrosoftVisio格式档案的功能。下面简要说H

2013-06-18 19:11:36 1134

原创 深入理解hibernate中持久化和序列化

虽然平时经常用hibernate的持久化类DO,但是仅限于随手逆向工程生成相应数据库表的持久化类,然后拿来用,根本就没有深入的去了解hibernate的持久化和类的序列化的具体用法原理。闲来没事查查资料,再结合在实际应用中的体会,感觉有必要写一写。一、什么是序列化对象的寿命通常随着生成该对象的程序的终止而终止。有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复。我们把对象的这种能记

2013-06-18 19:11:33 3371

AOP的实现代码

详细介绍了AOP的核心功能(拦截功能)在底层是如何实现的;介绍了两种实现AOP的动态代理:jdk动态代理和cglib动态代理,并详细描述了它们在代码层面的实现。附有必须的cglib.jar和asm.jar

2013-10-20

java程序员面试宝典

java程序员面试宝典,高清pdf版,面试很有用的,各种题型,技术hr的各类问题总结,希望对你有所帮助

2013-06-03

maven实战教程

本书它内容全面,以从专家的角度阐释Maven的价值开篇,全面介绍了Maven的安装、配置和基本使用方法,以便于初学者参考;详细讲解了坐标和依赖、Maven仓库、生命周期和插件、聚合与继承等Maven的核心概念,建议所有读者仔细阅读;系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识

2013-04-14

sping学习pdf

详细的介绍spring的IOC,AOP,DAO,ORM等,内容详实,适合自己学习,可以很好的掌握spring的基础知识

2013-04-13

自动组卷系统

实现了试卷的自动生成,根据不同的组卷策略,利用遗传算法,自动生成试卷

2013-03-10

在线考试系统源代码

实现了在线考试的完整功能,包括教师自动组卷,学生在线考试,以及在线阅卷等功能

2013-03-10

C#网络书店后台管理数据库软件 源代码

C#网络书店后台管理数据库软件 源代码 实现了动态刷新库存,自动产生的订货提醒,实现了管理员控制,实现了自动发送订货邮件,查看各种信息

2011-07-09

空空如也

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

TA关注的人

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