码迷,mamicode.com
首页 > 其他好文 > 详细

everything is a object

时间:2017-11-25 19:20:34      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:组织   上下   random   string   存储   活性   文档   换算   持久   

一切都是对象

用引用操纵数据

这里要用例子去形象的去理解:比如你用一个page对象, 分页的时候会用到, 用page对象的引用,传到一个方法中, 方法中实现的功能是去数据库拿值, 拿到后在方法中进行改变。

这样做结果是否会改变?

这样的题目问的其实就是值传递和引用传递, 引用传递改变的其实是,地址,这样做会改变地址中存储的值的数据。而如果传递的是一个基本数据类型的引用, 那么传递的则是数值, 也就不会影响。


必须由你创建所有对象

存储引用到哪里去呢
1.存到寄存器,寄存器,位于Cpu存储器的内 部,是速度最快的存储方式。另外C和C++允许你 向编译器建议存储在何处,而Java不行。
2.堆栈,位于RAM中,random accept memory,速度仅次于寄存器, 它有一个指针向上移动则释放内存,向下移动则分配新的内存空间。创建程序时候,系统必须知道的确切的生命周期,为了上下移动,分配和释放资源,这样做做法灵活性,特别是对象的引用会放在堆栈当中
3.堆, 一种通用的内存池,编译器不需要知道存储的数据在堆中的生命周期,自动进行分配,但是这种灵活性是有代价的, 代价是付出性能的代价。
4.常量存储,常量值通常放在代码内部(也就是代码段中), 这样比较安全,对于这话的理解,我是觉得 final int a = 3; 里面的3是位于data段,里面的 a 也就是常量位于代码段中,所以书中作者翻译过来是放下代码内部。
程序在内存中的组织形式是段,有堆栈段、数据段和代码段。对于数据指针指向数据,函数指针则指向某个代码。
技术分享图片

5.非RAM存储,意思是指存活在程序之外, 程序运行在内存cpu的寄存器, 活于程序之外就是指在内存之外, 也就是说在磁盘内。被人称做流对象,或者持久化对象, 就像Java中IO流的流一样, 数据就像流水一样。所以用流。

基本数据类型是比较特殊的类型,因为他们不需要new一个对象,因为他们是放在堆栈中的, 引用中是直接存放,而不是存放地址的引用。所以不需要
6.基本数据类型的字节数,要在脑海中这个印象,不需要记成具体数字, 比如byte 1字节, short2字节, int 4个字节, long 8个字节, float 4个字节, double 8个字节。 浮点型要比整型精度来的低, 换算的规则是 1字节等于八位Bite, 也就是2的8次方。 Boolean类型占2字节, char类型得看编码, Unicode的中文char是占两个字节
还有一个存放更大的数据的类。叫做BigInteger, BigDecimal支持任意精度
关于数组:c++和c中是用于直接操作内存, 所以在初始化之前使用数组之前是很危险的事情。而在Java中创建数组其实就是创建一个数组的引用, 创建数组的引用的化,会自动初始化的时候为引用赋值, 初始化的规则:整型为0, 浮点型为0.0, char类型为/u000, Boolean型为false, String等引用类型为null.

永远不需要销毁对象

创建新的数据类型:类

方法、参数、返回值

构建一个Java程序

你的第一个Java程序

注释和嵌入式文档

编码风格

everything is a object

标签:组织   上下   random   string   存储   活性   文档   换算   持久   

原文地址:http://www.cnblogs.com/jwlxtf/p/7895969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!