zoukankan      html  css  js  c++  java
  • 记录写零碎获得的知识点(不断补充)

    *1.java为什么不支持泛型数组?

    根本的原因是:数组在创建的时候必须知道内部元素的类型,而且一直都会记得这个类型信息,每次往数组里添加元素,都会做类型检查。

    但因为Java泛型是用擦除(Erasure)实现的,运行时类型参数会被擦掉。


    *2.

     初始化过程(静态>普通成员初始化/代码块>构造方法):  

    1. 初始化
    父类中的静态成员变量和静态代码块 ;  

    2. 初始化
    子类中的静态成员变量和静态代码块 ;  

    3.初始化父类的
    普通成员变量和代码块,再执行父类的构造方法; 

    4.初始化子类的
    普通成员变量和代码块,再执行子类的构造方法;  


    *3
     floor : 意为地板,指向下取整,返回不大于它的最大整数 
    ceil : 意为天花板,指向上取整,返回不小于它的最小整数 
    round : 意为大约,表示“四舍五入”,而四舍五入是往大数方向入。Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11而不是-12。

    *4
     表达式的数据类型自动提升, 关于类型的自动提升,注意下面的规则。 

    ①所有的byte,short,char型的值将被提升为int型; 

    ②如果有一个操作数是long型,计算结果是long型; 

    ③如果有一个操作数是float型,计算结果是float型; 

    ④如果有一个操作数是double型,计算结果是double型; 

    b1和b2是byte类型,java中进行计算时候将他们提升为int类型,再进行计算,b1+b2计算后已经是int类型,赋值给b3,b3是byte类型,类型不匹配,编译不会通过,需要进行强制转换。 

    Java中的byte,short,char进行计算时都会提升为int类型。 

    被final修饰的变量是常量,会被JVM优化,这里的b6=b4+b5可以看成是b6=10;在编译时就已经变为b6=10了 

  • 相关阅读:
    记一次诡异的调优
    java动态代理学习笔记
    c#反射机制学习和利用反射获取类型信息
    php开启ssl的方法
    关于java中split的使用
    c#使用反射调用类型成员示例
    C#关于反射加载的问题
    Twitter:使用Netty 4来减少GC开销
    Java中如何修改Jar中的内容
    Android中自定义视图View之---前奏篇
  • 原文地址:https://www.cnblogs.com/chz-blogs/p/9381015.html
Copyright © 2011-2022 走看看