自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(93)
  • 收藏
  • 关注

原创 Java停止线程

1、run方法正常结束public class StopThreadDemo { public static void main(String[] args) { PrintThread pt = new PrintThread(); pt.start(); }}class PrintThread extends Thread { public void...

2013-11-05 22:20:09 128

原创 Java守护线程

Java中创建的线程默认都是非守护线程(前台线程),JVM启动时,通常都会有单个非守护线程(main方法),如果需要创建守护线程(后台线程),则需要在启动线程前,调用setDaemon(boolean on)方法,守护线程通常是为非守护线程服务的,例如JVM的垃圾回收,当我们的程序结束的时候,垃圾收集器也就自动停止运行了,下面的代码中dt1与dt2被标记为守护线程,则当main方法中的程序运行...

2013-11-04 22:12:26 133

原创 Java线程状态

下面是Java线程的状态图 1、创建状态当我们通过new操作符创建一个新的线程对象时,该线程处于创建状态。此时,它已经有了相应的内存空间和其它资源,但还处于不可运行状态,通过调用start方法进入就绪状态。注意:不能对已经启动的线程再次调用start()方法,否则会出现java.lang.IllegalThreadStateException异常 2、就绪状态处于就绪状...

2013-10-31 22:31:36 138

原创 Java多线程

       线程这个词似乎听起来并不是很好理解,但是说到进程,我想大家应该不会陌生,我们在使用windows操作系统时,每当遇到某个软件运行出现卡顿的现象,我们最经常做的就是打开我们的任务管理器来结束相关进程,如下图中映像名称列中的是我的电脑目前正在运行的一部分进程,红线框出的是firefox浏览器的进程, 如果我的浏览器出现奔溃,就可以通过强制执行该进程,对进程有了一个形象上的...

2013-10-31 22:11:45 100

原创 Java逻辑运算符

Java中的逻辑运算符有&(与)、&&(短路与)、|(或)、||(短路或),^(亦或)、!(非) &:不论左边真假,右边都进行运算,并且当只有两边都为真时才为真;&&:短路&&与&不同的是,如果左边为真,右边参与运算,如果左边为假,那么右边则不参与运算(一假必假);|:不论左边真假,右边都进行运算,并且只有...

2013-10-19 22:35:42 89

原创 Java数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间,Java的数据类型结构图如下: 下表是基本数据类型的一些相关信息:其中范围可以查阅API中相对应类的MAX_VALUE与MIN_VALUE常量值,初始值见http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatyp...

2013-10-18 11:43:07 82

原创 进制转换

十进制-->二进制 原理:1、将被除数除以2,得到商与余数,并记录下余数           2、如果所得商为0,则运算停止,并将所得余数倒序排列,即为转换后结果,否则将商当做被除数继续1,2步骤 例子:十进制6转换成二进制1、6/2=3,商为3,余数为02、商不为0,则现在3为被除数,有3/2=1...1,商为1,余数为13、商不为0,现在1变成了被除数...

2013-10-18 11:05:41 403

原创 JDK、JRE与JVM

Java是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。 Java语言是跨平台的,不过前提是需要在运行Java程序的平台上面有与之相对应的JVM(Java Virtual Machine),这里需要注意的是JVM并不是跨平台的,它有Linux版的JVM,Windows版的JVM,Mac版的JVM。。。而...

2013-10-16 15:12:21 101

原创 Java环境变量

1、打开我的电脑(计算机)--属性--高级--环境变量2、新建系统变量JAVA_HOME 和CLASSPATH变量名:JAVA_HOME(此处的名字可以任意,一般叫JAVA_HOME,见名知意) 变量值:C:\Program Files\Java\jdk1.6.0_21(根据JDK安装的具体路径设值)变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%J...

2013-10-16 14:57:21 104

原创 如何修改eclipse中新建jsp的默认编码

我们新建jsp页面的时候,默认编码是ISO-8859-1,但是我们一般需要编码为UTF-8,可以通过如下方式进行修正window-preferences-web-jsp files,修改右侧的Encoding为ISO 10646/Unicode(UTF-8),如下图所示 ...

2013-05-29 14:18:56 93

原创 Struts2+Spring2.5+Hibernate3.3整合开发

下面给出整合开发时Struts 2、Hibernate、Spring需要的JAR。 struts2-core-2.x.x.jar :Struts 2框架的核心类库Xwork-core-2.x.x.jar :XWork类库,Struts 2在其上构建ognl-2.6.x.jar :对象图导航语言(Object Graph Navigation Language),struts2框架通过其...

2013-05-28 15:12:07 79

原创 The APR based Apache Tomcat Native library which allows optimal performance in p

整合SSH2框架启动tomcat时,报如下信息错误 2013-5-28 10:45:00 org.apache.catalina.core.AprLifecycleListener init信息: The APR based Apache Tomcat Native library which allows optimal performance in production envi...

2013-05-28 11:10:40 151

原创 Spring与Hibernate的整合

下面为例子中将要操作的对象package org.spring.bean;public class Person { private Integer id; private String name; public Person() { } public Person(String name) { this.name = name; } ...

2013-05-27 16:35:51 78

原创 Spring与JDBC整合

使用Spring+JDBC集成步骤如下: 配置数据源,如:<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="org.gjt.mm.mysq

2013-05-27 11:14:03 59

原创 Spring应用注解完成属性装配

续Spring依赖注入的方式:http://huangminwen.iteye.com/blog/1041743 在一个项目中,我们的Spring文件中会有许多bean,每个bean中都有一些属性,如果把所有bean的属性都配置在配置文件中,那么这时候我们的Spring配置文件是臃肿不堪的,而且维护起来也不方便,Spring为我们提供了用@Resource注解完成属性装配的功能解决这个...

2013-05-24 11:15:55 83

原创 Spring简单模拟Spring容器

续Spring之HelloWorld:http://huangminwen.iteye.com/admin/blogs/1040405 Spring容器启动后,首先读取spring.xml配置文件中的bean信息,然后再实例化该bean,所以我们就可以直接获取bean来使用了,而无需实例化,下面我们模拟一下Spring容器的工作原理,首先我们需要先读取spring.xml配置文件,然后再...

2013-05-23 17:06:08 154

原创 Spring环境搭建

Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目的是简化企业开发。 搭建环境步骤:1、到http://www.springsource.org/download下载spring,我用的是spring-framework-2.5.6的版本 2、导入2个常用包     spring-framew...

2013-05-23 10:44:55 92

原创 Hibernate继承关系

1、整个继承树映射到一张表在一个论坛中有用户(User)这个实体类,其中User这个实体中有分为普通用户,管理员与游客这3种身份,而这3种现在身份的用户就只有一个字段(即类型)不相同,可以考虑用Hibernate中的Table per class hierarchy策略 对象模型(Java类结构)表结构 User代码:package org.hibernate.domain...

2013-05-14 14:02:54 106

原创 Hibernate的cascade与inverse

设想一下部门与员工的关系,如果一个部门有几百个员工,则我们在存储数据的时候,需要一次的保存每个员工的信息,如果能在对部门进行操作的时候,把员工的信息也进行相对应的操作,那就方便多了,Hibernate中的Cascade便可以解决上述问题。 Cascade用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似的操作,常用的cascade:none,all,save-update,de...

2013-05-13 15:52:22 68

原创 Hibernate组件关联

组件(Component)是一个被包含的对象,在持久化的过程中,它被当作值类型,而并非一个实体的引用(即数据库中没有表与该属性对应,但该类的属性要之久保存的。)。举个例子, 你对人(Person)这个概念可以像下面这样来建模:public class Person { private java.util.Date birthday; private Name name;...

2013-05-09 19:02:52 71

原创 JAVA计算2个日期之间的相差天数

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Locale;/** * 计算2个日期之间的相差天数 */public class CountTim...

2013-05-09 17:10:57 101

原创 Struts2--OGNL表达式

       OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 OGNL有一个上下文(Context)概念,说白了上下文...

2013-03-30 17:27:22 64

原创 struts2--国际化入门

       如果我们的项目需要支持多国语言,则我们需要对项目进行国际化,下面简单介绍一下Struts2中为我们提供的国际化功能,仅作为入门知识 Struts2中的国际化资源文件分为以下3种:1、全局范围的国际化      首先我们需要编写国际化资源文件,资源文件的命名如下:               baseName_language_country.propertie...

2013-03-28 20:32:06 71

原创 Struts2--自定义拦截器

为什么会有拦截器:许多Action都需要做一些相同的事情,比如说登录验证,表单输入验证,上传文件时的初始化操作,而有些Action则需要在页面显示前做一些预先填充数据的准备,这些需求在项目中都是很常见的,设想一下,如果在每个action都做一些重复性的功能逻辑,这样实现即繁琐,又违背了软件复用的思想,所以为了解决这个问题,Struts2的设计者们把这些共有的逻辑独立出来,实现成一个个的拦截...

2013-03-27 16:50:31 71

原创 Struts2--为应用指定多个struts配置文件

       在大部分应用里,随着应用规模的增加,系统中Action的数量也会大量增加,导致struts.xml配置文件变得非常臃肿。为了避免struts.xml文件过于庞大、臃肿,提高struts.xml文件的可读性,我们可以将一个struts.xml配置文件分解成多个配置文件,然后在struts.xml文件中包含其他配置文件。下面的struts.xml通过<include>元素指...

2013-03-21 16:56:21 64

原创 Struts2--工作流程

下图描述了Struts 2 的整体结构   1、 在上图中客户端初始化一个指向Servlet容器(例如 Jetty 或者Resin)的请求2 、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)3 、接着Fil...

2013-03-21 16:12:57 72

原创 Struts2--为Action的属性注入值

Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。注意:属性必须提供setter方法。下面举例说明:配置文件如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software ...

2013-03-13 14:08:17 63

原创 struts2--Action名称的搜索顺序

1.获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action 2.首先寻找namespace为/path1/path2/path3的package,如果不存在这个package则执行步骤3;如果存在这个package,则在这个package中寻找名字为test的action,当在该package下寻找不到...

2013-03-12 14:45:49 86

原创 Struts2--HelloWorld

因为struts2是通过filter启动的,而web.xml配置文件中的StrutsPrepareAndExecuteFilter的init()方法会读取类路径下默认的配置文件struts.xml完成初始化操作,故我们需要首先配置struts.xml文件<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PU...

2013-03-12 10:38:53 73

原创 Struts2--环境搭建

Struts的环境搭建,分为以下步骤:1、到http://struts.apache.org/download.cgi#struts221下载struts-2.3.8-all.zip,下载完成后,解压该文件,开发struts2应用需要依赖的jar文件在解压目录的lib文件夹下,使用struts-2.3.8开发应用,最少需要依赖的jar见附件 2、接下来需要编写Struts2的配置文...

2013-03-11 20:21:21 73

原创 线程范围内共享变量

[code="java"]package cn.itcast;import java.util.HashMap;import java.util.Map;import java.util.Random;/** * 线程范围内共享变量的概念与作用 */public class ThreadScopeShareData { private static Ma...

2012-12-12 15:33:41 57

原创 线程同步通信

[code="java"]package cn.itcast;/** * 线程同步通信 * 主线程执行100次,子线程执行10,如此交替进行,反复50次 */public class TraditionalThreadCommunication { public static void main(String[] args) { final Business ...

2012-12-12 15:29:42 76

原创 synchronized

[code="java"]package cn.itcast;public class TraditionalThreadSynchronized { public static void main(String[] args) { new TraditionalThreadSynchronized().init(); } private void init() ...

2012-12-11 17:45:43 53

原创 定时器

[code="java"]package cn.itcast;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class TraditionalTimerTest { private static int count = 0; public stat...

2012-12-11 17:34:17 103

原创 传统线程

[code="java"]package cn.itcast;/** * 传统线程 */public class TraditionalThread { public static void main(String[] args) { // 第一种方法 Thread thread = new Thread() { @Override publ...

2012-12-11 17:26:53 68

原创 Spring 基于基于XML配置方式实现AOP

要进行AOP编程,首先我们要在spring的配置文件中引入aop命名空间:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan...

2012-04-15 11:40:08 92

原创 Spring 基于注解方式实现AOP

要进行AOP编程,首先我们要在spring的配置文件中引入aop命名空间,此外我们还需要启动对@AspectJ注解的支持: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www....

2012-04-15 11:36:45 88

原创 Spring JDK动态代理和使用CGLIB生成代理

package cn.itcast.service;public interface PersonService { public void save(String name); public void update(String name, Integer personid); public String getPersonName(Integer personid)...

2012-04-15 10:51:30 53

原创 Spring通过在classpath自动扫描方式把组件纳入spring容器中管理

续Spring应用注解完成属性装配:http://huangminwen.iteye.com/admin/blogs/1486843 前面的例子我们都是使用XML的bean定义来配置组件。在一个稍大的项目中,通常会有上百个组件,如果这些这组件采用xml的bean定义来配置,显然会增加配置文件的体积,查找及维护起来也不太方便。spring2.5为我们引入了组件自动扫描机制,他可以在类路径底...

2012-04-15 10:38:32 160

原创 Spring指定Bean的初始化方法和销毁方法

package cn.itcast.service;public interface PersonService { public void save();} package cn.itcast.service.impl;import cn.itcast.service.PersonService;public class PersonServiceBean...

2012-04-14 22:12:07 96

空空如也

空空如也

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

TA关注的人

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