- 浏览: 176387 次
- 性别:
- 来自: 杭州
最新评论
文章列表
Java transient关键字
- 博客分类:
- java常用
Java transient关键字 Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个
不同的线程总是看到某个成员变量的同一个值。 Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。 这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。 而volatile关键字就是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员 ...
java 读写txt文件
- 博客分类:
- java常用
java 读写txt文件
读取:
public class ReadFromFile {
/** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) { File file = new File(fileName ...
java异常时如何执行
- 博客分类:
- java常用
代码如下:
public class Test{ public static String output=" "; public static void foo(int i){ try{ if(i==1){ throw new Exception(); } output+="1"; }catch(Exception e){ output+="2"; return;//有return的话catch异常后最后的那个语句output+="4";不会执行 }finally{//finall ...
Java反射,根据类名创建带参数的实例
- 博客分类:
- java常用
public Object dynCreateClassInstanceByName(String className) throws Exception { Class c; Object o;
c = Class.forName(className); o = (c.getClassLoader().loadClass(className)).newInstance();
return o; }
//根据类名获取Class对象 Class c=Class.forName("java.lang.Integer"); / ...
java压缩和解压缩例子
- 博客分类:
- java常用
java压缩和解压缩例子 压缩时,在压缩文件夹中新建目录,entry名称必须以“/”结尾。 压缩后,如果用rar工具解压,发现中文名称的文件都是乱码,但是如果用java程序解压就不会有事,网上有很多关于这个问题及解决方案
Java代码 /**按照POS目录要求压缩文件 * @param out * @param f * @param base * @param serverTime 14位的时间戳 * @param buzName 业务名称 * @throws Exception */ public static void zip4Pos(String zip ...
java编译找不到符号
- 博客分类:
- java常用
通常情况下,我们在编写java文件时,会有引用到自已定义的一些类,如果按通常的javac *.java的形式来编译会出现找不到符号的错误。以下提供了两种方法,以供参考
假如在d:/web/wsh下有a.java和b.java两个文件,在b.java文件中有 ...
response.setContentType
- 博客分类:
- jsp
response.setContentType() ;参数 <meta http-equiv="Content-Type" content="text/html; charset=GBK">
response.setContentType() ;
* = application/octet-stream .001 = application/x-001 .301 = application/x-301 .323 = text/h323 .906 = application/x-906 .907 = drawing/907 .a11 = ap ...
Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean 博客分类: 常用框架 BeanApacheJavaTomcatStruts今天,tomcat服务器启动时,报严重错误:
2011-4-17 21:41:28 org.apache.catalina.core.StandardContext filterStart严重: Exception starting filter struts2Unable to load bean: type: class:com.opensymphony.xwor ...
Java中的final用法
- 博客分类:
- java常用
关于Java中的final(2010-09-09 14:19:48)
Java中的final共有三种用法:
final成员变量当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变,但引用变量所指向的对象中的内容还是可以改变的。
其初始化可以在三个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中。而且在Java1.1以前,只能是在定义时给值。三是在初如化代码块中{} 或者 static{}下面这段代码演示了这一点:更加详细的探讨请参考关于fi ...
Spring 使用RMI
- 博客分类:
- rmi
Spring提供类用于集成各种远程访问技术。这种对远程访问的支持可以降低你在用POJO实现支持远程访问业务时的开发难度。目前,Spring提供对下面四种远程访问技术的支持:远程方法调用(RMI)。通过使用RmiProxyFactoryBean和RmiServiceExporter,Spring支持传统的RMI(使用java.rmi.Remote interfaces 和 java.rmi.RemoteException)和通过RMI调用器(可以使用任何Java接口)的透明远程调用。
Spring的HTTP调用器。Spring提供一种特殊的远程调用策略支持任何Java接口(象RMI调用器一 ...
RMI原理及实现简介
RMI是远程方法调用的简称,象其名称暗示的那样,它能够帮助我们查找并执行远程对象的方法。通俗地说,远程调用就象将一个class放在A机器上,然后在B机器中调用这个
class的方法。
我个人认为,尽管RMI不是唯一的企业级远程对象访问方案,但它却是最容易实现的。与能够使不同编程语言开发的CORBA不同的是,RMI是一种纯Java解决方案。在RMI中,程
序的所有部分都由Java编写。
在看本篇文章时,我假定读者都已经具备了较扎实的Java基础知识,在这方面有欠缺的读者请自行阅读有关资料。
概念
我在前面已经提到,RMI是一种远程方法调用机 ...
RMI,远程方法调用(Remote Method Invocation)是Enterprise JavaBeans的支柱,是建立分布式Java应用程序的方便途径。RMI是非常容易使用的,但是它非常的强大。 RMI的基础是接口,RMI构架基于一个重要的原理:定义接口和定义接口的具体实现是分开的。下面我们通过具体的例子,建立一个简单的远程计算服务和使用它的客户程序一个正常工作的RMI系统由下面几个部分组成:
远程服务的接口定义 远程服务接口的具体实现 Stub 和 Skeleton 文件 一个运行远程服务的服务器 一个RMI命名服务,它允许客户端去发现这个远程服务 类文件的提供者(一个HTTP ...
java调用本地方法
- 博客分类:
- jvm
目前java与dll交互的技术主要有3种:jni,jawin和jacob。Jni(Java Native Interface)是sun提供的java与系统中的原生方法交互的技术(在windows\linux系统中,实现java与native method互调)。目前只能由c/c++实现。后两个都是sourceforge上的开源项目,同时也都是基于jni技术的windows系统上的一个应用库。Jacob(Java-Com Bridge)提
java虚拟机内置的安全特性
- 博客分类:
- jvm
java虚拟机在执行字节码时还进行其他一些内置的安全机制的操作。
1.类型安全的引用转换
2.结构化的内存访问(无指针算法)
3.自动化垃圾收集(不必显式地释放被分配的内存)
4.数组边界检查
5.空引用检查
java程序只能使用类型安全,结构化的方法去访问内存
这样可以避免黑客知道一个类装载器在内存中的位置,赋予一个指针指向那块内存,从而对类装载器的数据进行操作,而达到破坏安全系统的目的。
未指明运行时数据空间在java虚拟机内部是怎样分布的
运行时数据空间是指一些java虚拟机用来存储一个运行时java程序所需的内存空间。包括:java栈(每个线程一个),一个 ...