自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 Shiro 权限校验(一)

前言最近因为工作需要,集中精力在研究第三方shiro鉴权框架的使用技巧,既然说到了shiro是用来做权限校验功能的,那么shiro的核心在哪呢,它由哪几块组成的,每一块的作用是什么?它与其它鉴权框架相比有什么优势? 带着这些问题,我便对shiro展开了猛烈攻击。shiro简介Apache Shiro 是Java的一个安全框架,因为对比Spring Sercurity相对简单,所...

2019-11-04 23:09:26 341

原创 十九、JVM面试题

说一下 jvm 的主要组成部分?及其作用? 说一下 jvm 运行时数据区? 说一下堆栈的区别? 队列和栈是什么?有什么区别? 什么是双亲委派模型? 说一下类加载的执行过程? 怎么判断对象是否可以被回收? java 中都有哪些引用类型? 说一下 jvm 有哪些垃圾回收算法? 说一下 jvm 有哪些垃圾回收器? 详细介绍一下 CMS 垃圾回收器? 新生代垃圾回收器和老生代垃圾回收...

2019-07-12 09:40:01 452

原创 十八、Redis面试题

redis 是什么?都有哪些使用场景? redis 有哪些功能? redis 和 memecache 有什么区别? redis 为什么是单线程的? 什么是缓存穿透?怎么解决? redis 支持的数据类型有哪些? redis 支持的 java 客户端都有哪些? jedis 和 redisson 有哪些区别? 怎么保证缓存和数据库数据的一致性? redis 持久化有几种方式? re...

2019-07-12 09:39:32 307

原创 十六、Zookeeper面试题

zookeeper 是什么? zookeeper 都有哪些功能? zookeeper 有几种部署模式? zookeeper 怎么保证主从节点的状态同步? 集群中为什么要有主节点? 集群中有 3 台服务器,其中一个节点宕机,这个时候 zookeeper 还可以使用吗? 说一下 zookeeper 的通知机制?...

2019-07-12 09:38:50 815

原创 十五、Kafka面试题

kafka 可以脱离 zookeeper 单独使用吗?为什么? kafka 有几种数据保留的策略? kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理? 什么情况会导致 kafka 运行变慢? 使用 kafka 集群需要注意什么?...

2019-07-12 09:38:21 273

原创 十四、RabbitMQ面试题

rabbitmq 的使用场景有哪些? rabbitmq 有哪些重要的角色? rabbitmq 有哪些重要的组件? rabbitmq 中 vhost 的作用是什么? rabbitmq 的消息是怎么发送的? rabbitmq 怎么保证消息的稳定性? rabbitmq 怎么避免消息丢失? 要保证消息持久化成功的条件有哪些? rabbitmq 持久化有什么缺点? rabbitmq 有几种...

2019-07-12 09:37:48 331

原创 十三、Mybatis面试题

mybatis 中 #{}和 ${}的区别是什么? mybatis 有几种分页方式? RowBounds 是一次性查询全部结果吗?为什么? mybatis 逻辑分页和物理分页的区别是什么? mybatis 是否支持延迟加载?延迟加载的原理是什么? 说一下 mybatis 的一级缓存和二级缓存? mybatis 和 hibernate 的区别有哪些? mybatis 有哪些执行器(Ex...

2019-07-12 09:37:12 177

原创 十二、Hibernate面试题

为什么要使用 hibernate? 什么是 ORM 框架? hibernate 中如何在控制台查看打印的 sql 语句? hibernate 有几种查询方式? hibernate 实体类可以被定义为 final 吗? 在 hibernate 中使用 Integer 和 int 做映射有什么区别? hibernate 是如何工作的? get()和 load()的区别? 说一下 hib...

2019-07-12 09:36:43 126

原创 十一、Spring Boot/Spring Cloud面试题

