静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。 静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。用法1:函数内部声明的static变量,可作为对象间的一种通信机制 如果一局部变量被声明为static,那么将只有唯一的 ...
分类:
其他好文 时间:
2017-06-15 14:19:16
阅读次数:
161
编译的时候出现这个问题。使用1.7的jdk没问题,但是由于po主的项目中,使用了java8编写的代码,解决java8兼容问题成为解决这个问题的首选方案。 这个日志太过简单,只告知一个异常信息,这个异常发生的原因主要是由于静态类,静态变量初始化时发生了异常,po的项目是个很早的项目,静态类太多,无法直 ...
分类:
编程语言 时间:
2017-06-14 13:06:06
阅读次数:
333
1.【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。 2.【强制】所有的覆写方法,必须加@Override注解。反例:getObject()与 get0bject()的问题。一个是字母的 O,一个是数字的 0,加@Override可以准确判 ...
分类:
编程语言 时间:
2017-06-13 19:52:44
阅读次数:
429
这是我面试遇到的一道题,题目如下: 这道题考察的是静态变量和动态变量的区别,答案是2,2 3,3。 对于a的值是2,是毫无疑问的。 b在这里有static修饰,说明b是静态变量,可以直接StaticTest.b来调用,a需要new出StaticTest 对象来调用。 b随着类的加载而存在,随着类的消 ...
分类:
编程语言 时间:
2017-06-13 19:11:47
阅读次数:
203
方法区(Method Area)与java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。虽然java虚拟机规范把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫做Non-Heap(非堆),目的应该是与java堆分开。 ...
分类:
编程语言 时间:
2017-06-13 11:22:42
阅读次数:
125
定义:确保一个类只有一个实例,并提供一个全局访问点。 一、线程不安全的 1、饱汉式,只有在被第一次调用的时候才创建实例。 package com.singleton; public class Singleton { // 利用静态变量创建唯一实例 private static Singleton ...
分类:
其他好文 时间:
2017-06-10 13:48:34
阅读次数:
201
属性方法 属性方法的作用就是通过@property把一个方法变成一个静态属性。 调用时会报错,提示TypeError: 'NoneType' object is not callable。因为eat此时已经变成一个静态属性了,不是一个方法。想调用已经不需要加()号,直接使用d.eat即可。 正常调用 ...
分类:
编程语言 时间:
2017-06-09 23:40:00
阅读次数:
281
1、执行顺序 1.1、一个类中的初始化顺序 (静态变量、静态初始化块)=>(变量、初始化块、构造器)。 1.2、两个具有继承关系类的初始化顺序 父类的(静态变量、静态初始化块)=> 子类的(静态变量、静态初始化块)=> 父类的(变量、初始化块、构造器)=> 子类的(变量、初始化块、构造器)。 示例如 ...
分类:
编程语言 时间:
2017-06-09 23:38:33
阅读次数:
317
内存结构栈堆方法区 栈 在方法中声明的局部变量保存在栈中,方法执行结束后栈中数据会被回收 堆 堆中保存的是对象的信息,使用new关键字创建的对象信息。堆中信息会被java的垃圾回收器回收。 方法区 方法区保存的是类的信息和静态变量 static关键字使用static修饰变量使用static修饰方法使 ...
分类:
其他好文 时间:
2017-06-09 20:26:17
阅读次数:
175
Java 基础知识 首次复习、 1.作用域 其实就是这个变量可以起作用的范围. 2.有时候碰到的 value ,其实就一个变量名 ,别想的太复杂。 3.Java 局部变量,实例变量 ,类变量(静态变量)区别 1,局部变量 是类的方法中的变量; 2.实例变量 类中独立于方法之外的变量 不过没有stat ...
分类:
编程语言 时间:
2017-06-09 19:16:54
阅读次数:
196