2024年0基础java知乎

0基础java知乎一 学习内容 1 类间关系及 UML 表示 2 Java 集合 1 Java 集合总体框架 2 collection 接口 Iterable 接口 定义 collection 接口继承了 Iterable 接口 Iterable 接口是 java 集合框架的顶级接口 实现此接口使集合对象可以通过迭代器遍历自身元素 此处进行举例 使用迭代器进行遍历的例子

大家好,我是讯享网,很高兴认识大家。



一、学习内容

1.类间关系及UML表示

2.Java集合

1) Java集合总体框架

2) collection接口、Iterable接口

定义:

collection接口继承了Iterable接口,Iterable接口是java 集合框架的顶级接口,实现此接口使集合对象可以通过迭代器遍历自身元素(此处进行举例)。

使用迭代器进行遍历的例子:

下面具体了解Iterable接口,它的成员方法如下表所示:

除了iterator()是JDK 1.5开始就有的,后两个方法是Java 8新添加的,default修饰符也是Java 8新添加的。被default修饰的方法可以不必由子类实现并且由default修饰的方法在接口中有方法体。

List、Set总结

3) 关于collection集合的选择

4) Map接口

HashMap和HashTable之间的异同:

l HashMap和HashTable都是 无序的,TreeMap是有序的

l HashTable是线程同步的(HashTable的源码中,除了构造方法,所有public方法声明中都有synchronized关键字,但是HashMap源码中并没有,synchronized是用来完成多线程条件下同步工作的),HashMap不是线程同步的,因此HashTable是线程安全的,但是HashMap不是线程安全的

l HashMap的效率较高,HashTable的效率较低

5) 允许值为null的集合

HashSet和LinkedhashSet都允许存在null数据

3.线程

1) 线程与进程

进程是操作系统调度和调配资源的基本单位,而线程是比进程更小的执行单位,每个线程拥有自己的栈和寄存器等资源数据,多个线程之间共享进程的代码数据和文件

2) 线程的优点

创建线程的代价比创建进程的代价小

切换线程的代价比切换进程的代价小

充分利用多处理器

数据共享使线程之间的通信比进程之间的通信更高效

系统繁忙的情况下。进程通过独立的线程及时响应用户的输入

3) Java中实现线程的3种方式

继承Thread类

实现Runnable接口

实现Callable接口

4) 多线程同步

线程同步:当有一个线程在对内存进行操作的时候,其他线程都不可以对这个内存进行操作,直到该线程完成操作,其他线程才能对该内存地址进行操作。

线程同步的方法:

同步方法:用synchronized修饰方法,eg:public synchronized void save(){},注:synchronized也可以修饰静态方法,如果调用该静态方法将会锁住整个类

同步代码块:用synchronized修饰语句块 0基础java知乎 eg: synchronized(){}

使用特殊域变量(volatile)实现线程同步:

l volatile关键字为域变量的访问提供了一种免锁机制

l 使用volatile修饰域相当于告诉虚拟机该域可能会被其他线程更新

l 每次使用改域就要重新计算,而不是使用寄存器的值

l volatile不会提供任何原子操作,它也不能用来修饰final类型的变量

使用重入锁实现线程同步:ReentrantLock类是可重入、互斥、实现了Lock接口的锁,它的常用的方法有:ReentrantLock():创建一个ReentrantLock实例 lock():获得锁 unlock():释放锁

使用局部变量实现线程同步:如果使用ThreadLocal管理变量,则每一个使用该变量的线程都获得该变量的副本,副本之间相互独立,这样每一个线程都可以随意修改自己的变量副本,而不会对其他线程产生影响。ThreadLocal类的常用方法:

ThreadLocal():创建一个线程本地变量 get():返回此线程局部变量的当前线程副本中的值 initialValue():返回此线程局部变量的当前线程的“初始值” set(T value):将此线程局部变量的当前线程副本中的值设置为value

二、存在的问题

HashMap的工作原理

TreeSet的两种比较方式(自然排序、比较器排序)

三、明天学习计划

小讯
上一篇 2024-12-29 23:17
下一篇 2024-12-29 18:47

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/9462.html