![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java技术文章
文章平均质量分 51
zhigangsun
这个作者很懒,什么都没留下…
展开
-
HashTabel与HashMap的区别
1.HashTable是线程同步的,也是线程安全的。HashMap不是线程同步的,所以不是线程安全的。所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。2.HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。3.HashTable有一个contains(Object value),功能和转载 2007-10-26 11:25:00 · 1483 阅读 · 0 评论 -
java作用域public ,private ,protected
作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × defaul原创 2009-05-24 10:52:00 · 359 阅读 · 0 评论 -
servlet-mapping与filter-mapping 的处理顺序
可以把它理解成在servlet处理过程中,普通servlet和过滤器谁先执行 答案是过滤器先执行:不管url-pattern的值一样或者不一样 这里有个通俗的例子: 到百度贴吧回答问题,这就是一个普通servlet要完成的工作(提交一个问题) 可是贴吧规定:用户未登陆不能回答问题,这就是过滤器的工作 想象以下,当我点击提交回答的时候,肯定是先要进行用户登陆的判断,如果登陆了才把用户的回答提交,未登原创 2008-10-27 10:30:00 · 1321 阅读 · 0 评论 -
Filter应用
。J2EE提供了一种特殊的Servlet,就是Filter。它不是一种单独的网络组件,因为它不产生请求和响应信息,它必须依附于其他的网络组件存在。所以我们利用它完成信息的编码转化、数据加密、身份验证、数据压缩、日志记录等很多种工作。下面我们共同看一下Filter的结构和具体的应用方法。 一、Filter的结构 我们自己编写的Filter必须要实现javax.servlet.Filter接口,这原创 2008-10-27 10:21:00 · 627 阅读 · 0 评论 -
在远程lookup一个EJB后,要调用PortableRemoteObject.narrow去强制转换
When we execute a lookup to get the home interface of our bean, we normally use the lookup() method of the javax.naming.InitialContext interface.This method will return us an Object that needs to be c原创 2008-09-04 15:26:00 · 1259 阅读 · 0 评论 -
Injecting the security token into the SOAP header
When registering a service context with the Context Registry service, a security token is returned that you can use to refer to the service context that is stored on the server. You can then use the原创 2008-09-03 16:03:00 · 1018 阅读 · 0 评论 -
Adding SOAP headers in the JAX-WS
One of the additions in the JAX-WS RI 2.1 EA3 is a simple way to add SOAP headers for your request.The official "portable" way of doing this is that you creaate a SOAPHandlerand mess with S转载 2008-09-03 15:55:00 · 1459 阅读 · 0 评论 -
Weblogic web service dynamic client
web service有三种类型客户端:一个是最常用的stub方式,就是客户端程序使用生成的client stub方式来访问web service。二是动态客户端(DII),即通过Call接口来进行web service调用。weblogic下示例代码如下:System.setProperty(ServiceFactory.SERVICEFACTORY_PROPERTY, "weblogic.we原创 2008-01-18 13:17:00 · 731 阅读 · 1 评论 -
运行时获取方法调用堆栈信息
在运行期间可以通过throwable类来获取方法调用堆栈信息,例如哪个方法调用的当然方法,当前运行类的类名,文件名,代码行等等。 Throwable ex = new Throwable(); StackTraceElement[] stackElements = ex.getStackTrace(); if(stackElements != null) {原创 2008-01-18 13:20:00 · 1955 阅读 · 0 评论 -
RPC与RMI的区别
<br />1. RPC 不支持对象, 采用http协议<br />2. RMI支持传输对象。采用tcp/ip 协议<br />3. RMI只限于JAVA语言,RPC跨语言<br />RPC和RMI的简单比较<br /> 在RMI和RPC之间最主要的区别在于方法是如何别调用的。在RMI中,远程接口使每个远程方法都具有方法签名。如果一个方法在服务器上执行,但是没有相匹配的签名被添加到这个远程接口上,那么这个新方法就不能被RMI客户方所调用。在RPC中,当一个请求到达RPC服务器时,这个请求就包含了转载 2010-09-18 12:29:00 · 6763 阅读 · 0 评论 -
JSP中文乱码问题解决方案
在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的JSP中文乱码问题有如下几个方面:页面乱码、参数乱码、表单乱码、源文件乱码。下面来逐一解决其中的乱码问题。一、JSP页面中文乱码在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码。先看一个JSP程序:[java] view plaincopyp转载 2013-10-24 13:56:03 · 548 阅读 · 0 评论 -
Servlet、Filter、Listener总结
http://blog.csdn.net/cendy_69576750/article/details/79309731、In Action(1)写一个类继承HttpServlet;(2)重写其中的方法。 1、TIPS(1)Servlet生命周期每个Servlet都有自己的生命周期。Servlet的生命周期由web服务器维护。服务器在启动时(配置了load-on转载 2014-11-26 22:27:53 · 610 阅读 · 0 评论 -
Java中的==和equals区别
A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。 B.对于String a = “a”; Integer b = 1;这种类型的特有对象创建方式,==的时候值是相同的。 C.基本类型没有equals方法,equals只比较值(对象中的内容)是否相同(相同返回true)。 D.一个类如果转载 2014-05-06 10:40:15 · 386 阅读 · 0 评论 -
在java中为什么要把main方法定义为一个static方法
(1)在类中,变量的前面有修饰符static称为静态变量(类变量),方法的前面有修饰符static称为静态方法(类方法)。静态方法和静态变量是属于某一个类,而不属于类的对象。 (2)静态方法和静态变量的引用直接通过类名引用。例如:类Point中有个 static int x;类变量,我们要引用它:Point.x=89; (3)在静态方法中不能调用非静态方法和引用非静态的成员变量。反转载 2014-05-06 10:17:43 · 654 阅读 · 0 评论 -
一些jar包的作用
1.apache的一写jarcommons-collections.jar: Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大。 commons-beanutils.jar: Apache Commons包中的一个,包含了一些Bean工具类类。 commons-lang.jar: Apa转载 2013-12-12 16:21:44 · 408 阅读 · 0 评论 -
《Velocity 模板使用指南》中文版
1.本文目地和使用对象本文主要介绍如何在模板中使用Velocity功能强大的模板语言VTL(Velocity Template Language)用法有一个全面的认识,并掌握如何在模板中有效使用。同时,本文提供较多的例子帮您来学习它.感谢您选择Velocity帮助您实现纯正的MVC系统构架。2.什么是Velocity?Velocity 是一个基于java的模板引擎(templa转载 2013-12-12 16:36:17 · 602 阅读 · 0 评论 -
Velocity 模板在java里应用
Velocity是一个基于java的模板引擎(模板引擎的作用就是取得数据并加以处理,最后显示出数据)。 它允许任何人仅仅简单的使用模板语言来引用由java代码定义的对象。 主要应用在: 1.Web应用的开发。 2.作为模板产生SQL,XML或代码等。 3.作为其他系统的集成组件使用。 当Velocity应用于application progra转载 2013-12-12 16:30:00 · 843 阅读 · 0 评论 -
Java内存管理机制
在C++语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。从申请分配、到使用、再到最后的释放。这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内存的泄露。Java语言对内存管理做了自己的优化,这就是垃圾回收机制。Java的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),然后由GC(garbage collection)负责自动回收不转载 2013-10-22 22:04:45 · 423 阅读 · 0 评论 -
Servlet3.0 特性
(1)允许使用annotation来修饰servlet,filter,listener,使web.xml不再是必需品。EX:@WebServlet:用于修饰一个servlet类,用于部署servlet类。 @WebInitParam:用于与@WebServlet或者WebFilter一起使用,为Servlet和Filter配置参数。 @WebListener:用于修饰和部署Li转载 2013-10-27 21:47:55 · 420 阅读 · 0 评论 -
EJB3.0学习笔记之四 依赖注入(dependency injection)
前面学习了如何开发藕合松散的服务组件.但是,为了存取那些服务对象,你需要通过服务器的JNDI来查找存根对象(session bean)或消息队列(MDB).JNDI查找是把客户端与实际的服务端实现解藕的关键步骤.但是,直接使用一个字符串来进行JNDI查找并不优雅.有这 样几个原因: ・客户端与服务端必须有一致的基于字符串的名字.它没有在编译时得到认证或在布署时得到检查. ・从JNDI返回的服务原创 2008-04-08 10:19:00 · 622 阅读 · 0 评论 -
EJB3.0学习笔记之二 Session Bean的生命周期
EJB容器创建和管理session bean实例。有些时候可能需要定制session bean的管理过程.例如想在创建session bean实例的时候初始化字段变量,或在bean实例被销毁的时候关掉外部资源.上述这些都可能通过在bean类中定义生命周期的回调方法来实现.这 些方法将会被容器在生命周期的不同阶段调用(如:创建或销毁时).通过使有下面所列的注释,EJB 3.0允许你将任何方法指定为回原创 2008-04-08 10:11:00 · 696 阅读 · 0 评论 -
static变量的回收问题
一个对象会不会被回收,主要看垃圾回收器引用遍历的时候能不能访问到这个引用,如果访问不到,则将被回收,如果能够访问到,则不能回收。如果一个类的 class文件被装载,那么它的静态成员变量便会被初始化,除非unloader这个类的class对象,他的静态成员变量是不会被gc回收的。原创 2007-10-26 11:36:00 · 2160 阅读 · 0 评论 -
ArrayList和Vector的区别
1.Vector是线程同步的,也是线程安全的。ArrayList不是线程同步的,所以不是线程安全的。 2.当增长时,Vector默认增长原来的一倍,ArrayList默认增长原来的一半。转载 2007-10-26 11:34:00 · 339 阅读 · 0 评论 -
组合/聚合与继承的区别
类是一种对本质相同事物的抽象,人类软件开发技术的发展历史,就是还事物以本源的历史,开发技术、名词越来越接近世界的真实,“面向对象”、“类”就是这样的产物。 3.1类图 在UML中,类图显示了一组类、接口、协作以及它们之间的关系。在UML的静态机制中类图是一个重点,它不但为设计人员所关心,更为实现人员所关注,建模工具也主要依据类图来产生代码(正向)工程。因此,类图在UML的各种图中占据了相当重要转载 2007-10-26 13:32:00 · 6713 阅读 · 0 评论 -
软件设计模式的几个原则
这里说的设计模式是软件设计里的模式,主要是指面向对象的软件设计。遵照设计模式,可以有效的提高软件的可维护性和可复用性,提高开发软件的效率,避免过多的出现再造轮子的现象。模式是一种对现实世界的概念抽象,建筑模式,设计模式,营销模式,商业运作模式各行各业都有自己的模式。这里说的设计模式是软件设计里的模式,主要是指面向对象的软件设计。遵照设计模式,可以有效的提高软件的可维护性和可复用性,提高转载 2007-10-26 11:48:00 · 617 阅读 · 0 评论 -
面向对象设计的经验原则
(1)所有数据都应该隐藏在所在的类的内部。 (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。 (3)尽量减少类的协议中的消息。 (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。(5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公转载 2007-10-26 11:45:00 · 406 阅读 · 0 评论 -
由浅入深学“工厂模式”(2)
有了简单工厂模式后,已经给我们带来了一些好处,但是还存在一些问题,如果我们又多了一个影像家电产品MP4之后,我们可以使MP4类从VideoWiring 派生,但是却要修改Create类的代码使它能够生产出MP4这个产品来。不好的地方就在于,我们每次多一个产品的时候都需要修改Create而不是保持 原来的代码不修改仅仅进行一种扩展。在Create类中修改不是每次都简单的多一个Case语句就能够解决问转载 2007-10-26 13:28:00 · 488 阅读 · 0 评论 -
堆和栈区别小结
(1)JAVA中基本数据类型直接存储在栈中,而复合的数据类型采用引用模型,其引用存储在栈中,而对象存储在堆中。(2)Java把内存划分成两种:一种是栈内存,一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被转载 2007-10-26 11:42:00 · 534 阅读 · 0 评论 -
Listenert和Adapter区别
Listener中于是接口,可能有多个方法,每一个都必须实现,但是 你可能只需要其中的一个或者一些,反正不是全部想要;但是你想偷懒,只想写你要的那个方法,Adapter就是帮你偷懒的,他对Listener的接口中 每个方法都实现了,不过都是空实现,就是每个方法后面只加了一对{};现在你只需继承Adapter类,然后在自己的类中实现需要的方法,就可以了,实际 上就间接实现了Listener中原创 2007-10-26 11:36:00 · 841 阅读 · 0 评论 -
关于Java栈与堆的思考
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共 享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自转载 2007-10-26 11:40:00 · 400 阅读 · 0 评论 -
【继续深入】Stack和Heap的区别
Java中对象都是分配在heap(堆)中。从heap中分配内存所消耗的时间远远大于从stack产生存储空间所需的时间。(1)每个应用程序运行时,都有属于自己的一段内存空间,用于存放临时变量、参数传递、函数调用时的PC值的保存。这叫stack。(2)所有的应用可以从一个系统共用的空间中申请供自己使用的内存,这个共用的空间叫heap。(3)stack中的对象或变量只要定义好就可使用了,应用程序结束时会转载 2007-10-26 11:41:00 · 937 阅读 · 0 评论 -
EJB3.0学习笔记之一
开个第一个EJB3.0, HelloWorld。 第一步:要定义一个会话Bean,首先需要定义一个包含他所有业务方法的接口(业务接口).这个接口不需要任何注释,就像普通的java接口那样定义.调用EJB的客户端通过使用这个接口引用从EJB容器得到的会话Bean对象stub.接 口的定义如下:java 代码 package org.qiwen.ejb3;原创 2008-04-08 10:06:00 · 523 阅读 · 0 评论 -
如何设置基于weblogic10的EJB3.0的JNDI
(1) 通过设置@Stateful or @Stateless annotations的 mappedName 属性,可以取得和在 weblogic-ejb-jar.xml中设置jndi名字一样的效果 。(2) 此时每个需要绑定到JNDI上的business接口对象的JNDI名字是#例如:@Stateless(name="HelloWorld", mappedName="HelloBean")@R原创 2008-04-06 12:20:00 · 2788 阅读 · 0 评论 -
weblogic下在web service中获取httpServletRequest和httpServletResponse对象
1. JWS 类实现javax.xml.rpc.server.ServiceLifecycle 接口。public class CEWebService implements ServiceLifecycle{ private javax.xml.rpc.server.ServletEndpointContext wsctx = null; public void init(Objec原创 2007-12-28 11:18:00 · 2908 阅读 · 0 评论 -
java多线程使用总结
sleep方法不推荐使用,可用wait。线程退出最好自己实现,在运行状态中一直检验一个状态,如果这个状态为真,就一直运行,如果外界更改了这个状态变量,那么线程就停止运行。sleep()使当前线程进入停滞状态,所以执行sleep()的线程在指定的时间内肯定不会执行;yield()只是使当前线程重新回到可执行状态,所以执行yield()的线程有可能在进入到可执行状态后马上又被执行。sleep()可原创 2008-03-16 18:20:00 · 691 阅读 · 0 评论 -
EJB3.0学习笔记之三 Interceptor
截获器可以监听程序的一个或所有方法.截获器对方法调用流提供了细粒度控制.可以在无状态会话 bean,有状态会话 bean 和消息驱动 bean 上使用它们.截获器可以是同一 bean 类中的方法或是一个外部类. 下面介绍如何在Session Bean类中使用外部截获器类.HelloChinaBean.java package com.foshanshop.ejb3.imp原创 2007-11-08 22:21:00 · 646 阅读 · 0 评论 -
EJB3.0中依赖注入和截获器概念
EJB3.0规范引入了两个重要概念:依赖注入(DI:Dependency Injection)和截获器(Interceptor)。依赖注入是从开源社区的一些著名轻量级容器(如Spring、Pico container)中所发展出来的概念,其主要思想就是由容器而不是对象本身来负责处理对象之间的依赖关系。与传统的服务定位器相比,依赖注入具有易测 试、弱侵入性等优点,这也就是为什么在最新的Java EE转载 2007-11-08 22:16:00 · 636 阅读 · 0 评论 -
UML类图
在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。建模工具也主要根据类图来产生代码。类图在UML的9个图中占据了一个相当重要的地位。James Rumbaugh对类的定义是:类是具有相似结构、行为和关系的一组对象的描述符。类是面向对象系统中最重要的构造块。类图显示了一组类、接口、协作以及 他们之间的关系。在UML中问题域最终要被逐步转化,通过类来建模,通过编程转载 2007-10-26 13:34:00 · 1296 阅读 · 0 评论 -
由浅入深学“工厂模式”(3)
我们继续对影像家电产品的情形进行分析,我们已经可以使用工厂方法比较好的实现了产品的创建,但是在以前的分析中我们并没有考虑产品种类及生产厂家这样的问题。就拿DVD来说TCL可以生产、LG也生产等等很多厂家都生产。DVD是产品种类中的一种,产品种类这个概念在有些书上称为产品族。从另外一个角度来看TCL可以生产DVD、VCD等 等很多产品,这些产品在一起就可以构成一个产品结构。当我们考虑了这些问题后,提转载 2007-10-26 13:29:00 · 584 阅读 · 0 评论 -
web.xml中<security-constraint>和四种认证类型
的子元素 是可选的,如果没有 元素,这表示将禁止所有 HTTP 方法访问相应的资源。 子元素 需要和 相配合使用,但可以被单独使用。如果没有 子元素,这表明任何身份的用户都可以访问相应的资源。也就是说,如果 中没有 子元素的话,配置实际上是不起中用的。如果加入了 子元素,但是其内容为空,这表示所有身份的用户都被禁止访问相应的资源。 web.xml:s转载 2015-01-06 13:28:51 · 633 阅读 · 0 评论