什么是 spring boot? 为什么要用 spring boot? spring boot 核心配置文件是什么? spring boot 配置文件有哪几种类型?它们有什么区别? spring boot 有哪些方式可以实现热部署? jpa 和 hibernate 有什么区别? 什么是 spring cloud? spring cloud 断路器的作用是什么? spring clo...

2019-07-12 09:36:10 202

原创 七、异常面试题

throw 和 throws 的区别? final、finally、finalize 有什么区别? try-catch-finally 中哪个部分可以省略? try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗? 常见的异常类有哪些?...

2019-07-12 09:34:28 243

原创 十、Spring/Spring MVC面试题

为什么要使用 spring? 解释一下什么是 aop? 解释一下什么是 ioc? spring 有哪些主要模块? spring 常用的注入方式有哪些? spring 中的 bean 是线程安全的吗? spring 支持几种 bean 的作用域? spring 自动装配 bean 有哪些方式? spring 事务实现方式有哪些? 说一下 spring 的事务隔离? 说一下 spr...

2019-07-11 20:23:52 134

原创 九、设计模式面试题

说一下你熟悉的设计模式? 简单工厂和抽象工厂有什么区别?

2019-07-11 20:22:43 151

原创 八、网络面试题

http 响应码 301 和 302 代表的是什么?有什么区别? forward 和 redirect 的区别? 简述 tcp 和 udp的区别? tcp 为什么要三次握手,两次不行吗?为什么? 说一下 tcp 粘包是怎么产生的? OSI 的七层模型都有哪些? get 和 post 请求有哪些区别? 如何实现跨域? 说一下 JSONP 实现原理?...

2019-07-11 20:22:11 94

原创 六、Java Web面试题

jsp 和 servlet 有什么区别? jsp 有哪些内置对象?作用分别是什么? 说一下 jsp 的 4 种作用域? session 和 cookie 有什么区别? 说一下 session 的工作原理? 如果客户端禁止 cookie 能实现 session 还能用吗? spring mvc 和 struts 的区别是什么? 如何避免 sql 注入? 什么是 XSS 攻击,如何避免...

2019-07-11 20:21:52 98

原创 五、对象拷贝面试题

为什么要使用克隆? 如何实现对象克隆? 深拷贝和浅拷贝区别是什么?

2019-07-11 20:21:08 146

原创 四、反射面试题

