zoukankan      html  css  js  c++  java
  • Java专业术语

    1. StringBuilder和StringBuffer的区别
      StringBuilder是非线程安全的,StringBuffer是线程安全的。具体可以看一下StringBuffer的源码,会发现StringBuffer里的方法都被synchronized修饰。

    2. 什么是线程安全
      多线程在访问同一资源的情况下,可能会产生数据缺失、数据不一致等问题。

    3. 什么是死锁
      死锁指当某一个线程A正在占用临界区资源的使用权,并须要另外一临界区资源才能完成,而另一临界资源被线程B占有,且需要线程A资源才能完成。会导致这两个线程都在等待对方释放临界资源,而互不相让,从而产生死锁。存在临界资源是产生死锁的必要条件。

    4. synchronized的实现原理
      保证一个共享资源在同一时间只会被一个线程访问到时,可以在代码中使用synchronized关键字对类或者对象加锁。

    5.synchronized和volatile区别
    使用volatile关键字可是使线程之间的数据修改可见。并可以禁止指令重排

    1. synchronized的锁优化处理
      锁消除

    2. JMM 是什么
      java memory model
      java内存模型?

    8.java并发包都有哪些
    java.util.concurrent包
    包括 locks、atomic、executor、collections、tools
    locks部分:包含在java.util.concurrent.locks包中,提供显式锁(互斥锁和速写锁)相关功能;

    atomic部分:包含在java.util.concurrent.atomic包中,提供原子变量类相关的功能,是构建非阻塞算法的基础;

    executor部分:散落在java.util.concurrent包中,提供线程池相关的功能;

    collections部分:散落在java.util.concurrent包中,提供并发容器相关功能;

    tools部分:散落在java.util.concurrent包中,提供同步工具类,如信号量、闭锁、栅栏等功能;

    1. 什么是fail-fast
      快速失败
      是java集合的一种错误检测机制,当多个线程对部分集合进行结构上的改变操作时,可能会导致fial-fast,会抛出ConcurrentModificationException。

    2. 什么是fail-safe
      fail-safe是集合容器,在遍历时不是直接在集合内容上访问的,而是先复制原有集合内容,在拷贝的集合上进行遍历。

    3. 什么是CopyOnWrite
      往集合里添加元素时,不直接添加,而是先想当前集合进行Copy ,然后往新的集合里添加元素。
      比如CopyOnWriteArrayList

    4. 什么是AQS
      AQS(AbstractQueuedSynchronizer)是实现依赖于先进先出 (FIFO) 等待队列的阻塞锁和相关同步器(信号量、事件,等等)提供一个框架,它是一个依靠单个原子 int 值来表示状态的大多数同步器的一个基础类

    5. 什么是CAS
      比较并替换
      乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试

    未完待续

  • 相关阅读:
    系统维护相关问题
    Python环境维护
    哈希表解决字符串问题
    论文笔记二:《A Tutoral on Spectral Clustering》
    论文笔记之哈希学习比较--《Supervised Hashing with Kernels》《Towards Optimal Binary Code Learning via Ordinal Embedding》《Top Rank Supervised Binary Coding for Visual Search》
    Java中String、StringBuffer、StringBuilder的比较与源 代码分析
    浙大pat1040 Longest Symmetric String(25 分)
    浙大pat1039 Course List for Student(25 分)
    浙大pat---1036 Boys vs Girls (25)
    百炼oj-4151:电影节
  • 原文地址:https://www.cnblogs.com/magicya/p/11907210.html
Copyright © 2011-2022 走看看