自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

转载 hibernate的3种状态

<br />hibernate的3种状态<br />文章分类:Java编程 <br /><br /><br /><br />在Hibernate中有三种状态,对它的深入理解,才能更好的理解hibernate的运行机理,刚开始不太注意这些概念,后来发现它是重要的。对于理解hibernate,JVM和sql的关系有更好的理解。对于需要持久化的JAVA对象,在它的生命周期中有三种状态,而且互相转化。<br /><br />1, 临时状态(Transient):用new创建的对象,它没有持久化,没有处于Sessi

2010-11-21 14:19:00 799

转载 UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别

<br />这是一堂关于UML基础知识的补习课;现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了;本篇主要就以前自己一直感觉很迷糊的几种class之间的关系进行整理,让我们在真正用UML进行比如类图设计时能够更加清晰明了;以下就分别介绍这几种关系:继承<br />指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字ext

2010-11-17 19:23:00 803

转载 Http之Get/Post请求区别

Http之Get/Post请求区别 <br />1.HTTP请求格式: <br /><br /><request line> <br /><br /><headers> <br /><br /><blank line> <br /><br />[<request-body>] <br /><br />在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个

2010-10-18 14:56:00 832

转载 invokeLater和invokeAndWait

<br /><br />本人最近想写一个仿QQ,初学Swing对线程机制不太了解,所以在网上搜集了一些资料,结合自己的一些代码和想法,现将Swing线程机制以及invokeLater和invokeAndWait的学习所得分享给大家,文中不免有借鉴别人的“名言”,还请谅解。<br /><br /><br /><br /><br /><br /><br /><br /><br />Swing线程机制<br /> <br /> <br />首先swing是单线程的,这个是这篇文章的前提,也是意义所在,当swing

2010-08-31 17:49:00 6856 2

转载 SwingUtilities中invokeLater

<br />SwingUtilities中invokeLater文章分类:Java编程<br />      在Java中Swing是线程不安全的,是单线程的设计,这样的造成结果就是:只能从事件派发线程访问将要在屏幕上绘制的Swing组件。事件派发线程是调用paint和update等回调方法的线程,它还是事件监听器接口中定义的事件处理方法,例如,ActionListener中的actionPerformed方法在事件派发线程中调用。<br />       Swing是事件驱动的,所以在回调函数中更新可见的

2010-08-31 17:19:00 1410

转载 java.lang.Process调用程序阻塞问题解决

<br />这两天一直在处理flv视频环境的搭建工作,包括服务器的安装和java中的应用。安装ffmpeg加mencoder倒没有什么大问题,不过还是有一个小问题弄得我郁闷了下,就是在安装amrwb和amrnb的时候出错,错误如下:/usr/bin/wget -N http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-610.zip--20:41:59-- http://www.3gpp.org/ftp/Specs/archive

2010-08-22 09:45:00 3321 1

转载 保存Java程序状态及设置之Properties文件

<br />在Windows开发中,可以使用*.ini文件来保存程序的状态或设置等数据,并且一般都提供了操作ini文件的API。但在Java中怎么实现类似的功能呢?比如,在程序中,我们需要保存一个窗口的位置,让程序在下次启动的时候,仍然保持在上一次关闭的时候的位置,或者程序需要将数据库连接的设置保存下来。<br />    在前面一篇<<保存Java程序状态及设置之对象序列化>>中介绍了使用序列化的类来保存这些数据,本篇文章介绍使用Properties文件来保存.Properties文件的本质就是一个文

2010-08-21 12:58:00 948

转载 Runtime.getRuntime().exec

<br />黄小宇   欧洋     <br />01-5-10   下午   02:57:22 <br /><br />-------------------------------------------------------------------------------- <br />  <br /><br />用Java编写应用时,有时需要在程序中调用另一个现成的可执行程序或系统命令,这时可以通过组合使用Java提供的Runtime类和Process类的方法实现。下面是一种比较典型的程序模式:

2010-08-21 12:22:00 48479 3

