文档章节

ThinkingInJava_2

心中的理想乡
 心中的理想乡
发布于 2015/10/21 23:28
字数 1072
阅读 11
收藏 0

    今天Gloria在我这住,我说我换了个博客,她说:你是不是怕我看你的啥啊?我立马将博客的新地址发到了她的工作邮箱,以备“检阅”。嘿嘿~~我一起毕业如今和我合租的哥们儿那天讲了一句话,也是很传统的一句话:有个姑娘在家,真好。是的是很好,今天Gloria帮我收拾了我自从住进来就没动过的衣柜,井井有条了,很舒心!谢谢Gloria,有你真好。

1、在Java中所有对对象的操纵都是用“引用(reference)”来实现的
2、Java对于内存的几个划分:
①寄存器:最快的存储区,因为它位于处理器的内部,你并不能在程序中控制寄存器
②堆栈:位于通用RAM(随机访问存储器)上面,通过堆栈指针对堆栈进行控制,向上移动为释放内存,向下移动则为分配内存,Java里面的引用便存在这里面
③堆:一种通用的内存池,也位于RAM中,用于存放Java的对象,这个也是Java垃圾回收器主要回收的区域
④常量存储:常量值通常存在这个地方,这样做是安全的,因为他们永远不会被改变
⑤非RAM存储:这个主要用于持久化的存储,在计算机断电之后RAM是会被清除的,非RAM存储能长久保存我们所要保存的数据
3、Java中的除了“一切都是对象”的对象进行处理之外,还有几个基本类型,这些基本类型都存储在堆栈之上,下面是基本类型的一些总结:
boolean 没有大小 没有最小值 没有最大值 Boolean 
char 16bit Unicode0 Unicode2^16-1 Character
byte 8bit -128 127 Byte
short 16bit -2^15 2^15-1 Short
int 32bit -2^31 2^31-1 Integer
long 64bit -2^63 2^63-1 Long
float 32bit IEEE754 IEEE754 Float
double 64bit IEEE754 IEEE754 Double
并没有无符号数值类型,不过可以通过移位之类的运算进行模拟,boolean类型所占的存储空间大小没有明确的指定,仅定义为能够取字面值true或false
4、高精确计算类BigInteger(任何大小的整数而不会丢失任何信息)和BigDecimal(任何精度的定点数)
5、c++中将一个较大的作用域的变量“隐藏”起来的做法,在Java中是不允许的,设计者们的思维是认为这么做会导致程序的混乱。例子:

{
    int x = 12;
    {
        int x =96;//c++可以Java不可以
    }
}

5、对于默认值的设定,只有当变量作为类成员变量使用时,Java才会给定其默认值,以确保那些是基本类型的成员变量得到初始化(老的c++并没有,而c++11加入了此功能);然而初始化这种变量,并不适用于局部变量,如果局部变量没有初始化(手动),Java在编译时候会报错。基本类型的默认值统计如下:
boolean false
char '\u0000'(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d
6、方法名和参数列表(他们合起来被称为“方法签名”)唯一地标示出某个方法。
7、参数传递当中,基本类型的传递为值传递,对于对象类型的参数传递,其实都是引用传递。这两个在传递的过程之中,其实都是在方法的内部进行了一次隐藏的复制,前者是对基本类型的变量进行了复制,而后者则是对引用进行了复制,与原引用同时指向一个对象。
8、当生命一个事物是static的时候,就意味着这个域或是方法不会与包含它的那个类的任何对象实例关联在一起,所以,即使从未创建某个类的任何对象,也可以调用static方法或是访问其static的域。static的一个重要的用法就是不创建任何的对象的前提下就可以使用他。

© 著作权归作者所有

共有 人打赏支持
下一篇: ThinkingInJava_1
心中的理想乡
粉丝 19
博文 75
码字总数 101203
作品 0
深圳
程序员
私信 提问
Java工程师看过来:入门到高级书单都在这!

关于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是,多!看!书!Java程序员你们准备好了吗?我们大圣众包(www.dashengzb.cn)双手奉上Java程序员必读之热门书单。 入...

大圣众包
2017/01/18
0
0
《Thinking in Java》Two 一切都是对象 OOP

1、用"引用(reference)"操纵对象 一个有趣的比喻:每种编程语言都有自己操纵内存中变量的方式,例如,C/C++中用指针。在Java这里都得到了简化,一切都被看作对象,用对象的引用操作对象。可...

DouDouLee
2016/03/24
52
1
Java 枚举7常见种用法

DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。 枚举就是把一类东西归类,然后定义每个枚举值的类型都是该枚举类,同时又可以通过类的特征为...

飓风2000
2014/07/24
66
0
java枚举的使用方法

参考:http://www.iteye.com/topic/1116193 DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。 用法一:常量 在JDK1.5 之前,我们定义常量都是:...

noteman
2016/09/04
13
0
《Java编程思想》第四版读书笔记 第十六章 数组

16.1 数组为什么特殊 数组与其他种类的容器之间的区别有三方面:效率、类型和保存基本类型的能力。在Java中数组是一种效率最高的存储和随机访问对象引用序列的方式。数组就是一个简单的线性序...

一万
2016/07/05
49
0

没有更多内容

加载失败,请刷新页面

加载更多

码云项目100,水一发

简单回顾一下: 早期构想最多的,是希望能将PHP一些类和编码分区做得更细,所以很多尝试。但不得不说,PHP的功能过于单一,是的,也许写C/C++扩展,可以解决问题,那我为什么不用C#或者Golan...

曾建凯
14分钟前
1
0
Spring应用学习——AOP

1. AOP 1. AOP:即面向切面编程,采用横向抽取机制,取代了传统的继承体系的重复代码问题,如下图所示,性能监控、日志记录等代码围绕业务逻辑代码,而这部分代码是一个高度重复的代码,也就...

江左煤郎
今天
4
0
eclipse的版本

Eclipse各版本代号一览表 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse基本内核包括:图形API(SWT/Jface),Java开发环...

mdoo
今天
3
0
SpringBoot源码:启动过程分析(一)

本文主要分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 还是老套路,先把分析过程的时序图摆出来:时序图-SpringBoot2.10启动分析 二.源码分析 首...

Jacktanger
今天
4
0
小白带你认识netty(二)之netty服务端启动(上)

上一章 中的标准netty启动代码中,ServerBootstrap到底是如何启动的呢?这一章我们来瞅下。 server.group(bossGroup, workGroup);server.channel(NioServerSocketChannel.class).optio...

天空小小
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部