02 2020 档案

摘要:玩转时间操作 在 JDK 8 之前,Java 语言为我们提供了两个类用于操作时间,它们分别是:java.util.Date 和 java.util.Calendar,但在 JDK 8 的时候为了解决旧时间操作类的一些缺陷,提供了几个新的类,用于操作时间和日期,它们分别是:LocalTime、Loca 阅读全文
posted @ 2020-02-07 14:42 洲洋1984 阅读(179) 评论(0) 推荐(0) 编辑
摘要:Java 并发包中的高级同步工具 Java 中的并发包指的是 java.util.concurrent(简称 JUC)包和其子包下的类和接口,它为 Java 的并发提供了各种功能支持,比如: 提供了线程池的创建类 ThreadPoolExecutor、Executors 等; 提供了各种锁,如 Lo 阅读全文
posted @ 2020-02-07 14:41 洲洋1984 阅读(552) 评论(0) 推荐(0) 编辑
摘要:消息队列面试题汇总 1.消息队列的应用场景有哪些? 答:消息队列的应用场景如下。 应用解耦,比如,用户下单后,订单系统需要通知库存系统,假如库存系统无法访问,则订单减库存将失败,从而导致订单失败。订单系统与库存系统耦合,这个时候如果使用消息队列,可以返回给用户成功,先把消息持久化,等库存系统恢复后, 阅读全文
posted @ 2020-02-07 14:40 洲洋1984 阅读(1325) 评论(0) 推荐(0) 编辑
摘要:Java 中的各种锁和 CAS + 面试题 如果说快速理解多线程有什么捷径的话,那本文介绍的各种锁无疑是其中之一,它不但为我们开发多线程程序提供理论支持,还是面试中经常被问到的核心面试题之一。因此下面就让我们一起深入地学习一下这些锁吧。 乐观锁和悲观锁 悲观锁和乐观锁并不是某个具体的“锁”而是一种并 阅读全文
posted @ 2020-02-07 14:38 洲洋1984 阅读(5238) 评论(0) 推荐(1) 编辑
摘要:Java 分布式框架面试题合集 1.什么是 ZooKeeper? 答:ZooKeeper 是一个开源的分布式应用程序协调服务,是一个典型的分布式数据一致性解决方案。设计目的是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的系统,并以一系列简单易用的原子操作提供给用户使用。 2.Zo 阅读全文
posted @ 2020-02-07 14:36 洲洋1984 阅读(14267) 评论(0) 推荐(0) 编辑
摘要:JVM 面试题汇总 1.什么是 JVM?它有什么作用? 答:JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,顾名思义它是一个虚拟计算机,也是 Java 程序能够实现跨平台的基础。它的作用是加载 Java 程序,把字节码翻译成机器码再交由 CPU 执行的一个虚拟计算器。 阅读全文
posted @ 2020-02-07 14:31 洲洋1984 阅读(1790) 评论(0) 推荐(0) 编辑
摘要:JDK 原生动态代理是怎么实现的 + 面试题 反射 反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect)的能力。简单来说就是通过反射,可以在运行期间获取、检测和调用对象的属性和方法。 反射的使用场景 在现实中反射的使用场景有很多,比如以下几个。 使用场景一 :编 阅读全文
posted @ 2020-02-07 14:28 洲洋1984 阅读(757) 评论(0) 推荐(1) 编辑
摘要:java.io 包下的类有哪些 + 面试题 IO 介绍 IO 是 Input/Output 的缩写,它是基于流模型实现的,比如操作文件时使用输入流和输出流来写入和读取文件等。 IO 分类 传统的 IO,按照流类型我们可以分为: 字符流 字节流 其中,字符流包括 Reader、Writer;字节流包括 阅读全文
posted @ 2020-02-07 14:23 洲洋1984 阅读(912) 评论(0) 推荐(0) 编辑
摘要:Redis 面试题汇总 1.Redis 使用场景有哪些? 答:Redis 使用场景如下: 记录帖子点赞数、点击数、评论数 缓存近期热帖 缓存文章详情信息 记录用户会话信息 2.Redis 有哪些功能? 答:Redis 功能如下: 数据缓存功能 分布式锁的功能 支持数据持久化 支持事务 支持消息队列 阅读全文
posted @ 2020-02-07 14:20 洲洋1984 阅读(640) 评论(0) 推荐(0) 编辑
摘要:MyBatis 介绍 MyBatis 是一款优秀的 ORM(Object Relational Mapping,对象关系映射)框架,它可以通过对象和数据库之间的映射,将程序中的对象自动存储到数据库中。它是 Apache 提供的一个开源项目,之前的名字叫做 iBatis,2010 年迁移到了 Goog 阅读全文
posted @ 2020-02-07 14:15 洲洋1984 阅读(1762) 评论(0) 推荐(0) 编辑
摘要:什么是 ThreadLocal? ThreadLocal 诞生于 JDK 1.2,用于解决多线程间的数据隔离问题。也就是说 ThreadLocal 会为每一个线程创建一个单独的变量副本。 ThreadLocal 有什么用? ThreadLocal 最典型的使用场景有两个: ThreadLocal 可 阅读全文
posted @ 2020-02-07 13:41 洲洋1984 阅读(687) 评论(0) 推荐(0) 编辑
摘要:Spring 核心功能演示 Spring Framework 简称 Spring,是 Java 开发中最常用的框架,地位仅次于 Java API,就连近几年比较流行的微服务框架 SpringBoot,也是基于 Spring 实现的,SpringBoot 的诞生是为了让开发者更方便地使用 Spring 阅读全文
posted @ 2020-02-07 13:33 洲洋1984 阅读(283) 评论(0) 推荐(0) 编辑
摘要:线程池之 ThreadPoolExecutor + 面试题 线程池介绍 线程池(Thread Pool):把一个或多个线程通过统一的方式进行调度和重复使用的技术,避免了因为线程过多而带来使用上的开销。 为什么要使用线程池? 可重复使用已有线程,避免对象创建、消亡和过度切换的性能开销。 避免创建大量同 阅读全文
posted @ 2020-02-07 13:28 洲洋1984 阅读(264) 评论(0) 推荐(0) 编辑
摘要:线程池之 Executors + 面试题 线程池的创建分为两种方式:ThreadPoolExecutor 和 Executors,上一节学习了 ThreadPoolExecutor 的使用方式,本节重点来看 Executors 是如何创建线程池的。 Executors 可以创建以下六种线程池。 Fi 阅读全文
posted @ 2020-02-07 13:26 洲洋1984 阅读(623) 评论(0) 推荐(0) 编辑
摘要:线程安全之 synchronized 和 ReentrantLock + 面试题 前面我们介绍了很多关于多线程的内容,在多线程中有一个很重要的课题需要我们攻克,那就是线程安全问题。线程安全问题指的是在多线程中,各线程之间因为同时操作所产生的数据污染或其他非预期的程序运行结果。 线程安全 1)非线程安 阅读全文
posted @ 2020-02-07 13:25 洲洋1984 阅读(284) 评论(0) 推荐(0) 编辑
摘要:为什么要使用泛型和迭代器 + 面试题 泛型 1)为什么要用泛型? 在泛型没有诞生之前,我们经常会遇到这样的问题,如以下代码所示: ArrayList arrayList = new ArrayList(); arrayList.add("Java"); String[] arr = new Stri 阅读全文
posted @ 2020-02-07 13:24 洲洋1984 阅读(439) 评论(0) 推荐(0) 编辑
摘要:类与 Object 的应用 + 面试题 类介绍 Java 程序是由若干个类组成的,类也是面向对象编程思想的具体实现。 以下为类的基本使用: 类引用 当我们需要使用不同包下的类时,就需要使用 import 导入包或类,这个时候才能正常使用。例如,我们要使用 java.util 下的 ArrayList 阅读全文
posted @ 2020-02-07 13:13 洲洋1984 阅读(171) 评论(0) 推荐(0) 编辑
摘要:集合详解之 Map + 面试题 集合有两个大接口:Collection 和 Map,本文重点来讲解集合中另一个常用的集合类型 Map。 以下是 Map 的继承关系图: Map 简介 Map 常用的实现类如下: Hashtable :Java 早期提供的一个哈希表实现,它是线程安全的,不支持 null 阅读全文
posted @ 2020-02-07 13:11 洲洋1984 阅读(352) 评论(0) 推荐(0) 编辑
摘要:集合详解之 Collection 先来看看集合的继承关系图,如下图所示: 其中: 外框为虚线的表示接口,边框为实线的表示类; 箭头为虚线的表示实现了接口,箭头为实线的表示继承了类。 为了方便理解,我隐藏了一些与本文内容无关的信息,隐藏的这些内容会在后面的章节中进行详细地介绍。 从图中可以看出,集合的 阅读全文
posted @ 2020-02-07 13:09 洲洋1984 阅读(518) 评论(0) 推荐(0) 编辑
摘要:各种内部类和枚举类的使用 + 面试题 内部类不仅经常出现在各种面试题中,还会在 Java 源码中频频出现,因此只有搞明白了 Java 内部类,才能搞定面试和看懂各种 Java 源码。 内部类 Java 内部类,分为以下四种: 成员内部类 静态成员内部类 局部内部类 匿名内部类 下面分别来看这些内部类 阅读全文
posted @ 2020-02-07 13:08 洲洋1984 阅读(1872) 评论(0) 推荐(0) 编辑
摘要:对数据库的基本操作步骤 + 面试题 MyBatis 最初的设计是基于 XML 配置文件的,但随着 Java 的发展(Java 1.5 开始引入注解)和 MyBatis 自身的迭代升级,终于在 MyBatis 3 之后就开始支持基于注解的开发了。 下面我们使用 Spring Boot + MyBati 阅读全文
posted @ 2020-02-07 12:13 洲洋1984 阅读(1543) 评论(0) 推荐(0) 编辑
摘要:抽象类和接口的应用 + 面试题 抽象类 定义 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。简单来说,使用关键字 abstract 修饰的类就叫做抽象类。 抽象类使用 示例代码, 阅读全文
posted @ 2020-02-07 12:08 洲洋1984 阅读(194) 评论(0) 推荐(0) 编辑
摘要:Java 中的运算符和流程控制 + 面试题 算术运算符 Java 中的算术运算符,包括以下几种: 算术运算符 名称 举例 + 加法 1+2=3 减法 2 1=1 \ 乘法 2\ 3=6 / 除法 24/8=3 % 求余 24%7=3 ++ 自增1 int i=1;i++ 自减1 int i=1;i 阅读全文
posted @ 2020-02-06 08:46 洲洋1984 阅读(180) 评论(0) 推荐(0) 编辑
摘要:深入理解字符串 + 面试题 字符串介绍 字符串是程序开发当中,使用最频繁的类型之一,有着与基础类型相同的地位,甚至在 JVM(Java 虚拟机)编译的时候会对字符串做特殊的处理,比如拼加操作可能会被 JVM 直接合成为一个最终的字符串,从而到达高效运行的目的。 1 String 特性 String 阅读全文
posted @ 2020-02-06 08:45 洲洋1984 阅读(347) 评论(0) 推荐(0) 编辑
摘要:深入了解 Java 中的异常处理 + 面试题 在程序开发中,异常处理也是我们经常使用到的模块,只是平常很少去深究异常模块的一些知识点。比如,try catch 处理要遵循的原则是什么,finally 为什么总是能执行,try catch 为什么比较消耗程序的执行性能等问题,我们本讲内容都会给出相应的 阅读全文
posted @ 2020-02-06 08:44 洲洋1984 阅读(496) 评论(0) 推荐(0) 编辑
摘要:你不知道的基本数据类型和包装类 + 面试题 基本数据类型 Java 基本数据按类型可以分为四大类:布尔型、整数型、浮点型、字符型,这四大类包含 8 种基本数据类型。 布尔型:boolean 整数型:byte、short、int、long 浮点型:float、double 字符型:char 8 种基本 阅读全文
posted @ 2020-02-05 19:03 洲洋1984 阅读(517) 评论(0) 推荐(0) 编辑
摘要:Java 程序是如何执行的 了解任何一门语言的精髓都是先俯览其全貌,从宏观的视角把握全局,然后再深入每个知识点逐个击破,这样就可以深入而快速的掌握一项技能。同样学习 Java 也是如此,本节就让我们先从整体来看一下 Java 中的精髓。 Java 介绍 Java 诞生于 1991 年,Java 的前 阅读全文
posted @ 2020-02-05 18:10 洲洋1984 阅读(714) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示