转载 用java语言实现事件委托模式

<br /><br />csdn:事件委托模式是一个比较常用的设计模式,但是Java语言本身没有对其做一定的封装,因此实现起来有一定难度(了解原理后很简单),相比之下.NET就容易了很多。<br />身为一个Java爱好者,怎么向这样一个小困难低头,但是上网搜索,却没发现相关解决方案,得,自己来做一个封装吧。<br />其实结合例子更好,那么我就用一个小例子来引出这种设计模式。<br />一个班级,有两类学生,A类:不学习,玩,但是玩的东西不一样,有的是做游戏,与的是看电视(有点不合理)<br />B类:放

2010-08-14 11:01:00 1065

转载 JAVA自学之路

<br />你去网上 找找马士兵的视频看看吧 个人觉得很不错的 <br />而且网上有他的全套视频下 电驴上有我基本上时不时也打开电驴给上传一下 从这里http://www.bjsxt.com/load.htm进去,电连接就能进入下载界面了 ,你得先装个电驴 <br /><br />再给你个马大哥说的自学之路吧: <br />JAVA自学之路 一:学会选择 <br />为了就业,不少同学参加各种各样的培训。 <br />决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机、嵌入式、游戏、3

2010-08-13 21:16:00 662

转载 java类Timer和TimerTask的使用

<br /><br />这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需求<br />     Timer类是用来执行任务的类,它接受一个TimerTask做参数<br />     Timer有两种执行任务的模式,最常用的是schedule,它可以以两种方式执行任务:1:在某个时间(Data),2:在某个固定的时间之后(int delay).这两种方式都可以指定任务执行的频率.看个简单的例子:<br /><br />import java.io.IOException;<br />import 

2010-08-11 18:17:00 569

转载 使用Log4j进行日志操作

<br />使用Log4j进行日志操作<br /><br /><br /><br /><br />级别: 初级<br />葵贞祥 (chinesemars@hotmail.com), <br />2002 年 6 月 19 日在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。<br />概述<br /> <br />1.1. 背景<

2010-08-06 10:51:00 543

转载 内存分配策略

<br />内存分配策略 <br />按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. <br />静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允 许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间需求. <br />栈式存储分配也可称为动态存储分配,是由一个类似于堆栈的运行栈来实现的.和静态存储分配相反,

2010-08-04 11:54:00 649

转载 代理模式:给某一对象提供代理对象,并由代理对象控制具体对象的引用.

<br />代理模式:给某一对象提供代理对象,并由代理对象控制具体对象的引用. <br /><br />代理,指的就是一个角色代表另一个角色采取行动,就象生活中,一个红酒厂商,是不会直接把红酒零售客户的,都是通过代理来完成他的销售业务的.而客户,也不用为了喝红酒而到处找工厂,他只要找到厂商在当地的代理就行了,具体红酒工厂在那里,客户不用关心,代理会帮他处理. <br /><br />代理模式涉及的角色: <br />1:抽象主题角色.声明了代理主题和真实主题的公共接口,使任何需要真实主题的地方都能用代理主题

2010-08-04 10:34:00 971

转载 对结构型设计模式的理解

<br />在Gof设计模式中,对设计模式的主要分类为:1)创建型、2)结构型、3)行为型。创建型设计模式抽象了对象的实例化过程;结构型设计模式涉及到如何组合类和对象以获得更大的结构;行为型设计模式描述算法和对象间职责的分配。 那么,结构型设计模式到底如何对类和对象进行组合,以获得更大的结构,组合的指引是什么呢?Adapter/Bridge/…/Proxy七种模式只是结构型设计模式的七个实例,这七个实例的核心主题是什么呢?通过分析,我觉得可以将结构型设计模式的主题用三个词概括:1)统一、2)概括、和3)分离

2010-08-04 10:16:00 595

转载 什么是flyweight(元享)模式

