
JAVA突击面试知识精讲
java知识加上实战为主,讲解Java核心基础到线程并发,到各种框架,不仅适用于面试也适用于企业开发。
通过学习,您将会全面掌握java基础知识以及并发知识等,专栏的优势是经过访谈上百家大公司面试官而得的总结,对于java基本功绝对吊打面试官。
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
架构师修炼
WX公众号:架构师修炼, 专注分享一线互联网解决方案
展开
-
消息队列MQ这样准备面试,通过率极高
1.消息队列的应用场景有哪些?答:消息队列的应用场景如下。 应用解耦,比如,用户下单后,订单系统需要通知库存系统,假如库存系统无法访问,则订单减库存将失败,从而导致订单失败。订单系统与库存系统耦合,这个时候如果使用消息队列,可以返回给用户成功,先把消息持久化,等库存系统恢复后,就可以正常消费减去库存了。 削峰填谷,比如,秒杀活动,一般会因为流量过大,从而导致流量暴增,应用挂掉,这个时候加上消息队列,服务器接收到用户的请求后,首先写入消息队列,假如消息队列长度超过最大数量,则直接抛弃用户请原创 2020-08-12 09:22:16 · 411 阅读 · 0 评论 -
通关MyBatis 实战 (下篇)
MyBatis 最初的设计是基于 XML 配置文件的,但随着 Java 的发展(Java 1.5 开始引入注解)和 MyBatis 自身的迭代升级,终于在 MyBatis 3 之后就开始支持基于注解的开发了。下面我们使用 Spring Boot + MyBatis 注解的方式,来实现对数据库的基本操作,具体实现步骤如下。MyBatis 注解版1)创建数据表droptableifexists`t_user`;createtable`t_user`(`id`bigint...原创 2020-07-24 10:21:11 · 228 阅读 · 0 评论 -
通关 MyBatis 实战(上篇)
MyBatis 介绍MyBatis 是一款优秀的 ORM(Object Relational Mapping,对象关系映射)框架,它可以通过对象和数据库之间的映射,将程序中的对象自动存储到数据库中。它是 Apache 提供的一个开源项目,之前的名字叫做 iBatis,2010 年迁移到了 Google Code,并且将名字改为我们现在所熟知的 MyBatis,又于 2013 年 11 月迁移到了 Github。MyBatis 提供了普通 SQL 查询、事务、存储过程等功能,它的优缺点如下。优点:原创 2020-07-16 09:32:33 · 301 阅读 · 0 评论 -
Spring Boot核心知识,用起来!
为什么要用 Spring Boot?Spring Boot 来自于 Spring 大家族,是 Spring 官方团队(Pivotal 团队)提供的全新框架,它的诞生解决了 Spring 框架使用较为繁琐的问题。Spring Boot 的核心思想是约定优于配置,让开发人员不需要配置任何 XML 文件,就可以像 Maven 整合 Jar 包一样,整合并使用所有框架。Spring Boot 特性 秒级构建一个项目; 便捷的对外输出格式,如 REST API、WebSocket、Web 等;原创 2020-07-10 09:53:01 · 349 阅读 · 0 评论 -
Spring 核心知识讲解,太简单啦!
Spring Framework 简称 Spring,是 Java 开发中最常用的框架,地位仅次于 Java API,就连近几年比较流行的微服务框架 SpringBoot,也是基于 Spring 实现的,SpringBoot 的诞生是为了让开发者更方便地使用 Spring,因此 Spring 在 Java 体系中的地位可谓首屈一指。当然,如果想要把 Spring 所有功能都讲的一清二楚,远远不是一两篇文章能够做到的,但幸运的是,Spring 的基础资料可以很轻易的搜索到,那么我们本讲主要的目的就是把 Sp原创 2020-06-20 14:21:10 · 369 阅读 · 0 评论 -
Java 并发包(JUC)中高级同步工具,太帅了
Java 中的并发包指的是 java.util.concurrent(简称 JUC)包和其子包下的类和接口,它为 Java 的并发提供了各种功能支持,比如: 提供了线程池的创建类 ThreadPoolExecutor、Executors 等; 提供了各种锁,如 Lock、ReentrantLock 等; 提供了各种线程安全的数据结构,如 ConcurrentHashMap、LinkedBlockingQueue、DelayQueue 等; 提供了更加高级的线程同步结构,如原创 2020-06-13 10:11:47 · 545 阅读 · 0 评论 -
线程安全——synchronized 和 ReentrantLock ,看完后绝不后悔系列
前面我们介绍了很多关于多线程的内容,在多线程中有一个很重要的课题需要我们攻克,那就是线程安全问题。线程安全问题指的是在多线程中,各线程之间因为同时操作所产生的数据污染或其他非预期的程序运行结果。线程安全1)非线程安全事例比如 A 和 B 同时给 C 转账的问题,假设 C 原本余额有 100 元,A 给 C 转账 100 元,正在转的途中,此时 B 也给 C 转了 100 元,这个时候 A 先给 C 转账成功,余额变成了 200 元,但 B 事先查询 C 的余额是 100 元,转账成功之后也是 2原创 2020-05-30 09:19:44 · 488 阅读 · 0 评论 -
Threadlocal详解,很详细了
什么是 ThreadLocal?ThreadLocal 诞生于 JDK 1.2,用于解决多线程间的数据隔离问题。也就是说 ThreadLocal 会为每一个线程创建一个单独的变量副本。ThreadLocal 有什么用?ThreadLocal 最典型的使用场景有两个: ThreadLocal 可以用来管理 Session,因为每个人的信息都是不一样的,所以就很适合用 ThreadLocal 来管理; 数据库连接,为每一个线程分配一个独立的资源,也适合用 ThreadLocal 来实原创 2020-05-14 09:01:03 · 736 阅读 · 1 评论 -
线程池—Executors 详解
线程池的创建分为两种方式:ThreadPoolExecutor 和 Executors,上一节学习了 ThreadPoolExecutor 的使用方式,本节重点来看 Executors 是如何创建线程池的。Executors 可以创建以下六种线程池。 FixedThreadPool(n):创建一个数量固定的线程池,超出的任务会在队列中等待空闲的线程,可用于控制程序的最大并发数。 CachedThreadPool():短时间内处理大量工作的线程池,会根据任务数量产生对应的线程,并试图缓存线程原创 2020-05-11 17:31:52 · 1081 阅读 · 0 评论 -
java 线程池看这一篇就行了
线程池介绍线程池(Thread Pool):把一个或多个线程通过统一的方式进行调度和重复使用的技术,避免了因为线程过多而带来使用上的开销。为什么要使用线程池? 可重复使用已有线程,避免对象创建、消亡和过度切换的性能开销。 避免创建大量同类线程所导致的资源过度竞争和内存溢出的问题。 支持更多功能,比如延迟任务线程池(newScheduledThreadPool)和缓...原创 2020-04-27 09:08:09 · 405 阅读 · 0 评论 -
java线程与死锁问题,讲的太详细太好懂了,再也不用怕了
线程介绍线程(Thread)是程序运行的执行单元,依托于进程存在。一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源、更加轻量化,因而也被称为轻量级的进程。什么是进程进程(Processes)是程序的一次动态执行,是系统进行资源分配和调度的基本单位,是操作系统运行的基础,通常每一个进程都拥有自己独立的内存空间和系统资源。简单来说,进程可...原创 2020-04-24 08:46:25 · 303 阅读 · 0 评论 -
Java 反射和动态代理真的没那么高深,一起来看看就知道了
反射反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect)的能力。简单来说就是通过反射,可以在运行期间获取、检测和调用对象的属性和方法。反射的使用场景在现实中反射的使用场景有很多,比如以下几个。使用场景一:编程工具 IDEA 或 Eclipse 等,在写代码时会有代码(属性或方法名)提示,就是因为使用了反射。使用场景二:很多知名的框架,为了让...原创 2020-04-20 08:52:32 · 257 阅读 · 0 评论 -
Java IO 以及 NIO 详解
上一篇:Java 队列详解IO 介绍IO 是 Input/Output 的缩写,它是基于流模型实现的,比如操作文件时使用输入流和输出流来写入和读取文件等。IO 分类传统的 IO,按照流类型我们可以分为: 字符流 字节流 其中,字符流包括 Reader、Writer;字节流包括 InputStream、OutputStream。传统 IO 的类关系图,如下图所示...原创 2020-04-07 17:54:02 · 540 阅读 · 0 评论 -
Java 数据结构-队列详解
队列(Queue):与栈相对的一种数据结构, 集合(Collection)的一个子类。队列允许在一端进行插入操作,而在另一端进行删除操作的线性表,栈的特点是后进先出,而队列的特点是先进先出。队列的用处很大,比如实现消息队列。Queue 类关系图,如下图所示:注:为了让读者更直观地理解,上图为精简版的 Queue 类关系图。本文如无特殊说明,内容都是基于 Java 1.8 版本。队列...原创 2020-03-30 08:46:00 · 455 阅读 · 0 评论 -
Java 泛型和迭代器详解
泛型1)为什么要用泛型?在泛型没有诞生之前,我们经常会遇到这样的问题,如以下代码所示:ArrayListarrayList=newArrayList();arrayList.add("Java");arrayList.add(24);for(inti=0;i<arrayList.size();i++){Stringstr=(Str...原创 2020-03-25 09:53:43 · 410 阅读 · 0 评论 -
Java 集合就这么简单-附面试题
集合有两个大接口:Collection 和 Map,本文重点来讲解集合中另一个常用的集合类型 Map。以下是 Map 的继承关系图:Map 简介Map 常用的实现类如下: Hashtable:Java 早期提供的一个哈希表实现,它是线程安全的,不支持 null 键和值,因为它的性能不如 ConcurrentHashMap,所以很少被推荐使用。 HashMap:最常用...原创 2020-03-19 08:47:51 · 268 阅读 · 0 评论 -
【Java面试题】搞定 BAT 的 Java 技术面试,集合详解篇(上)
先来看看集合的继承关系图,如下图所示:其中:外框为虚线的表示接口,边框为实线的表示类; 箭头为虚线的表示实现了接口,箭头为实线的表示继承了类。为了方便理解,我隐藏了一些与本文内容无关的信息,隐藏的这些内容会在后面的章节中进行详细地介绍。从图中可以看出,集合的根节点是 Collection,而 Collection 下又提供了两大常用集合,分别是:List:使用最多的有...原创 2020-03-10 08:54:15 · 243 阅读 · 0 评论