什么是反射? 反射是java的基本特征之一,允许运行中的java程序获取自身信息,并且可以操作类或对象的内部属性。 什么是 java 序列化?什么情况下需要序列化? (1)简单来说 序列化就是把Java对象储存在某一地方(硬盘、网络),也就是 将对象的内容进行流化。(2)方便于传输、存储(内存中的对象状态保存到一个文件中或者数据库中;套 接字在网络上传送对...

2019-07-11 20:20:21 139

原创 三、多线程面试题

并行和并发有什么区别? (1)并行:多个处理器或多核处理器同时处理多个任务。(是真正的物理上的同时发生)(2)并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑上来看那些任务是同时执行。(逻辑上的同时发生)  举个例子:排队打饭,当只有一个窗口可以打饭的时候,我们排成了两排,那么这两排只能一边一个来,这就是并发;      如果有两个窗口可以打饭的话,一个队...

2019-07-11 20:19:49 107

原创 二、Java容器面试题

java 容器都有哪些? (1)List: ArrayList、LinkedList、Vector;(2)Set: HashSet、TreeSet、LinkedSet;(3)Map: HashMap、HashTable、LinkedHashMap、ConcurrentHashMap; Collection 和 Collections 有什么区别? (1)java...

2019-07-11 20:19:03 122

原创 一、JAVASE面试题

一、Java 基础JDK 和 JRE 有什么区别? (1)JDK 全称Java development kit Java语言开发工具。把Java程序设计语言、Java虚拟机、JavaAPI库这三部分统称为JDK,用于支持Java开发的最小开发环境。(2)JRE 全称 Java runtime environment Java运行环境。把JavaAPI类库中的JavaSE ...

2019-07-11 20:18:00 126

原创 十七、MySql面试题

数据库的三范式是什么? (1)第一范式:当关系R不能再分解成更基本的数据单位时。(2)第二范式:在满足第一范式下,并且R得所有非主属性都完全依赖于R的每一个候选关键属性。(3)第三范式:在满足第一、第二范式下,属性不依赖于其它非主属性,也就是在满足2NF的基础上,任何非主属性不得传递依赖于主属性。 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 m...

2019-07-11 20:17:00 164

原创 JVM

一、程序计数器(1)当前线程所执行字节码的行号指示器。(2)字节码解释器工作时就是通过改变计数器的值来选取下一条需要执行的字节码指令。(3)分支,循环,跳转,异常处理,线程恢复等基础功能都需要程序计数器。(4)一个处理器只会执行一条线程中的指令。为了线程切换后能回到原来的位置,每条线程只能拥有一个独立的程序计数器。保证各条线程之间的程序计数器不受影响,独立存储,所以称这类内存区域为线程...

2019-07-10 23:35:24 73

转载 JAVA面试题汇总

一、Java 基础JDK 和 JRE 有什么区别? == 和 equals 的区别是什么? 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? final 在 java 中有什么作用? java 中的 Math.round(-1.5) 等于多少? String 属于基础的数据类型吗? java 中操作字符串都有哪些类?它们之间有什么区别? ...

2019-07-06 21:28:30 112

转载 Http协议

一、HTTP/0.91.基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,默认使用80端口2.最早版本是1991年发布的0.9版。该版本极其简单,只有一个命令GET。3.TCP 连接(connection)建立后,客户端向服务器请求(request)网页index.html4.协议规定,服务器只能回应HTML格式的字符串,不能回应别的格式。5.服务器发送...

2019-05-31 11:31:13 76

原创 Sping-IOC

IOC浅析 一、借助第三方实现有依赖性对象的解耦意思是把对象各自封装起来,通过IOC来实现对象之间的联系,但对象与对象之间又没有直接联系。二、为什么叫这种方式为控制反转在没有加入IOC前,对象A依赖于对象B当A在运行运行某一点或实例时,自己需要主动创建B,这是控制权在自己手上,在加入了IOC之后,A和B失去了直接联系,当A实例化后需要B时,IOC会主动创建...

2019-05-26 22:22:00 97

原创 Mysql之MyIsAM与InnoDB的区别

Mysql是我们常用的几种数据库之一,是一种非常优秀和强大的数据库,下面我来分享一篇关于mysql常用的两个搜索引擎:MyIsAM和InnoDB.一、本质区别(1)MyIsAM:是mysql5.5版本前默认的搜索引擎,虽然性能极佳但不支持事务。(2)InnoDB:由InnoBase Oy公司所开发的搜索引擎,与ISAM和MyIsAM最大的区别在于支持了数据库(ACI...

2019-05-26 21:48:08 138

原创 JMM之volatile关键字分析

volatile关键字理解今天抽空看了一些关于volatile的解析,让我对它的使用有了一定了解,volatile的使用场景一般用于并发条件下,属于轻量级并发锁(也可以理解为乞丐版的java并发锁)。volatile自身有三大属性...

2019-05-19 23:10:41 170

原创 LinkedList源码分析

LinkedList几个重要方法的实现机制:  首先,简单介绍一下linkedList的数据结构。ArrayList与linkedList的区别在于前者是用数组实现,而后者则是使用双向循环链表结构组成,这里我就不细讲啦,对数据结构不熟悉的小伙伴可以先去熟悉一下链表的组成和特性。一、add(E e)方法的实现过程: (1)第一步,进入linkLast(e)方法中,在这个方法中又会细分为...

2019-02-18 17:29:46 91

原创 ArrayList源码分析

ArrayList中几个重要方法的实现机制:一、add(E)的实现过程:  (1)首先第一步,实例化ArrayList集合,此时的集合为一个空数组,当第一次添加参数的时候,进入ensureCapacityInternal(size+1)方法中,进来之后先判断数组是否为空,当数组为空时,就把默认长度十赋值给参数,然后进入ensureExplicitCapacity(minCapacity)方...

2019-02-18 10:47:22 106

转载 java面试总结(上)

JAVA面试整理(上篇)一、抽象,封装,继承和多态。抽象修饰类不能实例化,只能通过继承来实现。 封装是使用private关键字实现,只能通过get/set方法进行查询修改。 继承是可以子类可以获得父类除了private之外的全部属性和方法(构造方法除外),子类有时候会需要重写父类的方法,在重写时必须保证方法名和形参列表相同,返回值类型和异常类型子类需要小于父类;访问权限,子类需要大于父...

2018-09-23 12:34:29 136

转载 Mysql复杂语句查询

1.自行添加测试数据2.查询平均成绩大于60分的同学的学号和平均成绩;  1 2 3 SELECT t1.sid,AVG(t2.number) FROM student t1 LEFT JOIN score t2 ON t1.sid=t2.student_id GROUP BY t1.sid HAVING AVG(t2.num...

2018-09-12 22:36:07 356 1

原创 Linux命令详解

                                                                              linux 操作系统  #先看下linux的目录结构  目录名描述/根目录,一般根目录下只存放目录,不要存放文件。/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中/bin...

2018-09-12 22:21:57 216

转载 SpringMVC和MyBatis浅谈

                                                                             SpringMVC和MyBatis浅谈一、SpringMVC框架的特点ioc,实现java bean的低耦合性,便于java code 的重用; aop使用简便; 实现restful的mvc,便于web开发; 大量的注解pojo,简...

2018-09-10 23:12:50 429

原创 Oracle的基础语句

                                                                              Oracle基本语句整理在sql*plus中修改当前会话的日期格式Alter session set nls_date_format = ‘yyyy-mm-dd hh24:mi:ss’;ALTER SESSION SET NLS_NL...

2018-09-10 10:31:20 148

转载 Mysql基础

                                                                                       Mysql基础数据库事务的四个特性和含义原子性:事务的所有操作要么全部完成,要么全部不完成。 一致性:在开始之前和结束以后,数据库完整性约束没有破坏。 隔离性:隔离状态执行任务,像是在系统给定时间内执行唯一操作,这种...

2018-09-10 10:02:54 88

转载 MySql的存储过程

MYSQL存储过程Mysql的存储过程在工作中我们时常用到,但是却没有真正的去了解过它,包括它的一些特殊功能。下面我们来一起了解一下存储过程到底是什么?简介存储过程是一组完成特定功能的语句集,编译后存储在数据库中,操作者通过存储过程名称来给定参数并且调用和执行它。 存储过程是个可编程的函数了,在数据库中创建并保存,由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函...

2018-09-04 20:35:22 98

转载 JVM内存模型

   JVM内存模型浅析先看一张JAVA内存结构图,这张图能很清晰的说明JVM内存结构布局 一、JVM内存结构只要有三大块:堆内存、方法区和栈堆内存是JVM最大的一块由老年代和年轻代组成,而年轻代内存分为三部分:Eden、From Survivor、To Survivor,默认情况下年轻代按照8:1:1的比例来分配 方法区存储类信息、常量、静态变量等数据,是线程共...

2018-08-31 17:34:04 98

转载 JVM类加载机制

                                          JVM类加载机制浅析  类的生命周期 加载->验证->准备->解析->初始化->使用->卸载注意:(类加载过程中包括了加载、验证、准备、解析、初始化。但是加载、验证、准备、初始化是按顺序发生而解析阶段不一定)这几个阶段是按顺序开始而不是按顺序进行或完成,通常都是交叉混...

2018-08-31 15:05:35 144

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除