<br />  对于设计模式我一直都在悟,说实在话,设计模式并不能让你的代码越来越简单,反而会让其复杂化,理解设计模式不难,吸收设计模式是痛苦的过程。 <br />  设计模式是实践的产物,有需求才有改进,是一种聪明的偷懒方法,gof的设计模式比较抽象化,看看就知道是博士创作出来的东西,高度抽象形成理论,而理论是比较难于理解的,今天我斗胆也来谈谈对设计模式的一点感悟,说实话,现阶段我对设计模式的理解和吸收还在一个比较初级的阶段,所以我开篇说了“悟”,所以有什么说的不对,写的不好的地方还需要各位朋友的支持和改

2010-08-04 10:13:00 994

转载 使用相对路径来获取资源

<br /><br />本文来自:http://blog.csdn.net/ruyanhai/archive/2007/11/07/1871663.aspx<br />◆ 一般情况下,我们都使用相对路径来获取资源,这样的灵活性比较大.<br />比如当前类为com/bbebfe/Test.class<br />而图像资源比如sample.gif应该放置在com/bbebfe/sample.gif<br />而如果这些图像资源放置在icons目录下,则应该是com/bbebfe/icons/sample.gi

2010-08-03 00:40:00 763

转载 迭代子(Iterator)模式:

<br />迭代子(Iterator)模式: <br />迭代子模式又叫游标(Cursor)模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象。 <br /><br />多个对象聚在一起形成的总体称之为聚集(Aggregate),聚集对象是能够包容一组对象的容器对象。聚集依赖于趋集结构的抽象化,具体复杂性 <br />和多样性。数组就是最基本的聚集,也就是其他的java聚集对象的设计基础。 <br />java聚集(Collection)对象是实现了共同的java.ut

2010-08-02 10:46:00 1134

转载 java中集合的选择 初学者必备

<br />java中集合的选择 初学者必备关键字: http://www.java125.cn/article/javajc/2566.htm在java开发中如何选择合适遍历集合是初学者所必需掌握的,现在java125就为大家总结下: <br />import java.util.*; <br /><br />public class Testset { <br />public static void main(String args[]){ <br />Set set = new HashSet(

2010-08-02 10:24:00 1452

转载 主题:必须了解的概念

<br /><br />final, finally, finalize的区别?<br />   final修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载<br />    finally再异常处理时提

2010-08-02 10:03:00 670

原创 java里的clone方法,super.clone()到底调用的是谁??

<br /><br />如下java代码里的l=(Location)super.clone();<br />这行代码可以正确执行你想要的方法,问题是,这个super是谁呢?<br />返回super.toString()竟然是Location。<br />不是应该继承自Object的吗?super为什么不是Object?<br />还有,这个clone方法到底是怎么工作的呢?<br />望老师同学帮忙解答!!java代码<br />/**<br />* 测试自定义clone()方法<br />* @auth

2010-08-02 09:59:00 4358

转载 23种经典设计模式的java实现之生成器模式

23种经典设计模式的java实现之生成器模式在这里我们使用一个构建房屋的场景来说明“生成器”——builder模式的使用。这个模式的定义是:1、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。2、当构造过程必须允许被构造的对象有不同的表示时。简单的说,它有点像工厂模式,但是最终生成“产品”的是Director而非Factory,Director可以使用的builder来生成产品。而builder——生成器则遵循统一的接口,实现不同的内容,从而达到将

2010-08-02 02:29:00 1963

转载 在JAVA中怎样判断按下两个键

<br />import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.JFrame;/* * To change this template, choose Tools | Templates * and open the template in the editor. */import javax.swing.JPanel;import javax.swin

2010-08-01 15:01:00 4493 1

转载 Graphics2D为我们带来了什么

