
java
长空飞鹰
互联网IT技术族
展开
-
java Class
Class类是在Java语言中定义一个特定类的实现。一个类的定义包含成员变量,成员方法,还有这个类实现的接口,以及这个类的父类。Class类的对象用于表示 当前运行的Java 应用程序中的类和接口。 比如:每个数组均属于一个 Class 类对象,所有具有相同元素类型和维数的数组共享一个Class 对象。基本的 Java类型(boolean, byte, char, short, int, long转载 2009-02-17 08:46:00 · 338 阅读 · 0 评论 -
servlet线程安全
Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题。然而,很多人编写Servlet/JSP程序时并没有注意到多线程安全性的问题,这往往造成编写的程序在少量用户访问时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题。Servl转载 2009-02-17 08:35:00 · 387 阅读 · 0 评论 -
java浅复制和深度复制
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。本文会让你了解什么是影子clone与深度clone,认识它们的区别、优点及缺点。看到这个标题,是不是有点困惑:Java语言明确说明取消了指针,因为指针往往转载 2009-02-17 08:43:00 · 782 阅读 · 0 评论 -
java 运算符优先级
优先级运算符结合性1() [] .从左到右2! +(正) -(负) ~ ++ --从右向左3* / %从左向右4+(加) -(减)从左向右5 >> >>>转载 2009-02-17 08:47:00 · 439 阅读 · 0 评论 -
JNI(java native interface)
Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。可以将native方法比作Java程序同C程序的接口,其实现步骤:1、在Java中声明native()方法,然后编译;2、用javah产生一个.h文件; 3、写一个.cpp文件实现native转载 2009-02-17 08:48:00 · 483 阅读 · 0 评论 -
Java多线程编程详解
一:理解多线程多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。转载 2009-02-17 11:35:00 · 406 阅读 · 0 评论 -
读取配置参数的properties文件,路径获取完美解决
读取配制文件的时候,路径问题让人挠头,使用下面的方法,可方便获取classpath绝对路径:Thread.currentThread().getContextClassLoader().getResource("").getPath();测试了一下,我在Eclipse下的java project 和 web project 的src目录下都放有相同内容的一个MailInfo.propert转载 2009-03-13 11:00:00 · 1407 阅读 · 0 评论 -
Java源码分析:Integer中的位运算
Integer中用到了很多位运算,而java整数的固定长度也为位运算提供不少便利性,下面对Integer中的经典方法做分析(这些方法基本上都用到了位运算,原因很简单:高效,并行) 1.求整数中二进制1的个数public static intbitCount(int i) { // HD, Figure 5-2i= i - ((i >>> 1) & 0x555原创 2009-04-16 09:24:00 · 1117 阅读 · 1 评论 -
OpenSessionInView与Hibernate事务处理机制
"openSessionInViewInterceptor"class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">"sessionFactory">"sessionFactory"/> "urlMapping"class="org.springframe转载 2009-05-18 08:21:00 · 900 阅读 · 0 评论 -
hibernate二级缓存攻略
ibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了。 二级缓存是SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache、oscache等,需要设置hibernate.cache.provider_class,我们这里用ehcac转载 2009-05-18 08:23:00 · 511 阅读 · 0 评论 -
hibernate的N+1问题的分析与解决
Query.iterator()的N+1问题的解决:Hibernate Iterator JCS分析 JCS(Java Caching System)是一个对象Cache,它可以把Java对象缓存起来,提高那些访问频率很高的Java对象的存取效率。JCS是按照对象的唯一标示来存取对象的,比如说可以按照对象的hashCode来存取。 对于Hibernate来说,可以利用JCS来缓存查转载 2010-12-28 21:54:00 · 573 阅读 · 0 评论 -
Hibernate延迟加载
延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。下面我们就分别介绍这些种类的延迟加载的细节。 A、实体对象的延迟加载: 如果想对实体对象使用延迟加载,必须要在实体的转载 2010-12-28 22:16:00 · 470 阅读 · 0 评论 -
java虚拟机
目录 一、什么是Java虚拟机二、Java虚拟机的生命周期三、Java虚拟机的体系结构四、数据类型五、字节长度六、类加载器子系统七、方法区八、堆九、PC寄存器十、Java堆栈十一、堆栈帧十二、本地方法堆栈十三、执行引擎十四、本地方法接口 一、什么是Java虚拟机 当你谈到Java虚拟机时,你可能是指:转载 2008-11-18 16:03:00 · 492 阅读 · 0 评论 -
Javarebel的使用
ROR之所以开发效率比java高,除了语法的简洁和框架本身强大的功能之外,程序员不必反复的重启服务也是重要原因之一。JavaRebel 给Java带来了Ruby和PHP风格的动态重新装载类特性。虽然现在还有些局限性,但它可以显著地增加开发速度。JavaRebel允许一个应用程序(独立的或运行在应用服务器上的应用)重新装载在运行过程中发生的大多数类变化,包括增加或删除方法和域。JavaRebel可以转载 2008-12-04 20:56:00 · 1080 阅读 · 0 评论 -
ThreadLocal的设计与使用
早在Java1.2推出之时,Java平台中就引入了一个新的支持:java.lang.ThreadLocal,给我们在编写多线程程序时提供了一种新的选择。使用这个工具类可以很简洁地编写出优美的多线程程序,虽然ThreadLocal非常有用,但是似乎现在了解它、使用它的朋友还不多。 ThreadLocal是什么ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而转载 2009-01-08 19:00:00 · 693 阅读 · 0 评论 -
AOP是什么
为什么要区分J2EE容器和J2EE应用系统? 我们知道,J2EE应用系统只有部署在J2EE容器中才能运行,那么为什么划分为J2EE容器和J2EE应用系统?通过对J2EE容器运行机制的分析(见我的电子教材“EJB实用原理”),我们可以发现:实际上J2EE容器分离了一般应用系统的一些通用功能,例如事务机制、安全机制以及对象池或线程池等性能优化机制。 这些功能机制是每个应用系统几乎都需要的,转载 2009-02-16 22:07:00 · 543 阅读 · 0 评论 -
反编译jar包
//首先使用jar命令将jar文件解压缩到classes目录jar -xvftest.jar -C classes//jar -xvftest.jar//然后使用jad对classes目录进行反编译//其中-r表示恢复源文件的目录结构, -ff 表示将类属性定义放在类方法定义之前// -d表示输出目录, -s 表示文件的扩展名jad.exe -r -ff -d src -s转载 2009-02-17 08:25:00 · 550 阅读 · 0 评论 -
java数据库代码
/* * Db.javaCreated on 2007年8月20日, 上午 8:37*/importjava.io.*;importjava.sql.*;importjava.util.Properties;public class Db { private String driver; private String url; private转载 2009-02-17 08:28:00 · 779 阅读 · 0 评论 -
java时间函数代码
/** * 将某个日期以固定格式转化成字符串 * * @param date * @return String */ publicstatic String dateToStr(java.util.Date date) { SimpleDateFormat sdf = newSimpleDate转载 2009-02-17 08:29:00 · 546 阅读 · 0 评论 -
java中调用dll总结
java 调用dll文件时几个注意点:1. package的使用 2. javah的使用 3.path路径的设定 下面实例介绍java调用dll中的Max函数:hello.javapackage 2hei.net.dll;public class hello{ static { //System.out.println(转载 2009-02-16 20:05:00 · 414 阅读 · 0 评论 -
Web Service简介
Web service到底是什么;在什么情况下你应该使用Web service。 分布式应用程序和浏览器 研究一下当前的应用程序开发,你会发现一个绝对的倾向:人们开始偏爱基于浏览器的瘦客户应用程序。这当然不是因为瘦客户能够提供更好的用户界面,而是因为它能够避免花在桌面应用程序发布上的高成本。发布桌面应用程序成本很高,一半是因为应用程序安装和配置的问题,另一半是因为客户和服务器之间通转载 2009-01-02 14:54:00 · 689 阅读 · 0 评论 -
java6 vs java5
Danny Coward在他的博客中列出了Java SE 6的十大新功能,同时也是他认为你应该升级到Java SE 6上的十大原因。这十大看点依次是:1.性能和质量: Java 6同Java 5不一样,没有新的语言特征,是一个以稳定、提高为目的的版本。Java 6不论是服务器端还是客户端版本都有了两位数百分比的提高,根据领域的不同Java 6性能提高了20%-40%。在质量转载 2008-11-16 22:14:00 · 681 阅读 · 0 评论 -
java容器
发表时间:2008.11.18编 者:长空飞鹰(http://hi.youkuaiyun.com/oanqoanq) 容器类对于新的开发是最强大的工具之一,可以大幅度提高编程效率。java为我们在java.util包提供了一系列容器接口和类以及操作容器的工具类Arrays, Collections等等。 数组转载 2008-11-18 20:11:00 · 617 阅读 · 0 评论 -
String的创建及管理
在讲到String的一些特殊情况时,总会提到String Pool或者Constant Pool,但是我想很多人都不太明白Constant Pool到底是个怎么样的东西,运行的时候存储在哪里,所以在这里先说一下Constant Pool的内容。String Pool是对应于在Constant Pool中存储String常量的区域.习惯称为String Pool,也有人称为String Co转载 2008-12-02 08:03:00 · 612 阅读 · 0 评论 -
Overload和Override的区别
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。转载 2008-12-09 09:12:00 · 507 阅读 · 0 评论 -
JSP学习笔记
端口tomcat默认端口号为8080,ie默认为80,可在tomcat安装目录下的conf中找到server.xml,在文中找到<Connector port="8080"…,将8080改为80便可。 根目录tomcat默认根目录为安装目录下的webapps/ROOT,可在server.xml中找到Host name="localhost"appBase="webapps"原创 2009-02-16 19:17:00 · 522 阅读 · 0 评论 -
Ant基础
1,什么是ant ant是构建工具2,什么是构建 概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处 跨平台 --因为ant是使用java实现的,所以它跨平台 使用简单--与ant的兄弟make比起来 语法清晰--同样是和make相比 功能强大--ant能做的事情很多,可能你用了很转载 2009-02-16 21:12:00 · 458 阅读 · 0 评论 -
java数字代码
/** * 判断任意一个整数是否素数 * * @param n * @return boolean */ publicstatic boolean isPrimes(int n) { for (int i = 2; i { if (n % i ==转载 2009-02-17 08:26:00 · 508 阅读 · 0 评论 -
java字符串代码
/** * 将指定byte数组以16进制的形式打印到控制台 * * @param hint * String * @param b * byte[] * @return void */ publicstatic void printHexStr转载 2009-02-17 08:27:00 · 492 阅读 · 0 评论 -
java文件代码
import java.io.*;importjava.util.ArrayList;importjava.util.List;public class FileCopy {private Stringmessage = "";public StringgetMessage() { return message;} public voi转载 2009-02-17 08:28:00 · 393 阅读 · 0 评论 -
Dom4j学习笔记
attributeValue(QName qname):通过指定qualified name获得属性值,如果无法找到指定的属性,则返回null。attributeValue(QName qname, String defaultValue):通过指定qualified name获得属性值,如果无法找到指定的属性,则返回defaultValue。attributeValue(String n转载 2009-02-17 08:31:00 · 636 阅读 · 0 评论 -
Java学习从入门到精通
Java Learning Path(一)、工具篇 一、 JDK (JavaDevelopment Kit) JDK是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是S转载 2009-02-17 08:34:00 · 509 阅读 · 0 评论 -
J2EE的核心API与组件
J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对J2EE中的13种技术规范进行简单的描述(限于篇幅,这里只能进行简单的描述): JDBC(Java Database Connectivity):JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,转载 2009-02-17 08:35:00 · 388 阅读 · 0 评论 -
ThreadLocal的设计与使用
早在Java1.2推出之时,Java平台中就引入了一个新的支持:java.lang.ThreadLocal,给我们在编写多线程程序时提供了一种新的选择。使用这个工具类可以很简洁地编写出优美的多线程程序,虽然ThreadLocal非常有用,但是似乎现在了解它、使用它的朋友还不多。 ThreadLocal是什么ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而转载 2009-02-17 08:47:00 · 406 阅读 · 0 评论 -
深入探讨 Java 类加载器
类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,Java 应用转载 2010-12-29 01:52:00 · 489 阅读 · 0 评论 -
java5 vs java4
1 循环5.01.4for (type variable : array){ body}for (int i = 0; i type variable = array[i]; body}for (type variable : arrayList){ body转载 2008-11-16 22:23:00 · 599 阅读 · 0 评论 -
static、this、super、final用法简谈
本篇旨在帮助准备学习Java以及刚接触Java的朋友认识、掌握和使用static、this、super、final这几个关键字的使用。Java博大精深,我也是一位正在学习和使用Java的爱好者,文中难免有不妥之处,欢迎指正。 一、static 请先看下面这段程序: public class Hello{ public st转载 2008-12-12 17:13:00 · 576 阅读 · 0 评论 -
JAVA的日期应用:Date、DateFormat、Calendar
具体类(和抽象类相对)java.util.Date 抽象类java.text.DateFormat 和它的一个具体子类,java.text.SimpleDateFormat 抽象类java.util.Calendar 和它的一个具体子类,java.util.GregorianCalendar 具体类可以被实例化, 但是抽象类却不能. 你首先必须实现抽象类的一个具体子类。转载 2009-01-02 13:45:00 · 690 阅读 · 0 评论 -
java高手的成长历程
很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛! 要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是SunONE(Open NetEnvironm转载 2009-02-17 08:32:00 · 404 阅读 · 0 评论 -
EJB spring hibernate structs
EJB EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序,类似微软的.com技术。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。 EJB (EnterpriseJavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 在J2EE里,Enterpri转载 2009-02-17 08:35:00 · 611 阅读 · 0 评论