文章 2022-02-17 来自:开发者社区

Java常见面试题:多线程应用

多线程实际场景 Java程序上的一切都是多线程,每当你使用Java命令处理Java程序就相当于启动了一个进程。这个时候主方法只是一个线程,Java的启动只是一个进程的问题,所以才会有JVM优化的问题,这个优化主要是针对堆内存空间的优化,为该JVM分配更多的内存,这样里面处理的线程的内存数量才大。 多线程的最大特征是将一个进程进行继续拆分,简单理解就是:如果在WEB开发过程中,Tomcat是一个进....

文章 2022-02-17 来自:开发者社区

2019百度阿里Java面试题(基础+框架+数据库+分布式+JVM+多线程)

前言 很多朋友对面试不够了解,不知道如何准备,对面试环节的设置以及目的不够了解,因此成功率不高。通常情况下校招生面试的成功率低于1%,而社招的面试成功率也低于5%,所以对于候选人一定要知道设立面试的初衷以及每个环节的意义,有的放矢... 通过现场分析互联网的JD,让面试者掌握分析公司对技术的要求和定位,进而知道自己是否适合该岗位以及应该如何准备。想提高面试成功率一定要了解公司的业务,去分析公司对....

文章 2022-02-17 来自:开发者社区

70道阿里百度高频Java面试题(框架+JVM+多线程+算法+数据库)

基础与框架 1.String类能被继承吗,为什么2.String,Stringbuffer,StringBuilder的区别?3.ArrayList和LinkedList有什么区别4.类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,他们的执行顺序5.用过哪些Map,都有什么区别,HashMap是线程安全的吗,并发下使用的Map是什么,他们内部原理分别是什么,比如h....

文章 2022-02-17 来自:开发者社区

JAVA面试题 线程的生命周期包括哪几个阶段?

JAVA面试题 线程的生命周期包括哪几个阶段?面试官:您知道线程的生命周期包括哪几个阶段? 应聘者: 线程的生命周期包含5个阶段,包括:新建、就绪、运行、阻塞、销毁。 新建:就是刚使用new方法,new出来的线程; 就绪:就是调用的线程的start()方法后,这时候线程处于等待CPU分配资源阶段,谁先抢的CPU资源,谁开始执行; 运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态,run....

文章 2022-02-17 来自:开发者社区

突破Java面试(20)-Redis线程模型

全是干货的技术号:本文已收录在github,欢迎 star/fork:https://github.com/Wasabi1234/Java-Interview-Tutorial 1 单线程模型设计 单线程模型为何效率高 纯内存操作 基于非阻塞的IO多路复用机制 避免了多线程的频繁上下文切换 2 文件事件处理器 Redis 基于 Reactor 模式开发了自己的网络事件处理器 - 文件事件处...

突破Java面试(20)-Redis线程模型
文章 2022-02-17 来自:开发者社区

Java程序员拿着阿里offer却去头条,面试被线程池绊倒,难受!

  之前有程序员网友在牛客网发表了自己在头条的面试经验和过程,小编拿过来和大伙分享下。        一面考算法:两个基础题目,思路不难,考基本功,一个是链表相加,思路就是反转 然后求和,另一个是多个有序数组 归并。   二面考应用和知识面:内容涉及 mysql 引擎,索引(mysql 这块一定要懂);java map底层实现,最好看源码,还有各种集合类的区别;最小堆;http协议,aj...

Java程序员拿着阿里offer却去头条,面试被线程池绊倒,难受!
文章 2022-02-17 来自:开发者社区

java面试- Java并发编程(十)——线程池(1)

线程池的作用 减少资源的开销 减少了每次创建线程、销毁线程的开销。 提高响应速度 每次请求到来时,由于线程的创建已经完成,故可以直接执行任务,因此提高了响应速度。 提高线程的可管理性 线程是一种稀缺资源,若不加以限制,不仅会占用大量资源,而且会影响系统的稳定性。 因此,线程池可以对线程的创建与停止、线程数量等等因素加以控制,使得线程在一种可控的范围内运行,不...

文章 2022-02-17 来自:开发者社区

java程序员面试——Java并发编程知识点总结 1) 什么是线程?   线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器

线程的状态 初始态:NEW 创建一个Thread对象,但还未调用start()启动线程时,线程处于初始态。 运行态:RUNNABLE 在Java中,运行态包括就绪态 和 运行态。 就绪态  该状态下的线程已经获得执行所需的所有资源,只要CPU分配执行权就能运行。 所有就绪态的线程存放在就绪队列中。 运行态  获得CPU执行权,正在执行的线程。 由于一个CPU同一时刻只能执行一条...

文章 2022-02-17 来自:开发者社区

java面试-Java并发编程(六)——线程间的通信

多条线程之间有时需要数据交互,下面介绍五种线程间数据交互的方式,他们的使用场景各有不同。 1. volatile、synchronized关键字 PS:关于volatile的详细介绍请移步至:Java并发编程的艺术(三)——volatile 1.1 如何实现通信? 这两种方式都采用了同步机制实现多条线程间的数据通信。与其说是“通信”,倒不如说是“共享变量”来的恰当。当一个共享变量被volat...

文章 2022-02-17 来自:开发者社区

java面试-Java并发编程(九)——批量获取多条线程的执行结果

当向线程池提交callable任务后,我们可能需要一次性获取所有返回结果,有三种处理方法。 方法一:自己维护返回结果 // 创建一个线程池 ExecutorService executorService = Executors.newFixedThreadPool(10); // 存储执行结果的List List<Future<String>> results = n...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注