<br /><br />   如果使用Graphics g.fillOval(int,int,int,int)这里只是简单支持int类型的数据。意思就说会忽略到小数部分,如果你要画的圆都在0~1内那么所有的都会被画成一个点啦~当然你也不必要为此自己去写一个函数来实现这个功能。看看Graphics2D为我们带来了什么?<br /> <br />public void drawCircle(Graphics g){<br />       Graphics2D g2=(Graphics2D)g;<br />  

2010-08-01 13:10:00 1823

转载 设计模式

<br /><br />设计模式在粒度和抽象层次上各不相同。由于存在众多的设计模式,所以我们可以用一种方式将它们组织起来。这里,我们根据两条准则对模式进行分类,如下表所示:<br /><br />第一是目的准则,即模式是用来完成什么工作的。模式依据其目的可分为创建型( Creational)、结构型( Structural)、或行为型( Behavioral )三种。创建型模式与对象的创建有关;结构型模式处理类或对象的组合;行为型模式对类或对象怎样交互和怎样分配职责进行描述。<br />第二是范围准则,指定

2010-07-29 22:08:00 467

转载 java中传输对象时候的问题(转)

<br />java中传输对象时候的问题(转)2010-05-24 19:42<br />对于同一个socket,如果调用两次就会抛出StreamCorruptedException<br />如果你使用socket,并通过对象输入/输出流来处理的话,并且已经对某个socket调用了一次getInputStream时,但又需要把这个socket的相关信息作为参数传递给别的对象时,应注意:不用直接把socket传过去,应该把对应的ObjectInputStream或ObjectOutputStream对象传递

2010-07-28 23:13:00 606

转载 java应该掌握些什么呢?

<br />java应该掌握些什么呢? <br />Java基础: <br />Java原理和使用:看《Java编程思想》即可,这本书应经常带在身边,是Java程序员人手一本的工具。 <br />JSP+Servlet:这是javaWeb开发的基础,应该熟练使用。 <br />服务器: <br />1、WebLogic的原理、使用和配置,如果要把JavaWeb程序跑起来,不会用WebLogic可不行啊。 <br />2、Tomcat:轻量的JavaWeb容器,和WebLogic功能类似,使用简单、方便、免费

2010-07-28 16:24:00 693

转载 java web

<br /><br /> 传统的java web应用程序是采用jsp+servlet+javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责显示的 jsp、负责流程逻辑控制的servlet、负责数据封装的javabean。但是这种结构仍然存在问题:如jsp页面中需要使用<% %>符号嵌入很多的java代码,造成页面结构混乱,servlet和javabean负责了大量的跳转和运算工作,耦合紧密,程序复用度低等等。 <br /><br />于是先出现了struts框架,它是

2010-07-28 16:24:00 715

原创 the Art of java中的HTTP下载管理器

<br />今天看了the Art of java中关于下载器的一章,感觉挺有趣,里面涉及到观察者模式。用了一个早上边理解边将代码打下来,添上注释。本人新手,注释中可能理解有偏差的地方,请各位指出<br /> <br /> <br />下载器分为4个类<br /> <br />package Downloader;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection

2010-07-26 15:28:00 879

转载 java实现ftp上传下载

<br />java实现ftp上传下载文章分类:Java编程Java FTP客户端工具包很多,在此我选用的Apache的FTPClient。这个包的获取可以通过http://commons.apache.org/net/来获取,我使用的是最新的commons-net-1.4.1.zip。其中包含了众多的java网络编程的工具包,官方文档列举如下: <br />    支持网络协议如下: <br />        FTP <br />        NNTP <br />        SMTP <br /

2010-07-26 13:36:00 982

转载 原子性

原子性原子性这个概念初想是非常简单的。它表示一个操作序列就像一个操作一样不被打断,而不像一个操作序列一样中间容许被打断。但是细想下来还是挺有点意思的。首先需要确定的就是什么是一个操作?而什么不是一个操作却是一个操作序列?其次需要确定的是如何叫做像?怎么着就是不像了?另外,还有一个牵扯进来的概念就是原子性的范围和其在什么程度上实施这种保证。或许我这儿说的有点形而上,那我们就形而下的举出例子抓住原子性这个概念的直观感觉。 先举一个CPU指令集中常见的一个指令:CAS。看到这个指令我就仿佛看到了大家脸

2010-07-26 01:31:00 1779

转载 一些重要的算法

下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的或是比较生僻的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维基百科描述的很专业了)A*搜寻算法俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。该算法像Dij

