美文网首页
java学习重难点

java学习重难点

作者: 微笑达人_4b5d | 来源:发表于2017-11-26 09:26 被阅读0次

三人行必有我师,人生是需要不断学习的,在这里我们相遇就是缘分,希望各位可以看完这篇文章,也欢迎大家在下面留言讨论,天冷了,也动动手指转发收藏一下,谢谢大家!

在Java中修饰符总共有一下几种:

1.访问控制修饰符

分别有:public private protected,等

2.其它修饰符

分别有:abstract,final,static,native,synchronized,transient,volatile等

(1)对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误。但是用这个修饰符也有一定的限制,就是在方法中不能对参数做任何修改。

(2)不过一般情况下,一个方法的形参不用final修饰。只有在特殊情况下,那就是:方法内部类。

(3)一个方法内的内部类如果使用了这个方法的参数或者局部变量的话,这个参数或局部变量应该是final。

多线程中的几个方法区别:

(1)suspend()和resume()方法:两个方法配套使用,suspend()使得线程进入阻塞状态,并且不会自动恢复,必须其对应的resume()被调用,才能使得线程重新进入可执行状态,suspend()函数让当前线程进入停滞状态,除非收到resume()信号,否则不唤醒。【总之:、resume与suspended一起使用,但是现在jdk声明不再使用这两个方法。】

(2)wait()与notify()、notifyAll()一起使用:

wait():导致当前线程等待并使其进入到等待阻塞状态。直到其他线程调用该同步锁对象的notify()或notifyAll()方法来唤醒此线程。

notify():唤醒在此同步锁对象上等待的单个线程,如果有多个线程都在此同步锁对象上等待,则会任意选择其中某个线程进行唤醒操作,只有当前线程放弃对同步锁对象的锁定,才可能执行被唤醒的线程。

notifyAll():唤醒在此同步锁对象上等待的所有线程,只有当前线程放弃对同步锁对象的锁定,才可能执行被唤醒的线程。

(3)sleep让当前的正在执行的线程暂停指定的时间,并进入阻塞状态。在其睡眠的时间段内,该线程由于不是处于就绪状态,因此不会得到执行的机会。即使此时系统中没有任何其他可执行的线程,出于sleep()中的线程也不会执行。因此sleep()方法常用来暂停线程执行。

【注意:】我们需要注意如下几点:

1.wait()方法执行后,当前线程立即进入到等待阻塞状态,其后面的代码不会执行;

2.notify()/notifyAll()方法执行后,将唤醒此同步锁对象上的(任意一个-notify()/所有-notifyAll())线程对象,但是,此时还并没有释放同步锁对象,也就是说,如果notify()/notifyAll()后面还有代码,还会继续进行,知道当前线程执行完毕才会释放同步锁对象;

3.notify()/notifyAll()执行后,如果右面有sleep()方法,则会使当前线程进入到阻塞状态,但是同步对象锁没有释放,依然自己保留,那么一定时候后还是会继续执行此线程,接下来同2;

4.wait()/notify()/nitifyAll()完成线程间的通信或协作都是基于不同对象锁的,因此,如果是不同的同步对象锁将失去意义,同时,同步对象锁最好是与共享资源对象保持一一对应关系;

5.当wait线程唤醒后并执行时,是接着上次执行到的wait()方法代码后面继续往下执行的。

最后,如果想有一群“臭味相投”的朋友来一起交流学习的话,欢迎大家搜索群460570824,让我们共同进步!

相关文章

  • java学习重难点

    三人行必有我师,人生是需要不断学习的,在这里我们相遇就是缘分,希望各位可以看完这篇文章,也欢迎大家在下面留言讨论,...

  • 第七节 Java 类与对象

    1. 什么是面向对象 面向对象是学习 Java 必须掌握的知识,也是 Java 里的一个重难点。那什么是面向对象呢...

  • 大数据编程:Java基础之JDBC事务处理

    JDBC是Java基础当中的一个重难点,在早期的入门学习阶段,要把JDBC吃透,对于之后的学习,依据数据库学习,都...

  • Java面试重难点剖析(不断更新)

    Java面试重难点剖析(不断更新) 1、高并发访问数据库优化方法 2、 java finalize方法总结、GC执...

  • 面试题

    历年阿里面试题汇总(2017年不断更新中)面试总结Java面试重难点剖析(不断更新)Java方向如何准备BAT技术...

  • JS重难点梳理

    重读JS高程,系统梳理下JS重难点JS重难点梳理之事件

  • (转)Java面试重难点剖析(部分)

    1、高并发访问数据库优化方法 2、java finalize方法总结、GC执行finalize的过程 3、简单理解...

  • 大数据编程:Java IO流基础知识点讲解

    作为大数据开发的主力语言,Java是大数据学习当中必备的基础,而Java当中的很多重要知识概念,在学习当中也是难点...

  • Java高并发程序设计1

    Java多线程一直是Java学习的重点与难点,本人今天重点学习Java高并发一书,对其中的知识点做一个梳理。 本文...

  • 今日学习内容🎈🎈

    课程名称:手脑拼音 学习内容:y w 的学习以及书写 ya wa wo的带声调拼读 学习重难点...

网友评论

      本文标题:java学习重难点

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