文档章节

ThinkingInJava_2

心中的理想乡
 心中的理想乡
发布于 2015/10/21 23:28
字数 1072
阅读 12
收藏 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
心中的理想乡

心中的理想乡

粉丝 23
博文 76
码字总数 104605
作品 0
深圳
程序员
私信 提问
Java 枚举(enum) 详解7种常见的用法

版权声明:觉得此文有用的,不嫌麻烦的,就留个言呐,或者点个赞呐(额,就是文章底部的“顶”啦),要是嫌弃麻烦呢,也麻烦点个赞嘛,要是实在不想点赞呢,也不是不可以。 但是,你要是想踩一...

李学凯
2016/08/11
0
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枚举的使用方法

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

noteman
2016/09/04
13
0
Java 枚举7常见种用法

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

飓风2000
2014/07/24
66
0

没有更多内容

加载失败,请刷新页面

加载更多

Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
1
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部