Java
文章平均质量分 70
普通网友
这个作者很懒,什么都没留下…
展开
-
深入Java单例模式
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://devbean.blog.51cto.com/448512/203501在GoF的23种设计模式中,单例模式是比较简单的一种。然而,有时候越是简单的东西越容易出现问题。下面就单例设计模式详细的探讨一下。 所谓单例模式,简单来说,就是在整个应用中保证只有一转载 2012-04-13 11:23:11 · 436 阅读 · 0 评论 -
Java中HashMap,LinkedHashMap,TreeMap的区别
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMapMap主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。1. HashMapHashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具转载 2012-05-29 19:01:00 · 718 阅读 · 0 评论 -
深入研究java.lang.Object类
前言:Java的类库日益庞大,所包含的类和接口也不计其数。但其中有一些非常重要的类和接口,是Java类库中的核心部分。常见的有String、Object、Class、Collection、ClassLoader、System、Runtime...,掌握类是灵活Java这门语言的基础。而这些类一般都很好理解和运用,需要做深入的研究和实践才能掌握。下面是我结合实践对这些类理解和使用的一些总结。欢迎你在转载 2012-05-15 12:20:49 · 733 阅读 · 0 评论 -
【Java】Timer和TimerTask详解
以下内容根据 The JavaTM Tutorial 和相关API doc翻译整理,以供日后参考:1. 概览Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。简单的一个例程:package test.util;import java.util.T转载 2012-06-04 22:03:48 · 840 阅读 · 0 评论 -
Java获取操作系统信息及指定时区的时间
import java.text.DateFormat;import java.util.Date;import java.util.Locale;import java.util.Properties;import java.util.TimeZone;public class SystemProperties { public static void main(String []原创 2012-06-07 20:48:45 · 2354 阅读 · 0 评论 -
利用Apache的CLI来处理命令行
CLI是Jakarta Commons中的一个子类。如果你仅仅只有一到两个参数需要处理,那么使用它有点多余,但是,如果你需要从命令行中捕获大多数应用程序的设置参数,那么使用CLI是恰到好处的。在使用CLI之前需要创建一个Options对象,该对象相当于一个容器,另外还有Option对象,每个Option对象相对于命令行中的一个参数。 Options opts = new O转载 2012-07-08 22:45:41 · 679 阅读 · 0 评论 -
javax.script包探秘 javascript与java交互执行
这个包用来和JavaScript进行互操作,比如JAVA类可以调用JavaScript中的方法,而JS也可调用 JAVA中的方法.1、可用的脚本引擎Java 6提供对执行脚本语言的支持,这个支持来自于JSR223规范,对应的包是javax.script。默认情况下,Java 6只支持javascript脚本,它底层的实现是Mozilla Rhino,它是个纯Java的javascr转载 2012-06-26 13:51:58 · 2069 阅读 · 0 评论 -
Eclipse Preferences的设置
1. Tab 键为2个空格宽度Windows->Preferences->General->Editors->Text Editors->Displayed tab width:2原创 2013-03-07 10:28:20 · 2765 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
深入研究java.lang.ThreadLocal类 一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一转载 2013-12-08 21:04:32 · 654 阅读 · 0 评论 -
java 使用jsch 远程链接linux执行命令
一个简单的jsch链接linux并执行命令的utils。import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import com.jcraft.jsch.Channel;import com.jcraf转载 2014-03-31 16:34:46 · 1098 阅读 · 0 评论 -
Java中断机制 Interrupt and Stop
1. 引言当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任务。Java没有提供一种安全直接的方法来停止某个线程,但是Java提供了中断机制。如果对Java中断没有一个全面的了解,可能会误以为被中断的线程将立马退出运行,但事实并非如此。中断机制是如何工作的?捕获或检测到中断后,是抛出转载 2014-05-05 15:31:20 · 671 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制转载 2012-05-29 16:45:42 · 424 阅读 · 0 评论 -
java中volatile关键字的含义
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchroniz转载 2012-05-28 15:26:30 · 607 阅读 · 0 评论 -
Java Immutable Class:如何创建,有哪些优点
Java中很多class都是immutable,像String,Integer等,它们通常用来作为Map的key.那么在实现自定义的Immutable的Class的时候,应该注意哪些要点呢? a)Class 应该定义成final,避免被继承。b)所有的成员变量应该被定义成final。c)不要提供可以改变类状态(成员变量)的方法。【get 方法不要把类里的成员转载 2012-04-16 14:29:36 · 2226 阅读 · 0 评论 -
Java 远程方法调用------RMI技术
RMI作为j2EE应用的主要技术之一,在分布式领域有着极强的生命力。正是因为rmi在分布式的应用能力,才让java渗透到除企业级应用的一些关键领域。比如云计算,hadoop的成功就是一个明显的例子。 首先需要明白的是rmi的主要目标:rmi就是为非分布式程序的开发者设计了一套编写分布式程序的接口,方法。说白了,就是简化了编写分布式程序的步骤,降低了编写分布式程序的门槛。转载 2012-04-16 18:59:27 · 877 阅读 · 0 评论 -
java静态方法不能多态也不能够重写
JAVA静态方法形式上可以重写,但从本质上来说不是JAVA的重写。因为静态方法只与类相关,不与具体实现相关,声明的是什么类,则引用相应类的静态方法(本来静态无需声明,可以直接引用),看下例子:class Base{ static void a( ){System.out.println("A"); } void b( ){System.out转载 2012-04-16 13:27:09 · 1960 阅读 · 0 评论 -
JAVA 继承 构造函数的执行顺序
最近看JAVA的继承关系中构造函数的执行顺序,有点晕,写了几个类验证一下,原代码如下:package com.hf.scjp.constructor;public class Parent1 { public static StaticTest stat=new StaticTest(1L); static { System.out.println("in par转载 2012-04-16 11:39:04 · 962 阅读 · 0 评论 -
怎么实现一个线程安全的单例模式呢?
我们通常会使用的这样的写法来实现单例: Java代码 public class Singleton { private Singleton() {} private static Singleton instance = null; public static Singleton getIn转载 2012-04-16 15:37:03 · 1370 阅读 · 0 评论 -
Java 如何调用DOS命令
示例程序如下:import java.io.IOException;import java.io.InputStream;public class RunDOS { public static void main(String[] args) { final String dosCommand = "ipconfig /all"; try { final Process原创 2012-05-02 15:48:43 · 710 阅读 · 0 评论 -
Java JDBC事务机制
Java JDBC事务机制首先,我们来看看现有JDBC操作会给我们打来什么重大问题,比如有一个业务:当我们修改一个信息后再去查询这个信息,看是这是一个简单的业务,实现起来也非常容易,但当这个业务放在多线程高并发的平台下,问题自然就出现了,比如当我们执行了一个修改后,在执行查询之前有一个线程也执行了修改语句,这是我们再执行查询,看到的信息就有可能与我们修改的不同,为了解决这一问题,我们必须引原创 2012-04-20 14:56:52 · 999 阅读 · 0 评论 -
Java创建、重命名、删除文件和文件夹
Java的文件操作太基础,缺乏很多实用工具,比如对目录的操作,支持就非常的差了。如果你经常用Java操作文件或文件夹,你会觉得反复编写这些代码是令人沮丧的问题,而且要大量用到递归。下面是的一个解决方案,借助Apache Commons IO工具包(commons-io-2.3.jar)来简单实现文件(夹)的复制、移动、删除、获取大小等操作。Apache Commons IO工具包下转载 2012-05-03 17:42:48 · 3303 阅读 · 0 评论 -
消息中间件原理及JMS简介
摘要:现今,越来越多的企业面临着各种各样的数据集成和系统整合,CORBA、DCOM、RMI等RPC中间件技术也应运而生,但由于采用RPC同步处理技术,在性能、健壮性、可扩展性上都存在着诸多缺点。而基于消息的异步处理模型采用非阻塞的调用特性,发送者将消息发送给消息服务器,消息服务器在合适的时候再将消息转发给接收者;发送和接收是异步的,发送者无需等待,二者的生命周期也可以不必相同,而且发送者可以将转载 2012-04-23 15:14:24 · 1191 阅读 · 0 评论 -
Java事务与JTA
一、什么是JAVA事务 通常的观念认为,事务仅与数据库相关。 事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示当事务执行失败时,所有被该事务影响的数转载 2012-04-23 16:20:21 · 1385 阅读 · 0 评论 -
java对象的实例化过程
关于对象的实例化过程:1.检查类是否加载,如果没有加载就加载这个类,要加载所有父类;懒式加载(按需加载):如果第一次用到加载,只加载一下.通过ClassPath制定的路径寻找类文件(.class) 加载以后是一个对象,类型是class.获得这个类对象:student.class-->class实例2.在内存堆中分配对象空间.递归分配所有父类和子类属性空间.先父类型再子类型,属性默认自转载 2014-06-19 16:53:44 · 798 阅读 · 0 评论