自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 2019年java中高级java面试题(十)java基础

1、BIO、NIO、AIO ?BIOblock(阻塞) IO,主要用于文件io和网络iobio 以流的方式处理数据,bio用装饰者模式给我们提供了各种阻塞流供我们使用。NIO从 JDK1.4 开始,Java 提供了NIO (non-blocking IO),NIO 以块的方式处理数据。NIO 主要有三大核心部分:Channel(通道),Buffer(缓冲区), Se...

2019-06-17 14:35:57 728

原创 2019年java中高级java面试题(九)java内存模型和jvm

1、运行时数据区包含那几个部分?Java运行时数据区分为下面几个内存区域:程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。java虚拟机栈每当创建一个线程,JVM就会为该线程创建对应的Java栈,在这个Java栈中又会包含多个栈帧(Stack Frame),这些栈帧是与每个方法关联起来的,每运行一个方法就创建一个栈帧,每个栈帧...

2019-06-10 16:24:15 398

原创 2019年java中高级java面试题(八)数据结构与算法

1、快速排序会把数组中的一个数当做基准数,一般把数组中最左边得数当做基准数。然后从两边开始检索。先从右边检索比基准数小的,再从左边检索比基准数大的。如果检索到了,九停下,然后交换这两个元素。然后再继续检索。一旦相遇停止检索,交换基准数和相遇位置的元素。先排基准数左边再排右边package com.hzau.itdog;import java.util.Arrays;p...

2019-06-10 15:13:04 546 1

原创 2019年java中高级java面试题(七)多线程

1、 现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行? Thread t1 = new Thread(() -> System.out.println("t1执行")); Thread t2 = new Thread(() -> System.out.println("t2执行")); Thr...

2019-06-10 00:29:19 2497

原创 代码重构:用工厂+策略模式优化过多的if else代码块

代码重构:用工厂+策略模式优化过多的if else代码块 最近在工作中优化了一段冗余的if else代码块,感觉对设计模式的理解和运用很有帮助,所以分享出来。鉴于原代码会涉及到公司的隐私,因此就不贴出来了。下面以更加通俗易懂的案例来解析。假如写一个针对员工上班不遵守制度做相应惩罚的程序,比如,上班迟到:罚100;上班睡觉:罚1000;上班早退:警告;...

2019-06-09 23:00:54 385

原创 2019年java中高级java面试题(六)RabbitMQ

1、什么是RabbitMQ?RabbitMQ是一个基于AMQP协议的高级消息中间件,它主要的技术特点是可用性,安全性,集群,多协议支持,可视化的客户端,活跃的社区。2、为什么要使用rabbitmq功能强大,支持死信队列,优先级队列,延迟队列,重试队列等多种功能无需二次开发。 性能相对还算可以,一般单机的QPS在万级左右,可以满足一般的应用场景。 文档说明非常丰富,社区活跃,上手容易...

2019-06-09 21:21:58 582

原创 2019年java中高级java面试题(五)springcloud

1、什么是服务熔断?什么是服务降级?熔断机制是应对雪崩效应的一种微服务链路保护机制。当链路的某个微服务不可用或者响应时间太长时,会进行服务降级,进而熔断该节点微服务的调用,快速返回“错误”的响应信息。当检测到该节点微服务调用响应正常后恢复调用链路。在SpringCloud框架里熔断机制通过Hystrix实现,Hystrix会监控微服务间调用的状况,当失败的调用到一定阈值,缺省是...

2019-06-05 22:43:35 1727

原创 2019年java中高级java面试题(四)springBoot

1、如何在 Spring Boot 启动的时候运行一些特定的代码?可以实现接口 ApplicationRunner 或者 CommandLineRunner,这两个接口实现方式一样,它们都只提供了一个 run 方法@Component@Order(1)public class Mytest implements ApplicationRunner { @Override publ...

2019-06-05 22:29:09 1406

原创 2019年java中高级java面试题(三)mysql

1、 乐观锁与悲观锁的区别?悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次...

2019-06-04 00:45:44 1169

原创 使用@ControllerAdvice处理异常

在Spring 3.2中,新增了@ControllerAdvice、@RestControllerAdvice 注解,可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping、@PostMapping, @GetMapping注解中。接下来我将通过代码展示如何使用这些注解,以及处理异常。1.注解的介绍...

2019-06-03 11:15:35 216

原创 2019年java中高级java面试题(二)Spring

1、springmvc的运行流程1. 用户向服务器发送请求,请求被SpringMVC 前端控制器DispatcherServlet捕获;2.DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以H...

2019-06-02 08:08:13 536

原创 2019年java中高级java面试题(一)Redis

1 、redis的数据结构(1) Redis数据结构之String字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。SET key value 设定该Key持有指定的字符串Value,如果该K...

2019-06-01 16:08:02 4060 1

EditPlus5绿色版

EditPlus5 绿色版解压可用,命令行下输入a添加右键菜单,输入d删除右键菜单

2018-05-07

2018中级java工程师面试总结

2018年武汉java面试总结 内容从java基础数据库,框架几乎都包含进去

2018-03-30

空空如也

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

TA关注的人

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