前言:总结一下类加载的过程,于静态代码块、静态变量、事例变量等一些构建方式。因为这部分挺绕的,容易出错。 1、在java中可以将对象分为两大体系:字节码对象和实例对象 1.1、字节码对象: 每个类在加载(将类读到内存)时都会创建一个字节码对象,且这个对象在一个JVM内存中是唯一的.此对象中存储的是类 ...
分类:
其他好文 时间:
2019-04-20 12:42:32
阅读次数:
216
@[TOC] static关键字特点 随着类的加载而加载 static修饰的变量和方法都会放在方法区中静态区,是属于类的。 静态变量属于类不属于对象 对象也可以使用静态变量 当没有对象时可以直接用类来调用静态变量 被类的所有对象共享 静态的内容存在于方法区的静态区 static的使用 可以通过类名调 ...
分类:
其他好文 时间:
2019-04-20 00:01:35
阅读次数:
150
直接看代码 public class Variable { // 静态变量,属于类的变量,且用关键字static声明,不属于实例,虽然可以通过实例来调用,但是不建议 private static int staticVar; // 成员变量,属于类对象的变量 private String insta ...
分类:
编程语言 时间:
2019-04-15 23:29:51
阅读次数:
187
程序在内存中的存储分为三个区域,分别是动态数据区、静态数据区和代码区。函数存储在代码区,全局变量以及静态变量存储在静态数据区,而在程序执行的时候才会在动态数据区产生数据。程序执行的本质就是代码区的指令不断执行,驱使动态数据区和静态数据区产生数据变化。 代码区与动态数据区由三个寄存器控制,分别是eip ...
分类:
其他好文 时间:
2019-04-12 00:57:23
阅读次数:
174
我的答案: 静态变量和实例变量的区别是静态变量的访问是不依赖对象的,因为在类加载的链接阶段(检验、准备、解析)的准备阶段时他们就被送入JVM方法区。被static修饰的代码在程序中之后被执行一次。 巨佬的答案: 在语法定义上的区别: 静态变量前要加static,而实例变量不需要。 在程序运行时的区别 ...
分类:
其他好文 时间:
2019-04-11 01:38:34
阅读次数:
150
众所周知,static 是静态修饰关键字:可以修饰变量,程序块,方法,类。 1.修饰变量。 得知:如果static修饰的是变量,则JVM会将将其分配在内存堆上,该变量就与对象无关,所有对该变量的引用都指向同一个地址。 因此我们使用该变量的时候,直接指明类的静态变量,当然修饰符必须 public 使用 ...
分类:
其他好文 时间:
2019-04-09 00:55:42
阅读次数:
149
Windows和Linux对决(多进程多线程) https://blog.csdn.net/world_2015/article/details/44920467 太长了 还没看完.. 还是没太理解好呢.. 关于 windows 和 linux的东西 先放这里 晚上有时间仔细啃一下. Windows ...
分类:
编程语言 时间:
2019-04-07 09:41:18
阅读次数:
246
私有构造函数、私有静态变量以及 公有静态函数 几种形式: 1 懒汉式(不安全) 不使用时不加载 2 饿汉 安全 3 懒汉式 线程安全 加锁方式 不推荐使用 4 双重检查锁 线程安全 只对实例化的部分代码进行加锁 考虑下面的实现,也就是只使用了一个 if 语句。在 uniqueInstance == ...
分类:
其他好文 时间:
2019-04-03 22:22:39
阅读次数:
211
11、静态变量存在哪? 静态变量存储在方法区中。(类信息、常量和静态变量都存储在方法区中) 12、讲讲什么是泛型? 泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型);比如:ArrayList<E> E就是泛型,这种不确定的数据类型需要在使用这个类 ...
分类:
编程语言 时间:
2019-04-02 12:35:23
阅读次数:
176
一、线程的优先级 1.线程优先级分为1-10(低-高),通过代码自行调控 2.默认优先级为5,一般可以通过静态变量设置一个最大优先级与最小优先级。 3.优先级只会影响就绪状态的顺序,不会影响运行状态的线程,即高优先级不会把正在运行的低优先级的线程代替。 4.通过setProirity()与getPr ...
分类:
编程语言 时间:
2019-04-02 12:19:21
阅读次数:
167