1. 共享,不属于对象,属于类,类成员变量,任何一个类的对象都有该属性,一旦被修改,则其他对象中的该属性也被更改。

2. 类中方法是static的,可以通过类名直接访问,不用new一个该类的对象。

3. 唯一,无论有多少类的对象,static属性在内存中只有一份。用于实现单例模式,连接池等问题。

简单单例模式

package weiguoyuan.chainunicom.cn;

class Single{
private static Single only = new Single();//private 封装 以免外界操作 static 只有一个
private Single(){}//外界不可以new 来访问构造函数
public static Single getOnly(){//public 外界访问口 static 才能由外界通过类名直接访问
return only;
}
}
public class TestSingle { public static void main(String[] args) {
Single s1 = Single.getOnly();
Single s2 = Single.getOnly();
System.out.println(s1==s2);
}
}

下面代码是为了获得jedis连接只操作一次的单例模式。

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPoolConfig; import com.wandoulabs.jodis.JedisResourcePool;
import com.wandoulabs.jodis.RoundRobinJedisPool; public class GetJedis{
private static JedisResourcePool jedisPool = new RoundRobinJedisPool("192.168.253.128:2181",
30000, "/zk/codis/db_test/proxy", new JedisPoolConfig());
public static Jedis getJedis(){
return jedisPool.getResource();
}
}
   //获得jedis连接
Jedis jedis = GetJedis.getJedis();

4. 静态代码块只在类加载的时候执行一次,一般用于初始化,和new出的对象个数无关。静态代码块中可以new该类的对象,可以用该对象访问类中非静态的方法属性。

5. 动态代码块可以理解为多个构造函数形同的部分,把这部分提取出来,有new操作,动态代码块就会执行一次,没有对象生成不执行。

package weiguoyuan.chainunicom.cn;

public class TestStatic {
static {
System.out.println("TestStatic static code1");
}
public TestStatic(){
}
public TestStatic(int i){
System.out.println("TestStatic Constructor");
}
{
System.out.println("TestStatic dynamic code");
}
static {
System.out.println("TestStatic static code2");
} }
class Test {
static {
System.out.println("Test static code1");
}
{
System.out.println("Test dynamic code");
}
public static void main(String[] args){
new TestStatic();
new TestStatic();
}
static {
System.out.println("Test static code2");
}
}

执行结果:

Test static code1
Test static code2
TestStatic static code1
TestStatic static code2
TestStatic dynamic code
TestStatic Constructor
TestStatic dynamic code
TestStatic Constructor

代码块先于构造方法执行

static 静态代码块 动态代码块 单例的更多相关文章

  1. 【代码笔记】iOS-登陆单例

    一,工程图. 二,代码. UserInfo.h #import <Foundation/Foundation.h> @interface UserInfo : NSObject + (id ...

  2. Java静态变量的用法:伪单例

    这几天遇到一个问题,一个Service里有一个map,但是这个Service有别的继承,于是每一个Service都会创建一个map,但是这个map应该是公用的,于是就有问题了...(按结构说Servi ...

  3. Unity3d Static 静态批处理和动态批处理

    表示物体时静态的,多用于静止不动的物体,此外static有多种,有的用于烘焙,有的用于遮挡剔除 物理效果是rigidbody组件,和这个没关系,用transform.Translate 无法移动,因为 ...

  4. 由阿里巴巴一道笔试题看Java静态代码块、静态函数、动态代码块、构造函数等的执行顺序

    一.阿里巴巴笔试题: public class Test { public static int k = 0; public static Test t1 = new Test("t1&qu ...

  5. Swift - 代码创建单例

    创建单例的方法 import UIKit //创建一个单例类 class SingleInstance: NSObject { //在单例类中,有一个用来共享数据的数组 var datas = [St ...

  6. Windows静态库和动态库的创建和使用

    偶们在实际的编程开发中,经常会遇到运行时无法找到某个DLL文件或者链接时无法找到某个LIB文件.然后,我们就开始乱GOOGLE一下,然后将VS2005的设置改变一下,或许就Ok了,我们将别人开发的DL ...

  7. Windows静态库和动态库的创建和使用(VS2005)

    偶们在实际的编程开发中,经常会遇到运行时无法找到某个DLL文件或者链接时无法找到某个LIB文件.然后,我们就开始乱GOOGLE一下,然后将VS2005的设置改变一下,或许就Ok了,我们将别人开发的DL ...

  8. 【Java学习笔记之三十】详解Java单例(Singleton)模式

    概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例.饿汉式单例.登记式单例. 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己创建 ...

  9. Java 单例(Singleton)模式

    一.什么是单例模式: 单例模式是一种确保了一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.被实例化的类称为单例类. 二.单例模式的特点: 单例类只有一个实例. 单例类必须自行创建自己唯一的 ...

随机推荐

  1. Linux查看程序端口占用情况【转】

    今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用. 使用命令: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程. 使用命令:netstat ...

  2. 第二章 XHTML基础

    1.一个网页,也就是一个XHTML文档,是由元素组成.元素定义了文本和图形在XHTML文档中的结构.XHTML文档的扩展名通常是.html或者htm. 2.XHTML元素使用XHTML标记定义,每个标 ...

  3. 在Android应用中使用OpenGL

    Android为OpenGL  ES支持提供了GLSurfaceView组件,这个组件用于显示3D图形.GLSurfaceView本身并不提供绘制3D图形的功能,而是由GLSurfaceView.Re ...

  4. css默认样式

    html, address,blockquote,body, dd, div,dl, dt, fieldset, form,frame, frameset,h1, h2, h3, h4,h5, h6, ...

  5. 求x^0+x^1+x^2+.......x^n mod p; x,n,p<=10^9

    方法一:快速幂.但是肯定还是超时. 方法二:利用等比数列公式,但是有除法,做不下去了. 方法三:有点分治的味道.. n为偶数时,x^0+x^1+x^2+.......x^n=(x^0+x^1+x^2+ ...

  6. JAVA每日一旅3

    1.关于byte byte在内存中占一个字节,范围是-128-127,128作强制类型转换到byte变成-128,因为128的二进制表示:1000 0000,最高位是符号位. 2.关于Hibernat ...

  7. A380上11万一张的机票什么享受?来看看

    上个月底,全球奢华航班排行榜出炉,新加坡航空头等舱荣登第一.不过,比头等舱更豪奢的,将近两万美元一张往返票的“套间”又是怎么样的呢? 新加坡航空的一名常旅客Derek Low就体验了一把全球最豪奢的坐 ...

  8. POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)

    本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...

  9. D.T SOFTWARE (1) 软件架构直播答疑课程

    今晚的d.t课程 1项目需求 PPTP服务搭建完成PPTP服务器的搭建,用户重新拨号获得新IP后,要求拔PPTP VPN成功时,也获取到新的公网IP,而且能通过代理上网.VNC服务安装用户可以通过VN ...

  10. IT人才最容易犯的17个错误--人生警言

    转载 记得刚参加工作时(那是97年),中国的IT刚刚兴起,那时,作为一个IT人士是一件很光荣的事,而那时的我正在做电气和电子相关的工作.99年第一次跳槽,进入了IT行业做软件开发.至今,中国的IT已经 ...