Java基础概叙
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础概叙相关的知识,希望对你有一定的参考价值。
写在开头
我没有很牛逼的技术来概括Java的前世今身,这里主要是结合自己对Java的基础的理解,大致给到一些总结。
结合自己最近读的一些书籍,总结下,正如这句话所说:Read a bit and take it out,then come back read some more.
正文
1. Java语言支持4种类型:Interface、class、array、primitive
前三种通常称为引用类型,class实例、array是对象(Object),而primitive的值则不是Object。
primitive基本类型,一共有8种:char(字符), byte,int,short,long, (整数型) boolean(布尔),float,double(浮点型)
2.关键字的掌握很有必要
关键字都是小写的必须注意,详细的说明可以看我之前的一篇中有提到。
3.Object类的几个方法,你必须知道
Object类定义了大概7个native关键字修饰的方法:
registerNatives();
getClass();
hashCode();
clone();
notify();
notifyAll();
wait(long timeout)
4. equal,"=="的区别
equal : 比较的是存在于堆中的值的大小;
而“==”: 比较的是存放在栈中的地址是否一样,往往 equal 为true时,“==”并不一定为true。
5.抽象类和接口的区别
这个区别还是显而易见的,
从语法的角度来看,它们给出了不同的语言定义,一个abstract关键字修饰类,一个是interface
从设计层面来看,抽象类是对整个类来抽象,包括属性和方法(行为);而接口仅仅是对行为的抽象
跨域的不同:抽象类体现的是一种继承的关系extends,而interface体现的是一种实现类的关系implement
6.String、StringBuffer、StringBuilder 的区别
String 对象是不可变的;String是有关键字final修饰的,修饰的是常量,线程安全的
StringBuffer 和StringBuilder都继承自AbstractStringBuilder类,所以长度是可变的。
安全:
StringBuffer 对方法加了同步锁,是线程安全的;StringBuilder则没有同步锁,是非线程安全的。
性能:
String 每次修改都是创建新的String对象,指针都是指向新的对象;
StringBuffer 每次修改是对对象本身的操作,StringBuilder相比StringBuffer没有同步锁,相对来说性能有所提升,但比较小,大概10%~15%,但是却在多线程下不安全。
结尾
待续...
以上是关于Java基础概叙的主要内容,如果未能解决你的问题,请参考以下文章