• 一切都是对象


    用句柄操纵对象

    JVM是怎么通过句柄访问对象的(或者说句柄究竟是个什么东西),给我的感觉就像指针或者引用。也有人说句柄就是“受到了严格限制和防范的指针”。在给方法传参数的时候需要注意。


    所有的对象必须创建

    程序运行时可以保存数据的六个地方:寄存器、堆栈(对象句柄)、堆(对象)、静态存储(JAVA对象永远不会置于静态存储空间)、常熟存储、非RAM存储。

    8种不用new初始化的变量:boolean、byte、short、char、int、floatlong、double。从小到大排序。java里面是没有unsigned类型的,曾今写加密程序的时候在这个问题上的纠结,好菜。另外还有两种高精度:BigInteger、BigDecimal。

    Java中new一个数组的时候得到的也是一个“数组句柄”,初始化之后所有对象句柄都为“null”。Java比C++多做了很多的检查。


    绝对不要清除对象

    Java和C++的作用域有些不同的地方,比如:

    public class test {
    	public static void main(String[] args){
    		{
    			int x = 0;
    			{
    				int x = 1;//报错
    			}
    		}
    	}
    }
    

    Java中有“垃圾回收器”,在对象不用的时候它会负责去释放这些内存,所有释放对象这种事情就不用我们操心了。如果每次对象我们知道不用了就释放掉内存,下次需要的时候再重新申请内存,这样会影响效率吧。后面再详细说明。


    新建数据类型:类

    如果类的成员是主类型,那么即使不明确地进行初始化,也可以保证它们获得唯一的默认值。


    方法、自变量和类

    是不是新的语言总是不喜欢用旧的语言的说法所有才有了“Method”而不是“Function”?


    构建Java程序

    文件的可见性,C++中用“命名空间”搞定,而Java中则用一个一个的包来做。在需要其他模块的时候就用“import”引入。这里提了一下“static”这个关键字。具体的特别的地方还是在“初始化”那块详细说明吧。

    --------------------------------------霸气的分割线--------------------------------------

    昨天晚上通宵了今天也没睡。。。

    如有错误,欢迎拍砖。

  • 相关阅读:
    2w字 + 40张图带你参透并发编程!
    完了,这个硬件成精了,它竟然绕过了 CPU...
    一文详解 Java 并发模型
    详解匈牙利算法与二分图匹配
    机器学习 | 详解GBDT在分类场景中的应用原理与公式推导
    Python | 浅谈并发锁与死锁问题
    LeetCode 91,点赞和反对五五开,这题是好是坏由你来评判
    LeetCode 90 | 经典递归问题,求出所有不重复的子集II
    【Azure DevOps系列】什么是Azure DevOps
    MSIL入门(四)之委托delegate
  • 原文地址:https://www.cnblogs.com/ggzwtj/p/2114779.html
Copyright © 2020-2023  润新知