![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 81
iteye_13085
这个作者很懒,什么都没留下…
展开
-
Java编程中“为了性能”尽量要做到的一些地方
[size=medium]最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单...原创 2012-03-13 09:05:01 · 57 阅读 · 0 评论 -
JDK5.0新特性系列---11.4线程 Condition
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurr...原创 2012-05-02 11:05:30 · 75 阅读 · 0 评论 -
JDK5.0新特性系列---11.6线程 BlockingQueue
importjava.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors; /** 本例介绍一个特...原创 2012-05-02 11:05:39 · 82 阅读 · 0 评论 -
JDK5.0新特性系列---11.5.4线程 同步装置之Exchanger
/** * Exchanger让两个线程互换信息 * 实例模拟服务生和顾客,服务生往空杯子中倒水,顾客从装满水的杯子中喝水,然后互换杯子,服务生接着倒水,顾客接着喝水. *//** * 使用Exchanger的关键技术点如下: * 1.初始化Exchanger对象时,可以通过泛型指定杯子能交换的信息类型.如"new Exchanger<String>;"表...原创 2012-05-02 11:05:47 · 99 阅读 · 0 评论 -
JDK5.0新特性系列---11.5.2线程 同步装置之CountDownLatch
import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * CountDownLatch维护一个计数器,等待这个CountDownLatch的线程必须等到计数器为0时才可以...原创 2012-05-02 11:05:55 · 91 阅读 · 0 评论 -
Java 中的Double Check Lock
对于多线程编程来说,同步问题是我们需要考虑的最多的问题,同步的锁什么时候加,加在哪里都需要考虑,当然在不影响功能的情况下,同步越少越好,锁加的越迟越优是我们都必须认同的。DCL(Double Check Lock)就是为了达到这个目的。 DCL简单来说就是check-lock-check-act,先检查再锁,锁之后再检查一次,最后才执行操作。这样做的目的是尽可能的推迟锁的时间。网上普遍举的一...原创 2012-05-03 10:53:55 · 389 阅读 · 1 评论 -
JDK5.0新特性系列---11.5.1线程 同步装置之Semaphore
import java.util.ArrayList;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;import java.util.concurrent.locks.Lock;i...原创 2012-05-03 10:54:03 · 105 阅读 · 0 评论 -
JDK5.0新特性系列---11.2线程 任务执行架构
import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concur...原创 2012-05-03 10:54:12 · 91 阅读 · 0 评论 -
JDK5.0新特性系列---11.3线程 锁Lock
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks...原创 2012-05-03 10:54:18 · 109 阅读 · 0 评论 -
JDK5.0新特性系列---11.1线程 Callable和Future
import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future; /** 从本节开始,主要介绍J2SE5.0与线程相关的...原创 2012-05-03 10:54:28 · 125 阅读 · 0 评论 -
JDK5.0新特性系列---8.泛型编程
import java.util.ArrayList;import java.util.Collection;import java.util.List; /** *泛型编程关键掌握两点: *1.在方法参数中使用通配符 *2.在方法的参数类型和返回类型中使用通用类型 *//**关键技术 *1.通配符问号(?)表示任意类型.如"List<?>...原创 2012-04-28 08:58:19 · 104 阅读 · 0 评论 -
JDK5.0新特性系列---10.监控与管理虚拟机
import java.lang.management.ClassLoadingMXBean;import java.lang.management.CompilationMXBean;import java.lang.management.GarbageCollectorMXBean;import java.lang.management.ManagementFactory;...原创 2012-04-28 08:58:12 · 147 阅读 · 0 评论 -
JDK5.0新特性系列---9.注释功能Annotation
import java.lang.annotation.ElementType;import java.lang.annotation.Target;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;/**关键技术 * 1.Java常用的内置注释 * ...原创 2012-04-28 08:58:03 · 101 阅读 · 0 评论 -
servlet单实例多线程模式
Servlet的生命周期:1. Servlet在web服务器启动时被加载并实例化,容器运行其init方法初始化,请求到达时运行其service方法;2. service运行请求对应的doXXX(doGet,doPost)方法;3. 服务器销毁实例,...原创 2012-04-10 15:15:30 · 74 阅读 · 0 评论 -
GlassFish安装下载和Eclipse热部署
一、GlassFish安装配置之前需要先安装配置好JDK和Ant。下面先介绍JDK和Ant的下载、安装和配置 1.JDK 下载地址:java.sun.com/javase/downloads/index.jsp这里有各个版本的JDK的下载,选择相应适合的版本下载, 下载完成是.exe格式文件,直接安装即可。注意:安装路径最好不要有空格。 配置环境: Window...原创 2012-04-13 09:23:24 · 152 阅读 · 0 评论 -
JAVA移位运算符)
移位运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。 在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,规定实际移动的次数是移动次数和32的余数,也就是移位33次和移位...原创 2012-04-20 13:32:29 · 142 阅读 · 0 评论 -
JDK5.0新特性系列---2.新的for循环
import java.util.ArrayList;import java.util.List; /** * 新的for循环,格式为for(type x:type y) * 表示遍历数组或集合y的元素,把元素值赋给x */public class ForEach { /**对整数数组求和*/ public static long ...原创 2012-04-26 21:48:17 · 117 阅读 · 0 评论 -
JDK5.0新特性系列---3.枚举类型
/** *enum关键字表示枚举类型,它的作用相当于类声明中的class关键字 *枚举类型不能有public的构造方法 *所有的枚举值都是public、static、final的,这些修饰符都是自动加上,无须程序员手动添加 *枚举值之间用逗号","分开,最后一个枚举值后面接分号";" *每一个枚举值是一个枚举类型的实例 *可以在枚举类型中定义非枚举值变量,这些变量可以...原创 2012-04-26 21:50:37 · 98 阅读 · 0 评论 -
JDK5.0新特性系列---4.静态导入
/** *静态导入:是指可以import类的静态方法和静态变量,在使用时,无须指定类名, * 便可以使用这些被import的静态方法和静态变量,这就是静态导入 *写import语句时,可以定位到一个静态方法或静态变量(以前是定位到类) *可以使用通配符(*)代表导入该类的所有静态方法和静态变量 *不允许静态方法和静态变量出现重名的情况*/impor...原创 2012-04-26 21:51:17 · 88 阅读 · 0 评论 -
JDK5.0新特性系列---5.可变长参数Varargs
/** * 在J2SE5.0之前,当传入到方法的参数个数不固定时,经常采用数组的方式传递参数 * 在J2SE5.0之后,可以使用可变长参数的我给方法传递参数 *//** * 在参数类型和参数名之间使用"..."(三个英文的点),表示该参数为可变长的 * 通过新的for循环读取可变长参数中的值 * 一个方法里最多只能有一个变长参数,而且这个变长参数一定要放在参数表的...原创 2012-04-26 21:53:20 · 72 阅读 · 0 评论 -
JDK5.0新特性系列---7.使用ProcessBuilder执行本地命令
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Out...原创 2012-04-28 08:57:55 · 481 阅读 · 0 评论 -
apache 中的EqualsBuilder和HashCodeBuilder
自动化hashCode()和equals() 问题产生:当需要自动实现hashCode()和equals()方法 解决方法:使用EqualsBuilder和HashCodeBuilder 使用举例: import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.bu...原创 2012-05-04 10:27:33 · 193 阅读 · 0 评论