美文网首页
Java基本知识点总结

Java基本知识点总结

作者: SinX竟然被占用了 | 来源:发表于2017-09-07 20:54 被阅读0次

    Java基础知识点

    Java 8大基本类型所占字节数

    类型 所占字节数 bit数 取值范围 备注
    boolean 1 1*8 true、false
    byte 1 1*8 -128~127 即 (-2)的7次方 ~ (2的7次方) - 1
    char 2 2*8 Java中,只要是字符,不管是数字还是英文还是汉字,都占两个字节。
    short 2 2*8 -32768~32767 即 (-2)的15次方 ~ (2的15次方) - 1
    int 4 4*8 -2147483648~2147483647 即 (-2)的31次方 ~ (2的31次方) - 1
    long 8 8*8 即 (-2)的63次方 ~ (2的63次方) - 1
    float 4 4*8 float 类型的数值有一个后缀 F(例如:3.14F)
    double 8 8*8 没有后缀 F 的浮点数值(例如:3.14)默认为 double

    ASCII,Unicode和UTF-8

    http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

    面向过程和面向对象的区别

    面向过程:

    • 优点:性能比面向对象高,因为面向对象中类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。

    • 缺点:不易维护、不易复用、不易扩展。

    面向对象:

    • 优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。

    • 缺点:性能比面向过程低。

    Java的四个基本特性(抽象、封装、继承,多态)

    • 抽象:就是把现实生活中的某一类东西提取出来,用程序代码表示,我们通常叫做类或者接口。抽象包括两个方面:一个是数据抽象,一个是过程抽象。数据抽象也就是对象的属性。过程抽象是对象的行为特征。

    • 封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行封装隐藏。封装分为属性的封装和方法的封装。

    • 继承:是对有着共同特性的多类事物,进行再抽象成一个类。这个类就是多类事物的父类。父类的意义在于抽取多类事物的共性。

    • 多态:允许不同类的对象对同一消息做出响应。方法的重载、类的覆盖正体现了多态。

    Java技术----多态的实现原理

    http://blog.csdn.net/sinat_34311901/article/details/52208124

    重载和重写的区别

    http://www.jianshu.com/p/a6d00e5439fb

    关于java中静态属性、静态方法的继承问题

    http://www.jianshu.com/p/c2f64b94de20

    构造器Constructor是否可被override

    构造器不能被重写(Override),不能用static修饰构造器,只能用public、private、 protected这三个权限修饰符修饰,且不能有返回值。

    访问修饰符public、protected、private、以及默认(default)的区别

    public:在任何地方都能访问。
    protected:在同一个包内的类可以访问,包外的子类可以访问、当前类中能访问。
    private:只有在这个类中才能访问。
    如果不写,那么使用默认权限(default):在当前内、同包内能访问。
    |作用域|当前类|同包|子类|其他|
    | ---- |:------:|:-----:|:------:|
    |public | √| √ |√ |√ |
    | protected | √| √ |√|×|
    | default |√ | √ | ×| ×|
    | private |√ |× | ×| ×|

    是否可以继承String类

    String类是final类,因此不可以被继承。一切由final修饰过的类都不能被继承。

    java中String、StringBuffer、StringBuilder的区别

    http://www.jianshu.com/p/90bd88e4957f

    Java中 hashCode() 、equals()、== 的若干问题解答

    http://www.cnblogs.com/skywang12345/p/3324958.html

    Java中抽象类和接口的区别

    http://www.jianshu.com/p/e30b076046df

    自动装箱与拆箱

    装箱:将基本类型用它们对应的引用类型包装起来;
    拆箱:将包装类型转换为基本数据类型;
    Java使用自动装箱和拆箱机制,节省了常用数值的内存开销和创建对象的开销,提高了效率,由编译器来完成,编译器会在编译期根据语法决定是否进行装箱和拆箱动作。

    深入剖析Java中的装箱和拆箱 http://www.cnblogs.com/Qian123/p/5694228.html#_label2

    Java泛型

    泛型,即“参数化类型”。
    创建集合时就指定集合元素的类型,该集合只能保存其指定类型的元素,避免使用强制类型转换。
    Java编译器生成的字节码是不包涵泛型信息的,泛型类型信息将在编译处理的时候被擦除,这个过程即类型擦除。泛型擦除可以简单的理解为将泛型java代码转换为普通java代码,只不过编译器更直接点,将泛型java代码直接转换成普通java字节码。
    类型擦除的主要过程如下:
    1)将所有的泛型参数用其最左边界(最顶级的父类型)类型替换。
    2)移除所有的类型参数。

    泛型总结 http://www.cnblogs.com/lwbqqyumidi/p/3837629.html

    java中 final 与 static

    http://www.jianshu.com/p/0423faf0f57e

    java中用static关键字修饰类(只适用于内部类)

    http://www.jianshu.com/p/d6872311e996

    static加载和初始化问题

    http://blog.csdn.net/z69183787/article/details/63296077

    Error和Exception的区别

    http://www.jianshu.com/p/1ab9ad3c80d7


    Java 内部类

    http://cmsblogs.com/?p=63

    Java 匿名内部类

    http://cmsblogs.com/?p=68


    强引用、软引用、弱引用、虚引用

    Java 如何有效地避免OOM:善于利用软引用和弱引用 http://www.cnblogs.com/dolphin0520/p/3784171.html


    JAVA 深克隆、浅克隆

    http://www.jianshu.com/p/c976b23ad562


    Java字符串数字转化为int类型不用Integer.parseInt()

    先把String转换成char数组,有方法toCharArray()。
    然后把每个char依次减去‘0’可以得到真实的数字(char[i]-'0') 现在可以将他们放到int数组中了。
    从高位起,数字x10+下一位,循环累加。 完毕,如果还要健壮一点最好首先判空和长度。

    JAVA 中的 split 用法

    http://www.jianshu.com/p/7730847d60af


    阻塞和非阻塞、同步和异步

    http://www.jianshu.com/p/19fec945238f


    相关文章

      网友评论

          本文标题:Java基本知识点总结

          本文链接:https://www.haomeiwen.com/subject/azlwjxtx.html