240 发简信
IP属地:广东
  • Java面试之TCP的粘包和拆包

    首先,在TCP协议中,数据的发送和接收都是以流的形式进行的,而发送的数据是以数据包的形式封装的。但是接收方并不能确定每次读取到的数据包大小,因此会出现TCP粘包和拆包问题。 ...

  • 120
    Java面试之TCP/IP

    TCP/IP(Transmission Control Protocol / Internet Protocol)中文译为传输控制协议/因特网互联协议,这个大家族里的其它知名...

  • 120
    Java面试之线程池shutdown方法

    前一篇文章讲了线程池的execute方法,介绍了线程池的执行原理与两种提交任务执行(execute()和submit())的差异以及线程池执行任务出现异常的解决方案。然而线程...

  • 120
    Java面试之线程池execute方法

    首先,前面几篇文章介绍了线程池池化、状态、参数、类型等相关知识,了解到了线程池池化技术的优势;线程池状态含义与转换方式;在不同的应用场景创建下根据不同的参数设置创建不同类型的...

  • 120
    Java面试之线程池参数设置

    首先,在Java的类库中,提供了几种常用的线程池类型。 Executors.newCachedThreadPool(缓存线程池):该线程池根据任务数量动态地创建线程,线程池的...

  • 120
    Java面试之线程池类型

    首先,在Java的类库中,提供了几种常用的线程池类型。这些线程池类型都是通过java.util.concurrent.Executors类提供的静态方法创建的,可以根据实际需...

  • 120
    Java面试之线程池状态与参数

    首先,从ThreadPoolExecutor类图中,Executors其实是个工具类,里面提供了好多静态方法,这些方法根据用户选择返回不同的线程池实例。ThreadPoolE...

  • Java面试之线程池概念

    线程池本质上是一种池化技术,而池化技术是一种资源复用的思想,比较常见的有连接池,内存池,对象池。而线程池里面复用的是线程资源,它的核心设计目标, 一是减少线程的频繁创建和销毁...

  • 120
    Java面试之CountDownLatch、CyclicBarrier、Semaphore

    CountDownLatch是J.U.C并发包提供的一种同步工具类,基于AQS来实现的。使得某个线程在等待其他线程执行完毕后再继续执行。CountDownLatch用一个计数...

  • 120
    Java面试之CompareAndSwap

    CAS是Java中Unsafe类里面的方法,它的全称是CompareAndSwap,比较并交换的意思。主要功能是能够保证在多线程环境下,对于共享变量的修改的原子性。 CAS有...

  • 120
    Java面试之ReentrantLock

    ReentrantLock。是一种可重入的排他锁,主要用来解决多线程对共享资源竞争的问题。 它支持可重入,在AQS的state状态值表示线程获取该锁的可重入次数,当同一个线程...

  • 120
    Java面试之AbstractQueuedSynchronizer

    AbstractQueuedSynchronizer翻译为抽象同步队列,简称AQS。它是一个用于构建锁和同步器的框架,许多同步器都可以通过AQS很容易并且高效的构造出来。在J...

  • 120
    Java面试之ThreadLocal

    在Java多线程中访问同一个共享变量时特别容易出现并发问题,特别是在多个线程需要对一个共享变量进行写入时。为了保证线程安全,一般使用者在访问共享变量时需要进行适当的同步。但是...

  • 120
    Java面试之Happens-Before原则

    此篇接上一篇的Java面试之volatile关键字。 首先,这是Java语言中的一个“先行发生”(Happens-Before)的原则。是判断数据是否存在竞争,线程是否安全的...

  • 120
    Java面试之volatile关键字

    首先,volatile的英文本义是“挥发、不稳定的”,延伸意义为敏感的。在Java中提供的是一种稍弱的同步机制,即volatile变量,用来确保将变量的更新操作通知到其他线程...

  • 120
    Java面试之synchronized关键字

    synchronized关键字是用来解决多线程之间访问共享资源的同步性。是Java提供的一种原子性内置锁,底层实现是完全依赖JVM。所以Java中的每个对象都可以把它当做一个...

  • 120
    Java面试之Java锁优化与升级

    Java的高效并发是从JDK 5升级到JDK 6后一项重要的改进项,HotSpot虚拟机开发团队在这个版本上花费了大量的资源去实现各种锁优化技术,如适应性自旋(Adaptiv...

  • 120
    Java面试之Java锁

    首先,在计算机信息世界里,单机单线程时代没有锁的概念。自从出现了资源竞争,人们才意识到需要对部分场景的执行现场加锁, 昭告天下,表明自己“短暂”拥有(其实对于任何有形或无形的...

  • 120
    Java面试之多线程安全(四)

    此篇接上一篇Java面试之多线程状态(三) 对于线程安全问题,想从是什么、为什么、怎么做三个方面来整理这篇知识点。 首先,在《Java并发编程实战》书中,Brian Goet...

  • 120
    Java面试之多线程状态(三)

    此篇接上一篇Java面试之实现多线程(二) Java线程可以拥有自己的操作数栈、程序计数器、局部变量表等资源,它与同一进程内的其他线程共享该进程的所有资源。Java线程在生命...