![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java面试题整理
文章平均质量分 91
柚子-youzi
一个爱分享的Java程序媛~
展开
-
并发编程—程序员必会的Java线程之6种状态及切换最强解析
前言本次主要分享一下Java线程的六种状态及其转换。线程的状态及其转换操作系统线程的五种状态新建(NEW)就绪(RUNNABLE)运行(RUNNING)阻塞(BLOCKED)死亡(DEAD)注意:BLOCKED状态,包括三种类型状态:等待(wait)、睡眠(sleep)、阻塞(申请资源:I\O、对象的锁);记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!!qun:791200220 暗号:taoziJav原创 2021-08-11 16:11:52 · 274 阅读 · 0 评论 -
666!第一次看到写的这么详细的Java线程与进程教程!
线程与进程概念进程:进程指的是一段正在运行的程序线程:一个程序运行中可以执行多个任务,任务就称之为线程。进程可以有多个线程,各个线程之间共享程序的内存空间记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! q群:580763979 暗号:CSDN为什么有了进程,还会出现线程?每个进程有自己独立的地址空间,多并发请求,为每一个请求创建一个进程,导致系统开销、用户请求效率低区别每个进程有用自己独有的变量,线程共享原创 2021-02-27 21:11:45 · 758 阅读 · 0 评论 -
全网讲解 RPC 调用和 HTTP 调用的区别最直观的文章!
很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~本文简单地介绍一下两种形式的C/S架构,先说一下他们最本质的区别,就是RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要更胜一筹啦!下面来具体说一说RPC服务和HTTP服务。记得点赞收藏加关注哦 ,需要下载PDF版本和原创 2021-01-19 21:11:29 · 198 阅读 · 0 评论 -
Java线程池详解 — 如何使用线程池,及其注意事项与调优!
服务端应用程序(如数据库和 Web 服务器)需要处理来自客户端的高并发、耗时较短的请求任务,所以频繁的创建处理这些请求的所需要的线程就是一个非常消耗资源的操作。常规的方法是针对一个新的请求创建一个新线程,虽然这种方法似乎易于实现,但它有重大缺点。为每个请求创建新线程将花费更多的时间,在创建和销毁线程时花费更多的系统资源。因此同时创建太多线程的 JVM 可能会导致系统内存不足,这就需要限制要创建的线程数,也就是需要使用到线程池。记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以原创 2021-01-17 15:36:55 · 518 阅读 · 0 评论 -
在互联网大厂,分库分表通常有哪些思路和技巧呢?
写在前面在系统的研发过程中,随着数据量的不断增长,单库单表已无法满足数据的存储需求,此时,我们就需要对数据库进行分库分表操作。那在互联网大厂,分库分表通常有哪些思路和技巧呢?今天,我就将这些思路和技巧分享给大家。记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 580763979 暗号:CSDN分库分表分库分表是随着业务的不断发展,单库单表无法承载整体的数据存储时,采取的一种将整体数据分散存储到不同服务器上的不同数原创 2021-01-14 21:17:24 · 212 阅读 · 0 评论 -
推荐几个正经网站,让你的数据结构和算法学习事半功倍!
前言相信对于大部分程序员来说,数据结构和算法学起来是比较难的,但是它在工作中又是非常的重要,可以说是开发中的一块基石。 所以为了更好的学习和理解数据结构和算法,当时我是趁着双十一搞活动买了几本算法书,打算一鼓作气把它吃透,可想而知有点吃不消。于是我就琢磨着应该会有更简单的学习数据结构和算法的方法?然后经过一轮技术论坛的“逛街”之后,终于找到了一些可以比较直观而又简单的学习数据结构和算法的网站。其实主要是介绍几个用于学习数据结构和算法的“酷炫”网站。有了这几个网站就可以让你轻松的以动画的形式学习数据结原创 2021-01-10 21:22:28 · 4878 阅读 · 0 评论 -
自学一周整理出来的这些你必须知道的Redis知识点!
✔️ 知识点总览首先我们都知道 Redis 是一个非常经典的,高性能的,“单线程”的键值数据库。为什么高性能呢?除了 Redis 是基于内存的数据库之外,还要归功于它的底层数据结构。高效的数据结构是Redis快速处理数据的基础。除了数据结构以外,为什么Redis是“单线程”的,却还能够那么快?那我们就需要了解 Redis 的线程模型到底是怎样的。对于一款数据库来说,光够快是不够的,还需要够强壮,也就是常说的高可用。对于 Redis 的高可用来说,基于内存的数据库有一个致命问题:一旦发生宕机,内存中原创 2021-01-08 21:03:06 · 345 阅读 · 0 评论 -
mysql事务隔离机制及其隔离级别、实现原理分析
目录事务特性ACID属性并发事务带来的问题事务隔离级别事务实现原理记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 580763979 暗号:CSDN事务特性ACID属性事务特性指的就是ACID,如图所示:原子性 Atomicity :一个事务(transaction)中的所有操作,或者全部完成,或者全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被恢复(Rollback)到事务开始原创 2021-01-05 21:26:29 · 588 阅读 · 0 评论 -
想去面试阿里java岗你需要准备些什么?阿里面试真题(附面试专题答案)分享!
秋招结束,从6月中旬开始复习,7月份开始投简历,一直到现在,简单记录一下,今天给大家分享的是我一位幸运拿到阿里offer的朋友的面试经历,还问到了我朋友阿里面试的一些真题,以及我整理的一些真题分享给大家。需要的朋友可以点一点下方链接免费领取链接:点这里!!! 580763979 暗号:CSDN希望那些有需要朋友能在今年第一波招聘潮找到一个自己满意顺心的工作!阿里一面(60分钟):速度问的很快,基本涵盖了所有常考点项目的情况,redis,消息中间件,数据一致性,分布式session,实现原创 2021-01-03 21:18:17 · 286 阅读 · 0 评论 -
带你全面了解Java即时编译器原理及实战运用分析!
学习 JVM 相关的知识,必然绕不开即时编译器,因为它太重要了。了解了它的基本原理及优化手段,在编程过程中可以让我们有种打开任督二脉的感觉。比如,很多朋友在面试当中还会遇到这样的问题:Java 是基于编译执行还是基于解释执行?当你了解了 Java 的即时编译器,不仅能够轻松回答上述问题,还能如数家珍的讲出 JVM 在即时编译器上采用的优化技术,而且在实践过程中更深刻的理解代码背后的原理。本文便带大家全面的了解 Java 即时编译器。记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可原创 2020-12-30 20:58:39 · 183 阅读 · 0 评论 -
作为一个合格的程序员,你除了会写代码,还要拥有哪些能力?
撤离一线城市工作已经接近一年时间,工作环境发生变化,让我印象深刻的应该是公司周围同事的工作状态。身处环境氛围的改变让我略感恐慌,总结一篇文章我认为好的程序员应该是什么样的,写出来提醒自己。1、技术能力技术是一个程序员吃饭的本钱,你可以什么都不擅长,不擅长沟通、也不擅长表达更不擅长管理,但是作为一个以技术名义拿工资的人,具备对应职位应有的技术能力这个是一定不能改变。初级工程师能按照设计文档很好的完成工作,中高级工程师能提出自己的设计思路、实现想法并且高质量完成工作等等。那种平时不太活跃但是能凭借自身能力原创 2020-12-27 21:21:44 · 3732 阅读 · 3 评论 -
你会正确的中断一个线程的执行吗?
写在前面当我们在调用Java对象的wait()方法或者线程的sleep()方法时,需要捕获并处理InterruptedException异常。如果我们对InterruptedException异常处理不当,则会发生我们意想不到的后果!今天,我们就以一个案例的形式,来为大家详细介绍下为何中断执行的线程不起作用。记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 暗号:CSDN程序案例例如,下面的程序代码,Interrupte原创 2020-12-25 22:11:34 · 185 阅读 · 0 评论 -
图解!微服务架构中常见的几种架构模型
DDD 分层架构整洁架构整洁架构又名“洋葱架构”。为什么叫它洋葱架构?看看下面这张图你就明白了。整洁架构的层就像洋葱片一样,它体现了分层的设计思想。整洁架构最主要的原则是依赖原则,它定义了各层的依赖关系,越往里依赖越低,代码级别越高,越是核心能力。外圆代码依赖只能指向内圆,内圆不需要知道外圆的任何情况。六边形架构六边形架构又名“端口适配器架构”。追溯微服务架构的渊源,一般都会涉及到六边形架构。六边形架构的核心理念是:应用是通过端口与外部进行交互的。我想这也是微服务架构下 API 网关盛行的主原创 2020-12-24 20:55:36 · 1856 阅读 · 0 评论 -
一文快速理解MySQL索引(基本原理、索引分类、索引优化)
索引基本概念:索引是在存储引擎层实现的,而不是在服务器层实现的,所以不同存储引擎具有不同的索引类型和实现。记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 暗号:CSDN数据结构Tree 指的是 Balance Tree,也就是平衡树。平衡树是一颗查找树,并且所有叶子节点位于同一层。B+ Tree 是基于 B Tree 和叶子节点顺序访问指针进行实现,它具有 B Tree 的平衡性,并且通过顺序访问指针来提高区间查询原创 2020-12-23 16:44:54 · 171 阅读 · 0 评论 -
关于MyBatis你必须知道的知识点,MyBatis概念-使用详解!
1、什么是MyBatis(1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。(2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。(3)通过xml 文件或注解的方式将要执行的各种 statemen原创 2020-12-21 17:24:26 · 309 阅读 · 0 评论 -
必备基本算法 — 递归(详解、解题思路剖析、案例分析)
递归是一种非常重要的算法思想,无论你是前端开发,还是后端开发,都需要掌握它。在日常工作中,统计文件夹大小,解析xml文件等等,都需要用到递归算法。它太基础太重要了,这也是为什么面试的时候,面试官经常让我们手写递归算法。本文呢,将跟大家一起学习递归算法~开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 暗号:CSDN什么是递归?递归,在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。简单来说,原创 2020-12-20 21:11:44 · 4162 阅读 · 8 评论 -
为系统加上缓存后,使用缓存需要注意哪些事项?有哪些类型?缓存回收策略、回收算法详解
写在前面往往开始做一个项目时,不会过多的考虑性能问题,以快速迭代功能为主。后续随着业务的快速发展,系统运行的性能越来越慢,此时,就需要对系统进行相应的优化,而效果最显著的就是给系统加上缓存。那么,问题来了,当你为系统加上缓存时,有没有考虑过使用缓存需要注意哪些事项呢?开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 暗号:CSDN缓存命中率缓存命中率是从缓存中读取数据的次数与总读取次数的比率,命中率越高越好。缓原创 2020-12-16 21:51:06 · 3623 阅读 · 10 评论 -
弄懂这些redis分布式锁知识点,明天就去跟老板谈涨薪!(建议收藏)
1 介绍这篇博文讲介绍如何一步步构建一个基于Redis的分布式锁。会从最原始的版本开始,然后根据问题进行调整,最后完成一个较为合理的分布式锁。本篇文章会将分布式锁的实现分为两部分,一个是单机环境,另一个是集群环境下的Redis锁实现。在介绍分布式锁的实现之前,先来了解下分布式锁的一些信息。开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 799215493 暗号:CSDN2 分布式锁2.1 什么是分布式锁?原创 2020-12-10 16:58:54 · 4753 阅读 · 10 评论 -
你必须知道的Java线程池知识梳理!(结构、流程梳理—面试题解析)
第一部分:线程池类的结构线程池存在于Java的并发包J.U.C中,线程池可以根据项目灵活控制并发的数目,避免频繁的创建和销毁线程,达到线程对象的重用。下面是线程池的类图:开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 799215493 暗号:CSDN1、 接口Executor接口Executor中,只有一个方法,为execute()2、 接口ExecutorService,继承自Executor几原创 2020-11-22 15:43:21 · 198 阅读 · 0 评论 -
分享几个 SpringBoot 使用中的实用小技巧!(值得收藏)
前言这次分享一点接地气的: SpringBoot 使用中的一些小技巧。算不上多高大上的东西,但都还挺有用。哈哈哈哈开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 799215493 暗号:CSDN屏蔽外部依赖第一个是屏蔽外部依赖,什么意思呢?比如大家日常开发时候有没有这样的烦恼:项目是基于 SpringCloud 或者是 dubbo 这样的分布式服务,你需要依赖许多基础服务。比如说某个订单号的生成原创 2020-11-20 22:08:13 · 649 阅读 · 0 评论 -
一文带你弄懂线程池 —【多线程】基础篇
本篇文章主要是对线程有一个大概的了解,知道线程池的优劣以及具体的实现,接下去我们主要围绕拒绝策略、线程池的用法,以及他在工作中所遇到的坑,进行一些扩展。文章有不足的地方,希望大家能够指出,欢迎评论~概要什么是线程池为什么要使用线程池,主要是为了解决什么问题,线程池的好处?通过源码看实现线程池的优化什么是线程池?线程池(Thread Pool)是一种基于池化思想管理线程的工具,预先创建一些对象放入池中,使用的时候直接取出使用,用完归还接下去复用,通过一定的策略调整池中参数,实现池的动态伸缩原创 2020-11-19 20:51:01 · 318 阅读 · 0 评论 -
想不到吧!面试官会从这些方面考你单例模式!
单例模式是23种GOF模式中最简单,也是最经常出现的一种设计模式,也是面试官最常爱考的一种模式,为什么呢?因为单例模式足够简单,编写一个单例模式代码几分钟就能搞定,所以设计模式中面试官通常会选取单例模式作为出题。下面把单例模式分几个点,分别说说哪些地方面试官能考你?开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 799215493 暗号:CSDN单例模式的意义通常面试官会很笼统的问你,什么是单例模式?单原创 2020-11-18 16:10:14 · 2277 阅读 · 15 评论 -
万万没有想到,面试居然栽在了Redis分布式锁如何续期上!懵了...
真实案例Redis分布式锁的正确姿势很多同学在用分布式锁时,都是直接百度搜索找一个Redis分布式锁工具类就直接用了.关键是该工具类中还充斥着很多System.out.println();等语句.其实Redis分布式锁比较正确的姿势是采用redisson这个客户端工具.如何回答开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 799215493 暗号:CSDN首先如果你之前用Redis的分布式锁的姿势正确原创 2020-12-10 21:16:47 · 1285 阅读 · 9 评论 -
为什么阿里巴巴创建线程池禁用Executors,而是通过ThreadPoolExecutor?
写在前面通过阅读本篇文章你将了解到:线程池的定义Executors创建线程池的几种方式ThreadPoolExecutor对象线程池执行任务逻辑和线程池参数的关系Executors创建返回ThreadPoolExecutor对象OOM异常测试如何定义线程池参数如果只想知道原因可以直接拉到总结那~开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 799215493 暗号:CSDN线程池的定义原创 2020-11-16 21:30:22 · 639 阅读 · 0 评论 -
带你从零开始手写 spring ioc 框架,深入学习 spring 源码
IoCIoc 是一款 spring ioc 核心功能简化实现版本,便于学习和理解原理。创作目的使用 spring 很长时间,对于 spring 使用非常频繁,实际上对于源码一直没有静下心来学习过。但是 spring 源码存在一个问题,那就是过于抽象,导致学习起来成本上升。所以本项目由渐入深,只实现 spring 的核心功能,便于自己和他人学习 spring 的核心原理。spring 的核心Spring 的核心就是 spring-beans,后面的一切 spring-boot,spring-cl原创 2020-11-13 21:31:36 · 3136 阅读 · 5 评论 -
JVM系统学习第一章 — 初步了解本地方法接口和本地方法栈
本地方法接口什么是本地方法开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和获取更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 799215493 暗号:CSDN本地方法栈(Native Method Stacks)与虚拟机栈所发挥的作用是非常相似的,其区别只是虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则是为虚拟机使用到的本地(Native)方法服务。《Java虚拟机规范》对本地方法栈中方法使用的语言、使用方式与数据结构并没有任何强制规原创 2020-11-11 21:59:47 · 323 阅读 · 0 评论 -
一文解析ZooKeeper —ZooKeeper特性及ZooKeeper到底解决了什么问题
目标ZooKeeper 很流行,有个基本的疑问:ZooKeeper 是用来做什么的?之前没有ZK,为什么会诞生 ZK?OK,解答一下上面的疑问:(下面是凭直觉说的)ZooKeeper 是用于简化分布式应用开发的,对开发者屏蔽一些分布式应用开发过程中的底层细节ZooKeeper 对外暴露简单的 API,用于支持分布式应用开发ZooKeeper 在提供上述功能的同时,其还是一个 高性能、高可用、高可靠的分布式集群上面说这么多,总结一下,ZK 能解决分布式应用开发的问题,ZK 能很好的解决原创 2020-11-10 15:29:06 · 365 阅读 · 0 评论 -
不是吧!面试官让我设计一个高并发的消息中间件,怎么办?
写在前面很多小伙伴去大厂面试,几乎都会遇到一些开放式的题目,这些开放式的题目没有固定的答案,但是它能够实实在在的体现面试者较为真实的系统设计能力和技术功底。如果你回答的比较完美,那么,通过这种开放式题目,就能够让你从众多的面试者中脱颖而出。今天,我们就一起来聊聊,去大厂面试时,一个较为常见的开放式题目:如果让你设计一个高并发的消息中间件,你会怎么做?开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!!! 799215493 暗原创 2020-11-09 17:28:26 · 300 阅读 · 0 评论 -
掌握这些面向对象的核心技术,包你面试无忧!
面向对象简介面向对象是相对于面向过程来说的,面向过程是一种以“过程”为中心的编程思想,分析出解决问题所需的步骤,然后用函数把这些步骤一步步的实现,使用的时候一个个依次调用就好。而面向对象,是一种以“对象”为中心的编程思想,把问题看成一个个对象,通过对象的属性和行为,将问题解决的。面向过程强调的是模块化,而面向对象强调的是把事物对象化。复杂来说面向对象是以“对象”为基本单元构建系统,对象是把数据和数据操作方法放在一起,作为一个相互依存的整体。把同类的对象抽象出其共性,形成类。所以说类是对象的抽象,对象是类原创 2020-11-08 15:39:40 · 406 阅读 · 2 评论 -
全网最详细易懂的JVM虚拟机解析!(概念、参数、垃圾回收)
要点:java虚拟机概述和基本概念堆、栈、方法区了解虚拟机参数垃圾回收概念和算法、及对象的分代转换垃圾收集器开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和更多知识点、面试题的朋友可以点一点下方链接免费领取链接:点这里!1103806531暗号:CSDNjava虚拟机的原理:所谓虚拟机,就是一台虚拟的机器。它是一款软件,用来执行一系列虚拟计算机指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机,大名鼎鼎的Visual Box、VMare就属于系统虚拟机,他们完全是对物理计算原创 2020-11-07 21:49:58 · 3885 阅读 · 3 评论 -
不是吧!这么厉害的Java内存模型 JMM详解 你还没看?
JMM简介Java Memory Model简称JMM, 是一系列的Java虚拟机平台对开发者提供的多线程环境下的内存可见性、是否可以重排序等问题的无关具体平台的统一的保证。(可能在术语上与Java运行时内存分布有歧义,后者指堆、方法区、线程栈等内存区域)。并发编程有多种风格,除了CSP(通信顺序进程)、Actor等模型外,大家最熟悉的应该是基于线程和锁的共享内存模型了。在多线程编程中,需要注意三类并发问题:原子性可见性重排序开始之前,记得点赞收藏加关注哦 ,需要下载PDF版本和更多知识点、原创 2020-11-06 17:18:29 · 4133 阅读 · 6 评论 -
这可能是全网最详细的 Java 并发锁知识点剖析了!
花了几天时间熬夜整理出来的并发锁知识点,我说是全网最详细就是全网最详细,不允许反驳~话不多说直接开始,开始之前,为方便大家记忆,记得点赞收藏加关注哦 ,需要下载PDF版本的朋友可以点一点下方链接找我免费领取链接:1103806531暗号:CSDN1. 并发锁简介确保线程安全最常见的做法是利用锁机制(Lock、sychronized)来对共享数据做互斥同步,这样在同一个时刻,只有一个线程可以执行某个方法或者某个代码块,那么操作必然是原子性的,线程安全的。在工作、面试中,经常会听到各种五花八门的原创 2020-12-10 21:15:53 · 5979 阅读 · 18 评论 -
JVM也不过如此!连肝三个通宵整理77道高频面试题轻松拿下!
连肝了三个通宵,整理了这份JVM77道高频面试题详细分析,希望对大家有帮助。为方便大家记忆,记得点赞收藏加关注哦 ,需要下载PDF版本的朋友可以点一点下方链接免费领取链接:1103806531暗号:CSDN1、java 中会存在内存泄漏吗,请简单描述。会。自己实现堆载的数据结构时有可能会出现内存泄露。2、64 位 JVM 中,int 的长度是多数?Java 中,int 类型变量的长度是一个固定值,与平台无关,都是 32 位。意思就是说,在 32 位 和 64 位 的 Java 虚拟机中,in原创 2020-12-10 21:15:09 · 4021 阅读 · 11 评论 -
一篇文章带你彻底弄懂如何选择抽象类和接口
前言抽象类、接口对于不论是Java、C++等程序猿都不陌生,但你知道如何正确地使用抽象类和接口吗?你是否还在模棱两可、只是简单记忆了两者的区别,遇到实际情况就不知道如何选择?今天,我就来带你彻底弄清楚这俩的区别,当然,本文基于Java,但是对其他语言的程序猿一样适用,包会~需要更多知识点介绍和面试题的朋友可以点一点下方链接免费领取链接:1103806531暗号:CSDN什么是抽象类?什么是接口?这里照顾刚入门的程序猿,简单介绍一下这俩的定义。抽象类(abstract class):为了原创 2020-11-02 16:19:10 · 967 阅读 · 1 评论 -
这些JDK中的线程池知识点,你都知道吗?
怎么才算掌握了JDK中的线程池JDK并发包下面的线程池是面试中经常被考查的点,今天,我来谈谈自己觉得ThreadPoolExecutor哪些点是应该掌握的,这些点应该掌握的点正是面试中经常被问的东西。现在抛出几个问题,如果你都能答上来,可以不用往下面看啦。ThreadPoolExecutor中常用参数有哪些,作用是什么?任务提交后,ThreadPoolExecutor会按照什么策略去创建线程用于执行提交任务?ThreadPoolExecutor有哪些状态,状态之间流转是什么样子的?ThreadPo原创 2020-10-31 15:28:11 · 330 阅读 · 2 评论 -
面试问懵了?分库分表的细节你真的懂了吗?
之前有不少朋友留言,想系统的学习一下分库分表相关技术,可我一直没下定决心搞,眼下赶上公司项目在使用 sharding-jdbc 对现有 MySQL 架构做分库分表的改造,所以借此机会出一系分库分表落地实践的文章,也算是自己对架构学习的一个总结。为了让新手也能看得懂,有些知识点我可能会用更多的篇幅加以描述,希望大家不要嫌我啰嗦,如果发现文中有哪些错误或不严谨之处,欢迎大家交流指正。具体实践分库分表之前再啰嗦几句,回头复习下分库分表的基础概念。在这里我也为大家整理了各个知识点模块整理文档(微服务、数据库原创 2020-10-28 16:08:37 · 389 阅读 · 1 评论 -
一篇文章详解JVM内存管理与垃圾回收
无论对于Java程序员还是大数据研发人员,JVM是必须掌握的技能之一。既是面试中经常问的问题,也是在实际业务中对程序进行调优、排查类似于内存溢出、栈溢出、内存泄漏等问题的关键。在这里我为大家整理了各个知识点模块整理文档(微服务、数据库、mysql、jvm、Redis等都有)和大厂面试真题,有需要的朋友可以点一点下方链接免费领取链接:1103806531暗号:CSDN本篇文章主要叙述JVM内存管理、直接内存、垃圾回收和常见的垃圾回收算法:运行时数据区域JVM在执行一些基于JVM运行的程序,典型原创 2020-10-27 15:42:39 · 9446 阅读 · 16 评论 -
MyBatis — 入门到面试看这一篇就够了!
1、什么是 MyBatis?答:MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架。2、讲下 MyBatis 的缓存答:MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现 Serializable 序列化接口(可用来保存对象的状态),可在它的映射文件中配置 < cache/ >由于篇幅有限,这里只展示一部分,完整版我已经整理成了文档,有需要的朋友可以点原创 2020-10-26 15:30:24 · 327 阅读 · 2 评论 -
这才是面试官想听的:详解 MySQL锁
一、对MySQL的锁的了解当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制。就像酒店的房间,如果大家随意进出,就会出现多人抢夺同一个房间的情况,而在房间上装上锁,申请到钥匙的人才可以入住并且将房间锁起来,其他人只有等他使用完毕才可以再次使用。需要更多Java知识点和面试题的朋友可以点一点下方链接免费领取链接:1103806531暗号:CSDN二、隔离级别与锁的关系在Read Uncommitted级别下,读取数据不需要加共享锁,原创 2020-10-25 20:58:16 · 427 阅读 · 4 评论 -
线程池 — 停止线程池中线程、正确处理线程池中线程的异常
java自带的线程池java提供了一个非常好用的工具类Executors,通过Executors我们可以非常方便的创建出一系列的线程池:Executors.newCachedThreadPool,根据需要可以创建新线程的线程池。线程池中曾经创建的线程,在完成某个任务后也许会被用来完成另外一项任务。Executors.newFixedThreadPool(int nThreads) ,创建一个可重用固定线程数的线程池。这个线程池里最多包含nThread个线程。Executors.newSingleTh原创 2020-10-23 21:46:24 · 2882 阅读 · 2 评论