java基础

面向对象

面向对象是一种思想,吧事务的问题拆分成对象,在描述解决问题中所表现的行为,通过封装,get set 方法向外界提供对应的接口提高代码的安全性,继承;父类提供方法,子类继承,提高代码的复用性,多态:允许不同子类的对象对同一消息做出不同的响应;分为编译时多态运行时多态;方法的重载实现了编译时多态,运行时态{例如:A系统访问B系统,B系统提供多种服务,但是对于A系统来说都是透明的};运行时多态是面向对象的精髓,实现运行时多态;两件事1方法的重写,2对象造型(父类引用引用子类对象,同样引用调用同样的方法对子类的对象做出不同表现的行为)》》》抽象是将一类对象共同特征总结构造类的过程,不注重细节,注重属性方法

面向对象有哪些特征

{

(继承,封装,多态;相辅相成)

封装:封装类的一些实现机制,向外界提高特有的接口,get set 的方法 增加代码的可维护性;便于修改,封装好的东西可以直接使用,提高代码的复用性

继承:父类提供公共方法,子类继承; 减少一些重复的代码;

提高代码的复用性

多态: 要有继承,重写,父类引用子类对象   调用方法时;封装继承多态增加代码的健壮性,灵活性

}

ArrayList与LinkedList的区别

{

都实现了List接口

ArrayList的实现基于数组,LinkedList的实现基于双链表

对于随机访问ArrayList的优先级高于LinkedList;ArrayList直接根据元素的下标进行访问

LinkedList的每一个元素都依靠地址和他最后一个元素连接在一起

对于插入和删除LinkedList 的优先级高于ArrayList;因为元素添加的LinkedList任意位置时,不需要像ArrayList那样重新计算大小更新 索引

LinkedList比ArrayList更占用内存,因为LinkedList的节点除了储存数据,还储存两个索引,一个指向前一个元素,一个指向后一个元素;

}

高并发中集合的问题

{

jdk1.2 

 Vector  Hashtable    保证线程的安全,使用Synchronized   缺点:效率低

ArrayList 与HashMap 线程不安全  性能高;  代替Vector 与Hashtable  

需要线程安全时   使用SynchronizedList 与SynchronizedMap 解决线程不安全

底层在使用Synchronized 代码块锁时,虽然锁住了所有代码,但是锁在方法里面,方法外的可以理解为提高,因为方法本身就要分配资源     

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值