对象存在哪里?
来源:互联网 发布:淘宝怎么查看我的评价 编辑:程序博客网 时间:2024/04/30 07:01
对象存储到什么地方:
1, 寄存器
(CPU内部)最快的存储区 但是数量有限。不由你控制,根据需求自动分配
2, 堆栈
位于RAM(随机访问存储器) 通过指针移动来分配内存,向下移动分配新内存,向上移动释放内存。速度仅此于寄存器。
但是必须知道存在堆栈内所有项的确切生命周期。所以java对象并不存储在堆栈中。
3, 堆:
一种通用的内存池(也是位于RAM中)存放所有的java对象。不同于栈的好处是:编译器不需要知道存储的数据在堆里面能存活多久
4, 常量存储:
通常直接存放在程序代码内部。这样做安全呀,他们永远不会被改变。
5, 非RAM存储
,如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。两个最基本的列子:
流对象 :对象转化为字节流,发送给另一台机器
持久化对象:对象被存放在磁盘
这种存储方式的技巧在于:把对象转换为可以存放在其他媒介的事物,在需要时,可以恢复成常规的,基于RAM的对象。
1.RAM的一般结构它由三部分电路组成:
1)行、列地址译码器:它是一个二进制译码器,将地址码翻译成行列对应的具体地址,然后去选通该地址的存储单元,对该单元中的信息进行读出操作或进行写入新的信息操作。
例如:一个10位的地址码A4A3A2A1A0=00101,B4B3B2B1B0=00011时,则将对应于第5行第3列的存储单元被选中。
2)存储体:它是存放大量二进制信息的“仓库”,该仓库由成千上万个存储单元组成。而每个存储单元存放着一个二进制字信息,二进制字可能是一位的,也可能多位。
存储体或RAM的容量:存储单元的个数*每个存储单元中数据的位数。
例如,一个10位地址的RAM,共有210个存储单元,若每个存储单元存放一位二进制信息,则该RAM的容量就是210(字)×1(位)=1024字位,通常称1K字位(容量)。
3)I/O及读/写控制电路:该部分电路决定着存储器是进行读出信息操作还是写入新信息操作。输入/输出缓冲器起数据的锁存作用,通常采用三态输出的电路结构。因此,RAM可以与其它的外面电路相连接,实现信息的双向传输(即可输入,也可输出),使信息的交换和传递十分方便。
基本类型
new是将对象存放在堆里面,所以new一个对象,小的 简单的对象不是很有效。所以java创建一个并非是引用的“自动”变量这个变量直接存储值,并置于堆栈中,因此更加高效。
Boolean类型所占存储空间的大小没有明确指定,仅定义能够取字面值true或false
BigInteger和BigDecimal用于高精度计算的类,只不过必须以方法调用,由于这么做复杂了一些,所以这里用运算速度换取运算精度。
public static void main(String[] args) { System.getProperties().list(System.out); System.out.println(System.getProperty("user.name")); System.out.println(System.getProperty("java.library.path")); }
第一行将显示从运行程序的系统中获取的所有属性,因此它可以向你提供环境信息,list()方法将结果发送给它的参数,后面是获取具体的属性。
- 对象存在哪里?
- java对象报存在哪里
- ASP.NET中的系统对象存在哪里,什么时候创建呀???
- 数据存在哪里Java
- Hadoop日志到底存在哪里?
- Hadoop日志到底存在哪里?
- Hadoop日志到底存在哪里?
- Linux 中文件名存在哪里?
- Hadoop的日志存在哪里?
- Hadoop日志到底存在哪里
- systemd的日志存在哪里?
- static修饰的变量存在哪里
- MySQL的存在空间在哪里?
- Spark应用程序运行的日志存在哪里
- 关于cookie存在哪里的问题?
- Java对象在哪里创建
- 判断对象是否存在
- 判断对象是否存在
- Python条件变量同步
- 位运算符总结
- MySQL数据库学习01-数据库基础知识和MySQL简介
- Android开发---RxJava+Retrofit封装
- macOS High Sierra 的锁屏功能
- 对象存在哪里?
- Redis与mysql同步之路
- HTML5 跨平台app调试api接口方案
- Rxjava2(二)
- 实例:把一个/oldboy目录及其子目录所有的扩展名.sh结尾的文件中包含oldboy的字符全部替换为beautiful
- Python队列同步
- Maven项目中缺少jar包引起的报错 nested exception is java.lang.NoClassDefFoundError
- 【Emgucv】图像卷积(TEST)
- solr-4.10.3的IK Analyzer分词器配置