zoukankan      html  css  js  c++  java
  • 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 的状态码表示异常终止。


  • 相关阅读:
    C#指南,重温基础,展望远方!(3)类型和变量
    C#指南,重温基础,展望远方!(2)程序结构
    C#指南,重温基础,展望远方!(1)C#语言介绍
    ASP.NET MVC 简单的分页思想与实现
    ASP.NET MVC实现网站验证码功能
    hdu
    多种方法实现实现全排列 + sort调用标准函数库函数的简述
    HDU
    <hdu
    NYOJ-括号配对问题 <技巧性的非栈道法>
  • 原文地址:https://www.cnblogs.com/yzy-blogs/p/6597345.html
Copyright © 2011-2022 走看看