java内存是由jvm进行管理的,其内存简易模型如下图: java内存是由jvm进行管理的,其内存简易模型如下图: jvm管理的内存大体上可分为方法区、堆、程序计数器、线程栈、本地方法区这几部分。方法区:主要存放类的元信息(包括类的名称、修饰符、静态变量、final常量、属性信息、方法信息)。本区域 ...
分类:
其他好文 时间:
2019-05-25 15:48:19
阅读次数:
95
预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化
分类:
编程语言 时间:
2019-05-24 23:54:41
阅读次数:
232
单例模式 唯一的实例 注意:私有化构造器、自行创建(含有一个该类的静态变量来保存唯一实例)、必须自行向整个系统提供这个实例(对外提供获取该实例对象的方式:1、直接暴露2、静态变量的get方法获取) 几种常见形式 饿汉式:直接创建对象,不存在线程安全问题 直接实例化饿汉式简洁直观 枚举式 最简洁 静态 ...
分类:
其他好文 时间:
2019-05-24 00:52:45
阅读次数:
120
静态static注意事项 在静态方法中是没有this关键字的 1,静态是随着类的加载而加载,this是随着对象的创建而存在。 2,静态比对象先存在。 静态方法只能访问静态的成员变量和静态的成员方法 静态方法: 成员变量:只能访问静态变量 成员方法:只能访问静态成员方法 非静态方法: 成员变量:可以是 ...
分类:
编程语言 时间:
2019-05-23 16:50:07
阅读次数:
94
变量: 成员变量: 类变量(静态变量): 1.被static修饰的变量 2.在内存中只有一个拷贝 3.类内部,可以在任何方法内直接访问静态变量 4.其他类中,可以直接通过类名访问 5.在方法里不可以定义静态变量,但是可以访问,只能在类里定义 6.语法:[修饰符] static 数据类型 变量名[=数 ...
分类:
编程语言 时间:
2019-05-21 11:00:15
阅读次数:
106
1.试述计算机系统中的存储器层次。为什么要配置层次式的存储器? 计算机系统的存储器层次结构自上而下依次分为:寄存器、缓存、内存、磁盘、磁带5层 寄存器、缓存和内存属于操作系统存储管理的管辖范畴,磁盘和磁带属于文件管理和设备管理的管辖对象 配置层次式的存储器可以加快地址转换速度,提高程序执行速度。多层 ...
分类:
其他好文 时间:
2019-05-18 23:55:47
阅读次数:
230
在Java语言中,变量的类型主要有3种:成员变量、静态变量和局部变量 首先说静态变量跟局部变量 静态变量不依赖于特定的实例,而是被所有实例共享,也就是说,只要一个类被加载,JVM就会给类的静态变量分配 存储空间。因此可以通过类名.变量名来访问静态变量 局部变量的作用域与可见性为它所在的花括号内 类的 ...
分类:
编程语言 时间:
2019-05-14 13:07:14
阅读次数:
110
业务逻辑:声明一个变量用于统计个数,这个变量应该被类的实例共享(可以被所有的对象访问); 所以这个变量应该放在方法区。 所以这样的变量应该由static来声明 static可以修饰变量、方法、代码块和内部类 static属性属于这个类所有,即由该类创建的所有对象共享同一个static属性。 可以在对 ...
分类:
其他好文 时间:
2019-05-11 23:11:40
阅读次数:
185
在PHP开发过程中,递归算法通常用于无限极分类。那么所谓递归就是一种函数调用自身的机制。简单来说就是在函数体内直接或间接自己调用自己,但需要设置自调用的条件,若满足条件,则调用函数本身,若不满足则终止本函数的自调用。 并且递归算法的实现方法是有多种的,如通过“静态变量”、“全局变量”、“引用传参”的 ...
分类:
编程语言 时间:
2019-05-06 14:31:25
阅读次数:
151
什么是线程安全? 如果多个线程同时运行,而这些线程都访问了共享数据。程序每次运行的结果和单线程运行的结果都是一样的。而其他的变量的值和预期的是一样的,这就是线程安全。如果产生的结果和预期的不一样,这样的问题,我们就称之为线程安全问题。线程安全问题都是由全局变量和静态变量引起的。 如何解决线程安全问题 ...
分类:
编程语言 时间:
2019-05-06 01:33:18
阅读次数:
164