Java 基础
文章平均质量分 75
iteye_5568
这个作者很懒,什么都没留下…
展开
-
Java中的数值计算
转自:http://www.iteye.com/topic/39112 《Effective Java》这本书中提到,float和double只能用来做科学计算或者 是工程计算,在商业计算中我们要用 java.math.BigDecimal。BigDecimal,一共有4个够造 方法,如果需要精确计算,非要用String来够造BigDecimal不可! 给一个网上的流传的工...原创 2010-06-11 07:01:06 · 304 阅读 · 0 评论 -
优秀Java程序员必须了解的GC工作原理
(转自 http://www.builder.com.cn/2008/0805/1039491.shtml)一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率 ,才能提高整个应用程序的性能。本篇文章首先简单介绍GC的工作原理之后,然后再对...原创 2010-11-25 06:52:08 · 87 阅读 · 0 评论 -
几种版权信息详解
BSD开源协议(original BSD license、FreeBSD license、Original BSD license)BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础...原创 2010-11-25 06:49:28 · 584 阅读 · 0 评论 -
Java JDK 1.4 JCE Provider issue.
Bundled JCE provider in jdk1.4 can't cope with keys bigger than 2048. If you are working on a websrvice, which needs using https to access, you maybe will be in trouble as commocial certificate...原创 2010-11-25 06:48:46 · 110 阅读 · 0 评论 -
Why use Map.entrySet() instead of Map.keySet()?
(From http://www.coderanch.com/t/382487/Java-General/java/Why-use-Map-entrySet) If you just need keys, use keySet(). If you just need values, use values(). If you're going to use key...原创 2010-11-25 06:45:17 · 186 阅读 · 0 评论 -
Credit Card Mod10 校验
以下是几种Mod10的实现。第一种最为简洁,最后一种最为易懂。你喜欢哪一种? /** * Check whether a credit card number is valid or not according to the Luhn algorithm (MOD10).<br/> * <br/> ...原创 2010-11-25 06:27:14 · 541 阅读 · 0 评论 -
如何知道方法的调用者
转自http://hellboys.bokee.com/1904804.html比如有2个类:ClassA,ClassB ClassA的一个实例调用了ClassB的一个方法,通过动态代理可以截取这个调用,但是不能获得是谁调用了ClassB的方法,如何才能截取到呢, 下面给个思路.java代码: public static String getCaller(){ ...原创 2010-11-25 05:57:42 · 1003 阅读 · 0 评论 -
Java加解密的基础
在Java的安全包中,包括了三部分内容:1、JCA/JCE(Java Cryptography Architecture & JavaCryptography Extensions)2、JSSE( Java Secure-Sockets Extension)3、JAAS( Java Authentication & AuhorizationServ...原创 2010-11-25 05:49:09 · 200 阅读 · 0 评论 -
Java日志框架:SLF4J, Apache Common-Logging, Log4J和Logback
Log4jApache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;用户也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,用户能够更加细致地控制日志的生成过程。这些可以通过一个 配置文件来灵活地进行配置,而不需要修改程序代码。 ...原创 2010-11-25 05:47:35 · 138 阅读 · 0 评论 -
Java SE 6新特性:Instrumentation
(转自http://baike.baidu.com/view/1589420.html) Java SE 6新特性:Instrumentation,利用 Java 代码,即 java.lang.instrument 做动态 Instrumentation 是 Java SE 5 的新特性,它把 Java 的 instrument 功能从本地代码中解放出来,使之可以用 Java 代码的方式解...原创 2010-11-25 05:35:44 · 218 阅读 · 0 评论 -
JAVA变量类型之间的相互转换
(转自 http://www.builder.com.cn/2008/0805/1039835.shtml)一、 整型、实型、字符型变量中的相互转换 在Java中整型、实型、字符型被视为同一类数据,这些类型由低级到高级分别为(byte,short,char)??int??long??float??double,低级变量可以直接转换为高级变量,例如,下面的语句可以在J...原创 2010-11-25 06:52:47 · 149 阅读 · 0 评论 -
JAVA基础:共享内存在Java中的实现和应用
(转自 http://www.builder.com.cn/2008/0424/831162.shtml) 1 共享内存对应应用开发的意义 对熟知UNIX系统应用开发的程序员来说,IPC(InterProcess Communication)机制是非常熟悉的,IPC基本包括共享内存、信号灯操作、消息队列、信号处理等部分,是开发应用中非常重要的必不可少的工具。...原创 2010-11-25 06:54:44 · 745 阅读 · 0 评论 -
用commons.fileupload实现文件的上传和下载
转自http://www.blogjava.net/ronghaocommons.fileupload实现文件的上传,代码如下:<%! //服务器端保存上传文件的路径 String saveDirectory = "g:\\upload\\"; // 临时路径 一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的...原创 2010-11-25 06:55:44 · 118 阅读 · 0 评论 -
Java中数值计算的精度问题
《Effective Java》这本书中提到,float和double只能用来做科学计算或者是工程计算,在商业计算中我们要用 java.math.BigDecimal。BigDecimal,一共有4个够造方法,如果需要精确计算,非要用String来够造BigDecimal不可! 以下内容来自:http://leojose.iteye.com/blog/387327 Java...原创 2010-06-11 06:22:11 · 182 阅读 · 0 评论 -
MathUtil - 四舍五入
由于Java的float和double数值,在进行计算时,无法保证数据的精度,四舍五入的需要就迫切需要。 当然,用long再除以100也不错,但比较麻烦。 或采用BigDecimal也将会是一个比较好的选择,但其不可变的特性又使得计算中长生大量的垃圾对象。如果程序中需要进行计算,有想保持精度,那就使用一个四舍五入来处理吧。 这是一个个人编写的用于数值计算后四舍五入的小程序。 pub...2010-06-11 06:13:52 · 317 阅读 · 0 评论 -
设计模式之事务处理
转自 http://www.blogjava.net/killme2008/archive/2007/02/06/98217.html 事务处理是企业应用需要解决的最主要的问题之一。J2EE通过JTA提供了完整的事务管理能力,包括多个事务性资源的管理能力。但是大部分应用都是运行在单一的事务性资源之上(一个数据库),他们并不需要全局性的事务服务。本地事务服务已然足够(比如JDBC事务管理)...原创 2010-11-25 07:36:08 · 125 阅读 · 0 评论 -
设计自己的MVC框架(1)
转自 http://www.blogjava.net/killme2008/archive/2007/02/06/98227.html事实是最近读《J2EE设计模式》讲述表达层模式的那几章,书中有一个前端控制器+command模式的workflow例子,就琢磨着可以很简单地扩展成一个MVC框架。花了一个下午改写了下,对书中所述的理解更为深入。我想这也许对于学习和理解设计模式,以及初次接...原创 2010-11-25 07:27:57 · 171 阅读 · 0 评论 -
设计自己的MVC框架(2)
转自 http://www.blogjava.net/killme2008/archive/2007/02/06/98227.html6。前端控制器(FrontController),它的任务我们已经很清楚,初始化配置文件;存储所有action到 ServletContext供整个框架使用;得到发起请求的path,提供给Dispachter查找相应的action;调用Dispatc...原创 2010-11-25 07:24:49 · 94 阅读 · 0 评论 -
使用Annotation设计持久层
(From http://www.blogjava.net/killme2008/archive/2007/02/06/98239.html) 这篇文章的想法来自于过去的两篇文章:《设计自己的MVC框架》《设计模式之事务处理》链接:http://www.javaresearch.org/article/59935.htmhttp://www.javaresearch.org...原创 2010-11-25 06:59:39 · 85 阅读 · 0 评论 -
Jakarta Commons StringUtils类使用
转自http://www.blogjava.net/ronghao 检查字符串是否为空或null或仅仅包含空格 String test = ""; String test1=" "; String test2 = "\n\n\t"; String test3 = null; System.out.println( "test blank? " + Str...原创 2010-11-25 06:58:13 · 88 阅读 · 0 评论 -
Jakarta Commons ArrayUtils类使用
转自http://www.blogjava.net/ronghaoprimitive 数组克隆及反转排序 long[] array = { 1, 3, 2, 3, 5, 6 }; long[] reversed = ArrayUtils.clone( array ); ArrayUtils.reverse( reversed ); System.out.pri...原创 2010-11-25 06:57:36 · 99 阅读 · 0 评论 -
Reflection的三个动态性质
转自http://www.blogjava.net/ronghao一、执行期根据方法的名称来执行方法下面的示例演示了这一操作:import java.lang.reflect.*;public class method2 { public int add(int a, int b) { return a + b; } public stati...原创 2010-11-25 06:56:47 · 107 阅读 · 0 评论 -
Java虚拟机JVM - 关于内存的设置与调优
来自: http://fengyouhua.iteye.com/blog/58170 JVM内存的设置的原理 默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError。设置jvm内存的方法,对于单独的.class,可以用下面的方法对Test运行时的jvm内存进行设置。java -Xms64...原创 2010-05-21 02:47:05 · 83 阅读 · 0 评论 -
JVM内存模型以及垃圾收集策略解析【续】
来自:http://yuquan-nana.iteye.com/blog/599750三 垃圾收集策略配置 3.1 吞吐量优先 吞吐量是指GC的时间与运行总时间的比值,比如系统运行了100分钟,而GC占用了一分钟,那么吞吐量就是99%,吞吐量优先一般运用于对响应性要求不高的场合,比如web应用,因为网络传输本...原创 2010-05-15 00:34:20 · 120 阅读 · 0 评论 -
正确理解ThreadLocal(2)
来自http://www.iteye.com/topic/103804 (上接正确理解ThreadLocal(1)) 可以看到ThreadLocal类中的变量只有这3个int型: Java代码 private final int threadLocalHashCode = nextHashCode(); ...原创 2010-05-14 06:47:49 · 93 阅读 · 0 评论 -
正确理解ThreadLocal(1)
来自http://www.iteye.com/topic/103804首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过T...原创 2010-05-14 06:35:07 · 89 阅读 · 0 评论 -
内部类和匿名类优化Java代码
(来自:http://developer.51cto.com/art/200706/48964.htm)Java 1.1通过对Java语言规范进行修改,显著简化了一些实用结构的实现。在那些修改中,最引人注目的就是内部类和匿名类。如运用得当,它们可使程序更易理解和维护。下面来看看这些特性具体是如何工作的,如何正确使用它们,以及如何避免一些常见的错误。内部类简单地说,“内部类”是...原创 2010-05-14 05:39:49 · 106 阅读 · 0 评论 -
匿名类与内部类
(来自:http://jnotnull.iteye.com/blog/231333) 提起Java内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在C++里也有,那就是嵌套类(Nested Class),关于这两者的区别与联系,在下文中会有对比。内部类从表面上看,就是在类中又定义了一个类(下文会看到,内部类可以在很多地方定义),而实际上并没有那么简单,乍看上去内部类似乎...原创 2010-05-14 05:35:28 · 62 阅读 · 0 评论 -
JBOSS 启动 加载 过程
(转自: http://blog.csdn.net/ylli_800/archive/2009/10/30/4748656.aspx) 本文以JBoss Application Server 4.2.1 GA(以下简称JBoss)为例,介绍它在Windows平台上的启动过程。为了方便叙述,对平台环境做以下假定:Java运行时的安装路径为C:\Java...原创 2010-09-11 00:26:36 · 140 阅读 · 0 评论 -
JAVA性能优化—Sun Hotspot JDK JVM参数设置
(转自: http://www.hashei.me/2009/05/tuning-the-sun-hotspot-jdk.html) 本文主要根据这篇PDF(GCTuningGuidelines)写成。首先是JDK1.5引入的新功能 Ergonomic Settings(自动优化的参数)对于有2块CPU和2GB内存及更佳配置的服务器,Sun的hotspot jdk默...原创 2010-09-11 00:18:58 · 127 阅读 · 0 评论 -
WebSphere的类加载机制和故障排查
(转自:http://www.hashei.me/2009/05/websphere-class-loader-troubshooting.html) 在部署WebSphere应用的过程中,经常会发生诸如:ClassCastException、ClassNotFoundException、NoClassDefFoundException、UnsatisfiedLinkError...原创 2010-09-11 00:16:18 · 429 阅读 · 0 评论 -
Websphere类加载机制
(转自: http://blog.csdn.net/cmingjun/archive/2010/06/22/5686465.aspx) Java应用程序运行时,在class执行和被访问之前,它必须通过类加载器加载使之有效,类加载器是JVM代码的一部分,负责在JVM虚拟机中查找和加载所有的Java 类和本地的lib库。类加载器的不同配置影响到应用程序部署到应用程序...原创 2010-09-11 00:14:16 · 197 阅读 · 0 评论 -
Tomcat类加载机制
(转自:http://blog.163.com/haizai219@126/blog/static/44412555200810111429791/http://andyao.iteye.com/blog/34409)Tomcat Server在启动的时候将构造一个ClassLoader树,以保证模块的类库是私有的Tomcat Server的ClassLoader结...原创 2010-09-11 00:02:44 · 75 阅读 · 0 评论 -
实战Concurrent(1)
来自http://www.iteye.com/topic/363625 编写多线程的程序一直都是一件比较麻烦的事情,要考虑很多事情,处理不好还会出很多意想不到的麻烦。加上现在很多开发者接触到的项目都是打着企业级旗号的B/S项目,大多数人都很少涉及多线程,这又为本文的主角增加了一份神秘感。 讲到Java多线程,大多数人脑海中跳出来的是Thread、Runnable、synch...原创 2010-05-14 06:59:43 · 100 阅读 · 0 评论 -
实战Concurrent(2)
来自http://www.iteye.com/topic/363625 2、Lock多线程编程中常常要锁定某个对象,之前会用synchronized来实现,现在又多了另一种选择,那就是java.util.concurrent.locks。通过Lock能够实现更灵活的锁定机制,它还提供了很多synchronized所没有的功能,例如尝试获得锁(tryLock())。 ...原创 2010-05-14 07:01:38 · 87 阅读 · 0 评论 -
实战Concurrent(3)
来自http://www.iteye.com/topic/363625 3、并发集合类集合类是大家编程时经常要使用的东西,ArrayList、HashMap什么的,java.util包中的集合类有的是线程安全的,有的则不是,在编写多线程的程序时使用线程安全的类能省去很多麻烦,但这些类的性能如何呢?java.util.concurrent包中提供了几个并发结合类,例如...原创 2010-05-14 07:04:44 · 111 阅读 · 0 评论 -
JVM内存模型以及垃圾收集策略解析
来自:http://yuquan-nana.iteye.com/blog/599750一 JVM内存模型 1.1 Java栈 Java栈是与每一个线程关联的,JVM在创建每一个线程的时候,会分配一定的栈空间给线程。它主要用来存储线程执行过程中的局部变量,方法的返回值,以及方法调用上下文。栈空间随着线程的终止而释放。S...原创 2010-05-15 00:23:56 · 86 阅读 · 0 评论 -
深入Java虚拟机:JVM中的Stack和Heap
来自 http://www.searchsoa.com.cn/showcontent_32691.htm 在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认识Stack和Heap,并通过这些原理认清Java中静态方法和静态属性的问题。 一般,JVM的内存分为两部分:Stack和Heap。 Sta...原创 2010-05-15 00:07:18 · 77 阅读 · 0 评论 -
Java高级基础备忘
来自http://jnotnull.iteye.com/blog/429061 幽灵引用 -- 好强大的文章http://www.iteye.com/topic/401478 ThreadLocal -- 非常全面解释了这个怪东东http://www.iteye.com/topic/103804 Concurrent -- 并发啊ht...原创 2010-05-14 08:01:10 · 101 阅读 · 0 评论 -
Java Reference的简单总结
来自 http://www.iteye.com/topic/334692J ava 2 平台中引入 java.lang.ref 包(其中包含 SoftReference 、 WeakReference 、PhantomReference 和 ReferenceQueue 类)...原创 2010-05-14 07:59:26 · 82 阅读 · 0 评论