JAVA 单实例最佳实践

1.public class Singleton {
private static class SingletonHolder {
public static Singleton resource = new Singleton();
public static Singleton getResource() {
return SingletonHolder.resource ;
private Singleton(){

2.public class Singleton {
public static final Singleton INSTANCE = new Singleton();
private Singleton(){} http://www.huiyi8.com/jiaoben/
public void method(){  javascript特效
public static void main(String[] a){
//调用方法。
Singleton.INSTANCE.method();

3.* 利用枚举巧妙创建单实例
public enum Singleton {
INSTANCE;
public void method(){
public static void main(String[] a){
//调用方法。
Singleton.INSTANCE.method();
public class Singleton {

4. private static volatile Singleton instance = null;
* 防止其他人new对象
private Singleton(){
System.out.println("init");
public static Singleton getInstance(){
if(instance == null){
synchronized(Singleton.class){
if(instance == null){
instance = new Singleton();
return instance;

JAVA 单实例最佳实践

时间: 2024-11-05 18:37:39

JAVA 单实例最佳实践的相关文章

避免Java中NullPointerException的Java技巧和最佳实践

Java中的NullPointerException是我们最经常遇到的异常了,那我们到底应该如何在编写代码是防患于未然呢.下面我们就从几个方面来入手,解决这个棘手的?问题吧.? 值得庆幸的是,通过应用一些防御性编码技术并遵循应用程序多个部分之间的约定,您可以在一定程度上避免Java中的NullPointerException. 顺便说一下,在本文中,我们将学习一些Java的编码技术和最佳实践,这些技巧和最佳实践可用于避免的Java中的空指针异常.遵循这些Java的技巧还可以最大程度地减少很多Ja

java 读取文件最佳实践

1.  前言 Java应用中很常见的一个问题,如何读取jar/war包内和所在路径的配置文件,不同的人根据不同的实践总结出了不同的方案,但其他人应用却会因为环境等的差异发现各种问题,本文则从原理上解释最佳实践. 2.  参考方案 2.1.log4j log4j读取配置的代码是: PropertyConfigurator.configure(“log4j.properties”); 实际执行的文件读取是: FileInputStream istream = new FileInputStream(

Java异常处理之最佳实践

引言: publicvoidconsumeAndForgetAllExceptions(){     try{         ...some code that throws exceptions     } catch(Exception ex){         ex.printStacktrace();     } } 采用上面这种方式处理异常时,catch代码段接管控制权,然后catch段之后代码继续执行,好像什么都没有发生.   publicvoidsomeMethod() thro

java 导出 excel 最佳实践,java 大文件 excel 避免OOM(内存溢出) exce

产品需求 产品经理需要导出一个页面的所有的信息到 EXCEL 文件. 需求分析 对于 excel 导出,是一个很常见的需求. 最常见的解决方案就是使用 poi 直接同步导出一个 excel 文件. 客户体验 & 服务性能 客户体验 如果导出的文件比较大,比如几十万条数据,同步导出页面就会卡主,用户无法进行其他操作. 服务性能 导出的时候,任务比较耗时就会阻塞主线程. 如果导出的服务是暴露给外部(前后端分离),这种大量的数据传输十分消耗性能. 解决方案 使用异常处理导出请求,后台 MQ 通知自己进

Java Bean Validation 最佳实践

参数校验是我们程序开发中必不可少的过程.用户在前端页面上填写表单时,前端js程序会校验参数的合法性,当数据到了后端,为了防止恶意操作,保持程序的健壮性,后端同样需要对数据进行校验.后端参数校验最简单的做法是直接在业务方法里面进行判断,当判断成功之后再继续往下执行.但这样带给我们的是代码的耦合,冗余.当我们多个地方需要校验时,我们就需要在每一个地方调用校验程序,导致代码很冗余,且不美观. 那么如何优雅的对参数进行校验呢?JSR303就是为了解决这个问题出现的,本篇文章主要是介绍 JSR303,Hi

Java多线程并发最佳实践

使用本地变量 尽量使用本地变量,而不是创建一个类或实例的变量. 使用不可变类 String.Integer等.不可变类可以降低代码中需要的同步数量. 最小化锁的作用域范围:S=1/(1-a+a/n) a:并行计算部分所占比例 n:并行处理结点个数 S:加速比 当1-a等于0时,没有串行只有并行,最大加速比 S=n 当a=0时,只有串行没有并行,最小加速比 S = 1 当n→∞时,极限加速比 s→ 1/(1-a) 例如,若串行代码占整个代码的25%,则并行处理的总体性能不可能超过4. 该公式称为:

java 导出 excel 最佳实践,大文件 excel 避免OOM(内存溢出) 框架-02-API

项目简介 IExcel 用于优雅地读取和写入 excel. 避免大 excel 出现 oom,简约而不简单.. 特性 OO 的方式操作 excel,编程更加方便优雅. sax 模式读取,SXSS 模式写入.避免 excel 大文件 OOM. 基于注解,编程更加灵活. 写入可以基于对象列表,也可以基于 Map,实际使用更加方便. 设计简单,注释完整.方便大家学习改造. 变更日志 变更日志 v0.0.4 主要变化 引入 ExcelBs 引导类,优化使用体验. 创作缘由 实际工作和学习中,apache

Java自学最佳实践   get √

文/向右奔跑(简书作者)原文链接:http://www.jianshu.com/p/d99a1d7bb176 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者". 大榜现在唯品会从事供应链金融开发,他初中毕业,没有读高中,大专读了一个成人类的电大.自学Java开发. 去年(15年)大榜在技术上像开了挂一样成长.2月份的时候,项目中要用到ActiveMQ,让他先了解,我上京东看了一下,只有一本原版书.他在公司内部进行技术分享完,跟我说,公司的牛人那么多,初中生也跟大家讲课了.5

Java异常处理的10个最佳实践

本文作者: ImportNew - 挖坑的张师傅 未经许可,禁止转载! 异常处理在编写健壮的 Java 应用中扮演着非常重要的角色.异常处理并不是功能性需求,它需要优雅地处理任何错误情况,比如资源不可用.非法的输入.null 输入等等.Java 提供很多异常处理特性,通过内置的 try.catch.finally关键字实现.Java 同样允许创建新的异常和使用 throw 和 throws 抛出该异常.在实践中,异常处理不单单是知道语法这么简单.编写健壮的代码更像是一种艺术,而不是一门科学,在接