一、Java 基础1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很
返回首页
21.什么情况下会出现死锁?如何解除死锁?当多个线程在执行过程中,进行资源抢占或者线程间通讯时产生的阻塞现象,线程不能向下执行。然后只有在外力作用下才能向下推进的过程就是死锁。比如A线程拿着B线程想要的资源不释放,同时B线程拿着A线程的资源不释放,然后他们互相等待。产生死锁的原因:系统资源不足,资源分配不当。产生死锁的四个条件是:互斥条件:线程(进程)对于所分配到的资源具有排它性,即一个
转载
2024-01-08 14:25:41
43阅读
一.引言不管是Java面试还是Android面试,线程池都是面试官高频考察的点,那我们怎么回答,才能让面试官了解到我们是真的懂Java线程池了呢?这篇文章不涉及到线程池的使用和原理,如果你还不知道怎么使用线程池,可以先去了解一下。下面我会从几个方面入手循序渐进的告诉你怎么回答这一类问题,并切构建自己的知识体系。二.线程池是什么,为什么要有线程池?我们知道线程的创建和销毁都是十分消耗系统资源的,第一
转载
2024-06-28 11:33:46
56阅读
线程池是面试的热点,常见的面试问题如下:1、池化思想,还知道哪些池化技术? 程序的运行本质上来说就是占用系统的资源,频繁创建和销毁对象十分占用系统资源,因此使用池化技术优化资源的使用。池化技术我们接触的很多,比如数据库连接池, HTTP 连接池,Redis 连接池等。池化技术的思想: 核心思想是空间换时间,期望使用预先创建好的对象来减少频繁创建对象的性能开销,同时还可以对对象进行统一管理,减少对
转载
2023-09-24 15:39:27
75阅读
1. 线程池的好处降低资源消耗:通过重复利用已创建的线程避免频繁创建和销毁线程(费时且消耗内存等系统资源)提高响应速度:当任务提交时,可以不用等待创建进程就能立即执行提高线程的可管理性:使用线程池可以对线程进行统一分配、调优和监控,更利于线程管理2. 线程的工作流程
当提交一个新的任务到线程池时,线程池的处理流程如下:
step1. 判断线程池中
正在执
转载
2023-12-15 11:44:53
15阅读
1.简介1.1 IO分类Java IO一般包含两个部分:http://java.io的阻塞型IO和java.nio的非阻塞型IO,即NIO。系统运行的瓶颈一般在于IO操作,一般打开某个IO通道需要大量的时间,同时端口中不一定就有足够的数据,这样read方法就一直等待读取此端口的内容,从而浪费大量的系统资源。使用java的多线程技术在当前进程中创建线程也是要花费一定的时间和系统资源的,因此不一定可取
转载
2023-09-11 08:11:32
337阅读
Netty (年度最新面试题)1.你了解过哪些IO模型?2.什么是Reactor模型?Reactor的3种版本都知道吗?3.了解过粘包拆包吗?为什么会出现粘包拆包?怎么处理粘包拆包?4.UDP协议会有粘包拆包的问题吗?为什么?5.Netty 是什么?6.为什么要用 Netty?7.Netty 的应用场景了解么?8.Netty 的零拷贝了解么?9.Netty 的心跳机制了解么?10.Netty 中有
转载
2023-11-22 23:05:13
246阅读
Java包66. JDK 中常用的包有哪些java.lang:这个是系统的基础类;java.io:这里面是所有输入输出有关的类,比如文件操作等;java.nio:为了完善 io 包中的功能,提高 io 包中性能而写的一个新包;java.net:这里面是与网络有关的类;java.util:这个是系统辅助类,特别是集合类;java.sql:这个是数据库操作的类67. import java和javax
转载
2023-09-20 08:53:20
196阅读
目录1、什么是线程池?2、线程池的内部实现原理3、什么是单例设计模式?实现思路两种实现方式饿汉式懒汉式饿汉式 vs 懒汉式单例模式的优点及应用场景应用场景4、线程有哪几种状态? 1、什么是线程池?现有问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,即执行
转载
2023-12-07 10:02:26
49阅读
Java面试题、java面试题大汇总、java面试题大全带答案、java面试题基础题、java面试题算法、java面试题中级
原创
2021-07-21 11:37:56
2486阅读
点赞
多线程的的创建方式?1.使用一个类继承Thread类,并重写run()方法,然后实例化该类,执行start()方法,start()启动线程并执行自己的run()方法,我自己写的一个小例子:2.使用一个类实现Runnable接口,重写run()方法,使用的时候实例化一个Thread对象,将该类作为参数传入Thread中,并调用start()方法即可启动一个线程,线程会执行run()方法中的内容。来看
转载
2024-06-05 22:40:33
31阅读
java 中级面试题及答案1.MyBatis中,根据Id查询单个Order对象,动态SQL如何编写?A. SELECT * FROM Order WHERE ID = #{id}; B. SELECT * FROM Order WHERE ID = #{id}; C. SELECT * FROM Order WHERE ID = #{id}; D. SELECT * FROM Order WHER
转载
2023-09-05 08:00:10
503阅读
java中sleep方法和wait方法的区别sleep是线程中的方法,但是wait是Object中的方法 sleep方法不会释放锁,但是wait会释放锁 sleep方法不依赖于同步器synchronized,但是wait需要依赖synchronized关键字 sleep不需要被唤醒(休眠之后退出阻塞),但是wait需要(不指定时间需要被别人中断)HashMap的底层数据结构是怎么样的?JDK1.7及以前是数组加链表JDK1.8及以后是数组和链表以及红黑树JDK1.8什么时候链
原创
2022-03-29 17:37:10
601阅读
来自一名2019届应届毕业生总结的Java研发面试题汇总(2019秋招篇)2018年Java研发工程师面试题Java研发工程师面试题(Java基础)1.HashMap和Hashtable各有什么特点,它们有什么区别?(必背题,超级重要)2.HashMap的工作原理?3.ArrayList和LinkList各自的特点和区别?4.RESTFul风格接口的特点?5.面向对象的七种设计原则1、 开闭原则
转载
2023-07-28 21:39:28
109阅读
JVM面试题001JDK、JRE、JVM关系?JDK (Java Development Kit) : java语言的软件开发包。包括Java运行时环境JRE。 JRE (Java Runtime Environment) :Java运行时环境,包括JVM。 JVM (Java Virtual Machine) :一种用于计算机设备的规范。 Java语言在不同平台上运行时不需要重新编译。Java语
转载
2024-07-03 19:52:33
83阅读
Java面试少不了一些技术类型的笔试题,面试过程中很多小伙伴可能表达很好,结果Java基础不是很牢固,所以今天针对Java笔试题,小编汇总来一下Java的面试题缓存三大问题及解决方案。1. Java面试题缓存三大问题及解决方案:缓存来由随着互联网系统发展的逐步完善,提高系统的qps,目前的绝大部分系统都增加了缓存机制从而避免请求过多的直接与数据库操作从而造成系统瓶颈,极大的提升了用户体验和系统稳定
转载
2023-09-05 15:26:33
4阅读
Java面试题库app是Java工程师的学习软件。Java面试题库app深入分析Java源代码、jdk、编译器等常见面试内容。帮助大家提高面试水平。软件介绍Java面试题库app是一款专为正在找工作的java程序员打造的软件。Java面试题库app集合了精选的Java面试笔试题目及答案,致力于帮助用户通过面试和笔试。Java面试题库app旨在帮助每个找工作的用户都能顺利通过面试,在这里不断学习精进
转载
2023-06-20 12:43:36
327阅读
前言最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴、京东、字节跳动、蚂蚁金服、滴滴),面试回来之后会发给我一些面试题。有些朋友轻松过关,拿到offer,但是有一些是来询问我答案的。我特意整理了一下,有很多问题不是靠几句话能讲清楚,所以整理了一些资料来解答这些面试题。很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。第一个:Alibaba[搜索推荐]一面:算法题
转载
2023-07-25 14:50:25
158阅读
本人发现网上虽然有不少Java相关的面试题,但第一未必全,第二未必有答案,第三虽然有答案,但未必能在面试中说,所以在本文里,会不断收集各种面试题,并站在面试官的立场上,给出我自己的答案。第一部分、Java 基础
1. JDK 和 JRE 有什么区别?
JDK是java的开发工具包,有JDK8,9甚至到14的差别,安装以后,不仅包含了java 的开发环境,比如java.exe,还包含了运行环境(jr
转载
2023-08-28 15:42:44
96阅读
1.项目情况简述自己做过的项目2. myBatis 的多级缓存 --有两级缓存2.1 一级缓存描述:会话级缓存,该缓存生命周期仅存于该会话,不可直接关闭命中场景:1.满足特定命中参数a.SQL与参数相同 b.同一个会话 c.相同的MapperStatement ID d.RowBounds行范围相同2.不触发清空方法a. 手动调用clearCache b. 执行提交回滚 c. 执行update d
转载
2023-12-07 08:42:57
53阅读