`
liaokang.java
  • 浏览: 152421 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论
文章列表
一、什么是闭包?   “官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。   相信很少有人能直接看懂这句话,因为他 ...
开发WebService的框架不少,每个框架都有各自的有点,最近我用xfire练习开发WebService,下面是开发WebService的小例子,希望对入门的人有些小帮助 1.新建一个java web project命名为TestWebService,将xfire相关的jar包添加到lib目录中,写接口类和实现类 package com.lamp.service; public interface MessageService { public String getName(String name); } 实现类 package com.lamp.service.imp ...

java的克隆

    博客分类:
  • java
所谓复制就是将一份东西拷贝一份,在java中有浅复制和深复制的概念 浅复制是指被复制的对象与原对象有相同的成员变量值,但是其引用类型的变量还是指的同 一个对象,而深复制是对原对象及其成员变量引用的对象也复制了一遍 复制产生的条件要满足如下 第一要实现Cloneable接口,重写Object类的clone方法并将其protect修饰符修改为public,调用Object类中的clone方法super.clone() 有人可能会问为什么一定要调用super.clone() 在运行时刻,Object中的clone方法识别出你要复制的是哪一个对象,然后为此对象分配空 间,并进行对象的复制,将原始对象的 ...

java线程通信

    博客分类:
  • java
一说到线程通信我们就会想到生产者和消费者,哲学家就餐问题,下面例子是以生产者与消费者来实现线程之间的通信 package com.lamp.test; public class Cake { private int number = 0; public synchronized void increase(){ while(0 != number){ //如果只有一个生产者进程和一个消费者进程,我们还可以用if来判断,但是涉及到2个以上进程就需用while来判断了这也是实践中用的最多的 try { this.wait(); } catch ...
通常我们所说的程序它只是一个静态的概念,而进程是其动态性的体现,而进程又可以拥有一个或多个线程,线程是程序中单独顺序的控制流,线程本身不能运行,它只能用于程序中 一个类要想成为线程类有两种方法,第一是继承Thread类并重写其run方法,第二种是实现Runnable接口,也要去重写其run方法说到线程肯定要说道线程同步,下面是我对线程同步的理解 1.java中的对象都有一个锁(lock)或者叫做监视器(monitor),当访问某个对象的synchronized方法时,表示将该对象上锁,此时其它任何线程都不能访问这个上了锁的方法了直到之前线程执行完(或者抛出了异常),那么将该对象的锁释放掉,其他线 ...
package com.lamp.test; public class Student { private String name = "I am private"; public String getName() { return this.name; } } 上面这个类有一个私有属性name但是我们没有为其提供共有方法setName,我们能够改变它的值吗?答案是肯定的,我们可以利用反射技术来实现这个目的 package com.lamp.test; import java.lang.reflect.Field; pu ...

java反射机制

    博客分类:
  • java
反射是java一大特征,没有它java体现不出它那些优点,更别提那些框架了,他们都是在反射的基础上实现的,下面是一个通过反射实现对象复制的小例子 package com.lamp.test; import java.lang.reflect.Field; import java.lang.reflect.Method; public class Reflect { public Object copyPerson(Object object) throws Exception { // 得到传进来的类的Class对象,每个类都有一个独一无二的Class对象 ...
1.首先到apache的官方网站下载软件包 httpd-2.2.0.tar.gz apache-tomcat-5.5.12.tar.gz jakarta-tomcat-connectors-1.2.15-src.tar.gz 2、安装Apache。 # tar xzvf httpd-2.2.0.tar.gz # cd httpd-2.2.0 # ./configure --prefix=/usr/local/apache2 --enable-so # make # make install 3、安装Tomcat。 # cp apache-tomcat-5.5.12.tar.gz ...
1.从http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html下载pscp,将其放入windows的system32 (一)上传 2.开始→运行→cmd进入到dos模式 输入以下命令 pscp D:\java\apache-tomcat-5.5.27\webapps\szfdc.rar dev@192.168.68.249:/home/dev 3.输入密码 ok 文件已经上传到目标机器的/home/dev目录下了 (二)下载 1、开始→运行→cmd进入到dos模式 输入以下命令 pscp dev@192.168.68. ...
JPA全称为java persistence API,是原SUN公司提出的java持久化规范,它为开发人员提供一种对象/关系映射工具来管理java应用中的关系数据,它的出现是为了简化现有的持久化开发工作和整合ORM技术,结束了现在Hibernate,TopLink,JDO各自为营 ...
Web服务也是一种分布式技术,他与EJB最大的不同是Web服务属于行业规范,可以跨平台及语言,而EJB属于java平台的规范,尽管理论上可以跨平台,但是实现起来很复杂,javaEE为web service提供了两种不同的编程模型,EJB容器模型和Web容器模型,下面是以JAX-WS2.x规范介绍web service的开发 1.首先编写服务器端代码,新建一个java工程,并将JBoss的client目录下的所有jar包引入到工程 实体类Order如下 package com.lamp.bean; import java.io.Serializable; public class ...
java消息服务(简称JMS)是用于访问企业消息系统的开发商的API,可以概括为应用程序A发送一条消息到消息服务器的某个目的地,然后消息服务器将消息发送给监听这个目的地的程序B,JMS支持两种消息传递模型,点对点(简称PTP)和发布/订阅(简称pub/sub),PTP规定一条消息只能发送给一个接收方,pub/sub允许一条消息发送给多个接收方,以下是个JMS的小例子 1.首先我们需要配置消息到达的目的地址,命名规范为*-service.xml,每个应用服务器的配置都不同,我用的是JBoss,代码如下 <?xml version="1.0" encoding=&quo ...
所谓EJB指的是企业级的javabean,实际上是用于编写业务层代码,最大的优势是可以基于分布式,即逻辑处理可以和客户端在物理上实现分离,亦可以多个应用共享业务逻辑,由于现在EJB只适应于大型企业,所以其占有的市场还不是很大,但是EJB的专家组已经慢慢开始在现有的基础上慢慢分离出一些轻量级的服务,相信在不久的将来,EJB会咸鱼翻身,下面是我写的一个单表映射例子,新建一个java工程,并将JBoss目录client文件夹中的所有jar包添加到工程中 1.首先是实体类 package com.lamp.bean; import java.io.Serializable; impo ...
ant大家熟知的项目构建工具,在编程领域得到了极大的应用,对于项目jar,war文件的生成有其独特的优势,ant你可以在IDE中使用,也可以在IDE外使用,其配置过程如下 1.在apache的官网下载ant包,并将其解压,我的是放在C盘根目录 2.将bin的目录添加到Administrator用户的path目录中C:\apache-ant-1.8.2\bin 3.在Administrator用户变量中添加一个变量ANT_HOME,并将其值设为ant解压后的目录C:\apache-ant-1.8.2 下面是用ant创建目录的例子,创建一个名为hellowoorld的文件,当然你也可以指定多级目录, ...
fckeditor提供了文件上传的功能,可是在使用过程中容易出现一些乱码问题,现将一些解决方法供大家参考 首先配置文件上传的环境 首先在web.xml文件中添加一个Servlet,如下 <servlet> <servlet-name>ConnectorServlet</servlet-name&g ...
Global site tag (gtag.js) - Google Analytics