• Java中零碎的知识


    一、Java中length,length(),size()区别

    1、 Java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性;
    2、Java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法;
    3、Java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看。


    二、C语言中的内存泄露问题

    若在C语言中,有多个指针变量指向一块动态内存


    内存使用完要用free(P)释放,如果不释放则内存越用越少,导致内存泄露;

    如果free多次,则会使程序崩溃。

    在Java中,程序员只分配内存,不需要释放,Java虚拟机会自动的在某一个不确定的时间释放。

    三、静态变量、成员变量和局部变量

    类变量(也叫静态变量):是类中独立于方法之外的变量,用static 修饰。(static表示“全局的”、“静态的”,用来修饰成员变量和成员方法,或静态代码块(静态代码块独立于类成员,jvm加载类时会执行静态代码块,每个代码块只执行一次,按顺序执行))。
    成员变量(也叫“实例变量”、“域”):也是类中独立于方法之外的变量,不过没有static修饰。
    局部变量:是类的方法中的变量。


    成员变量会被系统默认初始化,而局部变量不会,所以必须自己初始化。 
    还要注意静态成员变量也没系统默认初始化,必须在初始化块或者定义时或者构造函数里进行手动初始化。


    四、@Override的作用

     @Override是Java5的元数据,自动加上去的一个标志,告诉你说下面这个方法是从父类/接口 继承过来的,需要你重写一次,这样就可以方便你阅读,也不怕会忘记。


    @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
    1、可以当注释用,方便阅读 

    2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错 

    比如你如果没写@Override而你下面的方法名又写错了,这时你的编译器是可以通过的(它以为这个方法是你的子类中自己增加的方法) 

    使用该标记是为了增强程序在编译时候的检查,如果该方法并不是一个覆盖父类的方法,在编译时编译器就会报告错误。


    五、exit

    System.exit(-1);

    终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。


  • 相关阅读:
    MES取所有部门的函数实例
    MES总结:CBF.Common 文件Net下的有类型转换
    LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据
    c# abstract抽象类与继承类子类的构造函数_base
    C# 之泛型详解
    MVC6与Asp.net5
    MenuStrip菜单递归
    .net 下的MVCPager
    UVALive5461 UVA615 POJ1308 HDU1325 Is It A Tree?
    UVALive5461 UVA615 POJ1308 HDU1325 Is It A Tree?
  • 原文地址:https://www.cnblogs.com/yzy-blogs/p/6597345.html
Copyright © 2020-2023  润新知