2010-07-26 01:01:00 675

转载 决策树方法

<br /><br />决策树方法最早产生于上世纪60年代,到70年代末。由J Ross Quinlan提出了ID3算法,此算法的目的在于减少树的深度。但是忽略了叶子数目的研究。C4.5算法在ID3算法的基础上进行了改进,对于预测变量的缺值处理、剪枝技术、派生规则等方面作了较大改进,既适合于分类问题,又适合于回归问题<br />    这里 介绍其基本原理 和一个实验例子。<br />    先介绍2个算法:<br />    算法一:熵(entropy)<br />    熵(entropy)指的是体系的

2010-07-26 00:47:00 3385

转载 多线程

<br />多线程 <br />线程:是指进程中的一个执行流程。 <br />线程与进程的区别:每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的所有线程在同一块地址空间中工作,这些线程可以共享同一块内存和系统资源。 <br /><br /><br />如何创建一个线程? <br /><br />创建线程有两种方式,如下: <br />1、 扩展java.lang.Thread类 <br />2、 实现Runnable接口 <br />Thread类代表线程类,它的两个最主要的方法是: <br

2010-07-25 01:40:00 681

转载 Java观察者模式

引子还记得警匪片上,匪徒们是怎么配合实施犯罪的吗?一个团伙在进行盗窃的时候,总    有一两个人在门口把风——如果有什么风吹草动,则会立即通知里面的同伙紧急撤退。也许放风的人并不一定认识里面的每一个同伙;而在里面也许有新来的小弟不认识这个放风的。但是这没什么,这个影响不了他们之间的通讯,因为他们之间有早已商定好的暗号。呵呵,上面提到的放风者、偷窃者之间的关系就是观察者模式在现实中的活生生的例子。二、定义与结构观察者(Observer)模式又名发布-订阅(Publish/Subscribe)模式。GOF给

2010-07-25 00:47:00 7171 2

转载 Java反射机制深入研究

<br /><br />Java反射机制深入研究 Java 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。 Java 反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任意一个类所具有的成员变量和方

2010-07-25 00:29:00 831

转载 全面掌握java枚举类型

<br />枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum来定义一个枚举类。下面就是一个典型枚举类型的定义:<br />  Java代码<br />  public enum Color{<br />  RED,BLUE,BLACK,YELLOW,GREEN<br />  }<br />  public enum Color{<br />  RED,BLUE,BLACK,YELLOW,GREEN }<br />  显然,enum很像特殊的class,实际上enum声明定义的类型就是一个

2010-07-24 21:38:00 607

转载 java中Vector,ArrayList,List使用剖析

线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口Collection是最基本

2010-07-24 21:29:00 541

转载 java-单例设计模式

<br /><br />作为对象的创建模式[GOF95], 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。<br /><br />  注:本文乃阎宏博士的《Java与模式》一书的第十五章。<br /><br />引言<br /><br />单例模式的要点<br /><br />  单例单例<br /><br />  显然单例模式的要点有三个;一是某各类只能有一个实例;二是它必须自行创建这个事例;三是它必须自行向整个系统提供这个实例。在下面的对象图中,有一个"单例

2010-07-24 12:34:00 3084

转载 在Java程序中截获控制台输出

<br /><br />在Java程序中截获控制台输出<br />在Java开发中,控制台输出仍是一个重要的工具,但默认的控制台输出有着各种各样的局限。本文介绍如何用Java管道流截取控制台输出,分析管道流应用中应该注意的问题,提供了截取Java程序和非Java程序控制台输出的实例。<br /><br />  即使在图形用户界面占统治地位的今天,控制台输出仍旧在Java程序中占有重要地位。控制台不仅是Java程序默认的堆栈跟踪和错误信息输出窗口,而且还是一种实用的调试工具(特别是对习惯于使用println(

2010-07-24 12:31:00 675

空空如也

空空如也

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

TA关注的人

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