自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(521)
  • 问答 (5)
  • 收藏
  • 关注

原创 java阻塞队列学习(转帖)

import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors; /** ...

2012-03-25 14:46:24 82

原创 Hibernate泛型DAO(结合spring模板支持)

详细介绍 Hibernate 泛型 DAO 及其使用方法编写Spring+Hibernate框架下的应用,总是离不了编写一个通用的泛型GenericHibernateDao。查阅了网上不少的GenericHibernateDao实现,归纳整理为如下实现,供后续编码参考。首先定义接口泛型DAO接口 GenericDaopackage com.th.huz;import j...

2012-03-20 23:26:43 94

原创 C99标准中的 main()函数

一、main()函数的形式 在最新的 C99 标准中,只有以下两种定义方式是正确的: int main( void )--无参数形式 { ... return 0; } int main( int argc, char *argv[] )--带参数...

2012-03-13 23:09:16 864

原创 Java Hash算法

HashMap使用Hash算法,所以在解剖HashMap之间,需要先简单的了解Hash算法,Hash算法一般也成为散列算法,通过散列算法将任意的值转化成固定的长度输出,该输出就是散列值,这是一种压缩映射,也就是,散列值的空间远远小于输入的值空间。简单的说,hash算法的意义在于提供了一种快速存取数据的方法,它用一种算法建立键值与真实值之间的对应关系,(每一个真实值只能有一个键值,但是一个键...

2012-03-13 21:13:28 217

原创 java中,映射的散列码

散列码就是通过一种不可逆的散列(Hash)算法,对一个数据进行计算,获得一个“唯一”的值。这个值可以对这个数据进行标识,在查找数据的时候,可以通过这个值来快速定位数据,从而有效减少开销。由于散列长度是有限和固定的,因此在数据极多的情况下散列值会出现重复,用术语讲就是“碰撞”。这个时候就需要其它方法来消除这种碰撞,比如再散列、拉链算法等。举个例子,设计一个散列算法,这个算法是把比划数相加...

2012-03-13 20:55:31 148

原创 MYSQL中 ENUM 类型的详细解释

ENUM 类型 ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举。在下列某些情况下,值也可以是空串("") 或 NULL:如果将一个无效值插入一个 ENUM (即,一个不在允许值列表中的字符串),空字符串将作为一个特殊的错误值被插入。事实上,这个字符串有别于一个"普通的"空字符串,因为这个字符串有个数字索引值为 0。稍后有更详...

2012-03-12 23:30:50 1493

原创 Mysql 字段数据类型/长度及表类型详细说明

一、MySQL 字段数据类型/长度1、数值类型列类型 需要的存储量 TINYINT 1 字节 SMALLINT 2 个字节 MEDIUMINT 3 个字节 INT 4 个字节 INTEGER 4 个...

2012-03-12 23:20:27 705

原创 Java Enum类型定义的方法(二)

package com.abin.info.service;public interface TeamService { public static enum TeamType { TeamName("NameOfTeam"), TeamNumber("NumberOfTeam"), TeamArea( "AreaOfTeam"), TeamTrue("TrueOf...

2012-03-12 18:13:23 127

原创 Java Enum类型定义的方法

//枚举接口package com.abin.info.service;public interface UserService { public static enum UserType{ Basic("基本信息"), UserName("用户姓名"), UserAge("用户年龄"), UserSex("用户性别"); private ...

2012-03-12 12:34:55 533

原创 Java的ThreadPoolExecutor使用几点建议

背景前段时间一个项目中因为涉及大量的线程开发,把jdk cocurrent的代码重新再过了一遍。这篇文章中主要是记录一下学习ThreadPoolExecutor过程中容易被人忽略的点,Doug Lea的整个类设计还是非常nice的 正文先看一副图,描述了ThreadPoolExecutor的工作机制: 整个ThreadPoolExecutor的任务...

2012-03-12 11:04:49 201

原创 hibernate一级缓存和二级缓存的区别

缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。  缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访...

2012-03-11 21:53:17 64

原创 MongoDB管理工具

MongoDB管理工具:http://www.mongodb.org/display/DOCS/Admin+UIs

2012-03-11 18:50:44 91

原创 Hibernate延迟加载机制

延迟加载: 延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。下面我们就分别介绍这些种类的延迟加载的细节。A、实体对象的延迟加载:如果想对实体对象使用延迟加载,必须要在实体的映射配置...

2012-03-11 15:07:06 72

原创 5个最常问的几个Hibernate面试问题

不是吧 你这个是list和iterate的不同吧在hibernate中,如果使用了延迟加载(比如常见的load方法),那么除访问主键以外的其它属性时, 就会去访问数据库(假设不考虑hibernate的一级缓存),此时session是不允许被关闭。 5个最常问的几个Hibernate面试问题,不一定你都能回答: 1.实体对象在Hibernate中如何进行状态迁移...

2012-03-11 14:45:29 178

原创 spring事务的传播行为与隔离级别

spring事务的传播行为是面试中经常被问到的问题,要将事务的传播行为与隔离级别熟练的掌握,在实际开发过程中,特别是在并发高、更新数据量大、关系表比较多的情况下,经常会遇到关于事务的问题。 首先,要了解的是什么是数据库的隔离级别。在一个典型的应用中,并发是不可避免的,多个事务并发运行,操作同一个数据来完成任务。并发可能会导致以下问题: 脏读(Dirty read):脏读发生在一个事务读取了...

2012-03-07 13:41:49 71

原创 Spring中事务传播行为种类

 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播:  PROPAGATION_REQUIRED  如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。  PROPAGATION_SUPPORTS  支持当前事务,如果当前没...

2012-03-07 13:29:45 74

原创 WebService的两种方式SOAP和REST比较 (转)

我的读后感:由于第一次接触WebService,对于很多概念不太理解,尤其是看到各个OpenAPI的不同提供方式时,更加疑惑。如google map api采用了AJAX方式,通过javascript提供API,而淘宝TOP则采用直接的HTTP+XML请求方式,最令我疑惑的是教材上讲的WSDL,UDDI从没有在这些API中出现过。现在知道了WebService原来有两种方式,一是SOAP协议方式,...

2012-03-07 12:27:44 1266

原创 几种通讯协议的比较RMI > Httpinvoker >= Hessian >> Burlap >> web service

一、综述本文比较了RMI,Hessian,Burlap,Httpinvoker,web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能。RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可...

2012-03-07 12:26:07 139

原创 ICE下载地址:

ICE下载地址:http://www.zeroc.com/download/Ice/

2012-03-07 11:08:21 457

原创 MySQL中的datetime与timestamp比较

相同 显示TIMESTAMP列的显示格式与DATETIME列相同。换句话说,显示宽度固定在19字符,并且格式为YYYY-MM-DD HH:MM:SS。 不同范围datetime 以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值。支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'TIM...

2012-03-04 19:30:00 91

原创 spring 事务代理创建及简化事务配置

一.使用TransactionProxyFactoryBean创建事务代理(通常事务代理以Service层为目标bean) //配置hibernate的事务管理器,使用HibernateTransactionManager类,该类实现了PlatformTransactionManager接口,针对hibernate 持久化连接的特定实现 //配置pe...

2012-03-04 16:37:13 115

原创 Spring 加载配置文件的几种方式

第一种: //获得spring资源,加载配置文件 Resource resource = new ClassPathResource("applicationContext.xml"); //获得spring的容器实例,BeanFactory这是一个抽象的接口 BeanFactory factory = new XmlBeanFactory(reso...

2012-03-02 13:28:16 269

原创 使用Spring进行面向切面(AOP)编程

1.aop理论知识横切性关注点:对哪些方法拦截,拦截后怎么处理,这些关注就称之为横切性关注点.Aspect(切面):指横切性关注点的抽象即为切面,它与类相似,只是两者的关注点不一样,类是对物体特征的抽象,而切面是横切性关注点的抽象。Joinpoint(连接点):所谓连接点是指那些被拦截到的点。在Spring中,这些点指的是方法,因为Spring只支持方法类型的连接点,实际上joinpo...

2012-02-22 10:35:00 86

原创 BASE64、MD5、SHA、HMAC几种加密算法

BASE64编码算法不算是真正的加密算法。 MD5、SHA、HMAC这三种加密算法,可谓是非可逆加密,就是不可解密的加密方法,我们称之为单向加密算法。我们通常只把他们作为加密的基础。单纯的以上三种的加密并不可靠。 BASE64 按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The ...

2012-02-21 12:53:52 135

原创 文本文件和二进制文件区别及java中字节流和字符流归纳

首先在物理上文本文件和二进制文件并没有区别,都是以二进制01的形式存放于存储介质中,他们的区别只是逻辑上的区别,这两种方式只是在编码层次上有差别。文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码)。对于读到的二进制流的解释方式可以分为按文本方式和按二进...

2012-02-17 15:48:12 203

原创 Java 字节流转化为文件

已知:byte[] bytes=new FileToBytes().TurnBytes();String btt=bytes.toString();上面是别人给的,转化为数组类型的二进制文件流。下面我要实现的是,把二进制码转化为文件存储到指定的目录,代码实现如下:public int TurnFile(String fileStream,String path) {...

2012-02-17 15:46:20 3171 2

原创 Java核心之Java内存分配原理

JAVA内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:   寄存器:我们在程序中无法控制  栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中  堆:存放用new产生的...

2012-02-17 13:40:16 67

原创 传智播客——JPA

首先,JPA不是ORM框架,而是SUN官方提出的JAVA持久化规范。JPA整合了现有的Hibernate、TopLink等ORM框架,具有易于使用、伸缩性强等优点。下面我们就来学习关于JPA的知识。1. JPA规范要求在类路径的META-INF目录下放置persistence.xml,文件的名称是固定的,配置模版可见hibernate-entitymanager开发包2. ...

2012-02-17 09:31:33 132

原创 Javamail 邮件回复

邮件的回复的代码很简单,在迭代邮件的信息的时候调用MimeMessage reply = (MimeMessage) messages[i].reply(Boolean ) TRUE 是邮件回复给发送者,FALSE恢复给所有人。如果要回复到新的收件人请使用SetReply-to。同时可以使用 reply.setSubject(“***”)设置回复的标题,不设置的话默认是Re: 加上接收到邮件...

2012-02-16 10:18:04 772

原创 JavaMail详解

一、JavaMail API简介JavaMail API是读取、撰写、发送电子信息的可选包。我们可用它来建立如Eudora、Foxmail、MS Outlook Express一般的邮件用户代理程序(Mail User Agent,简称MUA)。而不是像sendmail或者其它的邮件传输代理(Mail Transfer Agent,简称MTA)程序那样可以传送、递送、转发邮件。从另外一个角...

2012-02-15 16:37:38 156

原创 JavaMail之POP3协议判断新邮件的思路

本来准备长篇大论一番,写一些关于邮件、javaMail的基本知识,写了一些文字后才发现自己犯了个错误,因为对该题目感兴趣的人肯定已经熟知这些东西,没有必要我在这多费口舌。也就是说POP3无法判断某一封邮件是否已读,虽然JavaMail的某些类中也有这样的方法,但是这些方法只是在使用IMAP的时候有效,为了使JavaMail针对不同协议有统一的接口,因此它包容着不同协议的功能,是一套抽象的关于邮...

2012-02-15 16:03:04 700

原创 2月11日 百度某部门笔试题

简答题 1 spring ioc、aop 的原理 2 hibernate 延迟加载原理 3 事务隔离级别 什么情况下用低的或者用高的 4 事务传播方式哪几种 5 ajax 跨域如何实现 6 MQ是否应该保持顺序 保持是否的优劣 7 乐观锁与悲观锁,举例场景 8 cookie 与session 区别和联系,http 协议是无状态的,怎么区分不同登录用户 9 阐述o...

2012-02-12 19:20:33 83

原创 京东网面试题

1.说说值对象与引用对象的区别? 2.谈谈你对反射机制的理解及其用途? 3.ArrayList、Vector、LinkedList的区别及其优缺点?HashMap、HashTable的区别及其优缺点? 3.列出线程的实现方式?如何实现同步? 4.sql题,是一个图表,具体忘了 5.列出至少五种设计模式?用代码或UML类图描述其中两种设计模式的原理? 6.谈谈你最近正在研究的...

2012-02-10 13:12:29 260

原创 Servlet 上传文件流到Mysql

Mysql数据库建表语句:CREATE TABLE `photo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(100) NOT NULL, `image` blob NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCRE...

2012-02-08 10:04:19 167

原创 Servlet上传文件

准备工作:要到http://commons.apache.org/fileupload/download_fileupload.cgi下载上传文件需要的组件类库并且到http://commons.apache.org/io/download_io.cgi上下载其IO组件,再有了这两个组件之后我们就可以编写一个上传的Servlet程序了。1.建立一个jsp文件里面有文件域,能够提交给要处理数...

2012-02-08 00:01:55 70

原创 Tomcat6.0 JNDI数据源经典实例

mysql建表语句:CREATE TABLE `tomcat` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(100) DEFAULT NULL, `password` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB ...

2012-02-07 20:04:32 106

原创 osworkflow工作流技术研究1(原创)

目前本人正在研发一个基于JAVA技术的OA软件,功能很全,最核心的功能就算是工作流了。说到工作流,自然要想到工作流引擎,感觉自己开发一个,太耗时,因此,想到用网上的开源工作流引擎。搜索了许多工作流引擎,对我来说,感觉最好的还是osworkflow工作流引擎。 为何这样说呢?因为osworkflow是一种基于有限状态机的工作流引擎技术。个人感觉以状态+设定的规则自由灵活地引导工作...

2012-02-06 17:07:39 186

原创 osworkflow 学习笔记

OSWorkflow是opensymphony组织开发的一个工作流引擎,目前的版本是2.8。OSWorkflow用纯Java语言编写,并且开放源代码。它最大的特点就是极其的灵活。它面向的人群是具有技术背景的软件开发人员。OSWorkflow不提倡用可视化工具定义流程。用户可以根据自己的实际需求,来设计出完全符合自身业务逻辑的系统,而并不需要使用复杂的代码去实现。换句话说OSWorkflow让我们真...

2012-02-06 15:13:29 253

原创 用GDB调试程序(一)

用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: ...

2012-02-05 01:42:25 65

原创 EMACS C语言

创建C语言文件 C+x c+f输入要创建的文件名hello.c保存的时候输入c+x c+s运行查看的时候,输入alt+x shell

2012-02-05 01:10:05 100

空空如也

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

TA关注的人

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