- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 Redis相关面试题总结
一、简介本文总结一些常见的Redis相关的面试题,方便在后面有需要的时候查看和复习。二、面试题【1】redis和memcached有什么区别?为什么高并发下有时单线程的redis比多线程的memcached效率要高?memcached可以缓存图片和视频,redis支持除了k/v键值对外更多的数据结构 redis可以使用虚拟内存,redis支持持久化和aof灾难恢复,redis通过...
2020-04-23 21:06:40 795
原创 Mybatis相关面试题总结
一、简介本文将总结一些关于持久化层框架Mybatis的面试题。二、面试题【1】什么是Mybatis?MyBatis是一个可以自定义SQL、动态SQL、存储过程和高级映射的持久层框架。【2】请谈谈Mybatis的缓存?MyBatis的缓存分为一级缓存和二级缓存,一级缓存放在session里面,默认开启一级缓存;二级缓存存放在它的命名空间中,默认是不开启的,需要我们手动开启二级...
2020-04-20 21:45:44 784
原创 SpringMVC相关面试题总结
一、简介本文将总结一些现在非常流行的开源框架SpringMVC相关的面试题。二、面试题【1】什么是SpringMVC?SpringMvc是Spring的一个模块。基于MVC的一个框架,无需中间整合层来整合。【2】Spring MVC的优点?清晰的角色划分:控制器(controller)、验证器(validator)、命令对象(command obect)、表单对象(form...
2020-04-19 22:19:45 687
原创 Spring相关面试题总结
一、简介本文将总结一些现在非常流行的开源框架Spring相关的面试题。二、面试题【1】什么是Spring框架?Spring框架有哪些主要模块?Spring框架是一个轻量级的Java开发框架,为应用开发提供平台。包含模块:Spring AOP 面向切面编程 Spring ORM Hibernate|mybatis|JDO Spring Core 提供bean工厂 IOC...
2020-04-19 22:13:18 599
原创 SpringBoot常见面试题总结一
一、简介本文将总结一些现在非常流行的开箱即用框架SpringBoot相关的面试题。二、面试题【1】什么是SpringBoot?Spring Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。【2】SpringBoot有哪些优点?独立运行 Spring ...
2020-04-19 21:49:59 868
原创 SpringCloud常见面试题总结一
一、简介本文将总结一些常见的微服务架构SpringCloud相关的面试题。二、面试题【1】什么是SpringCloud? 使用SpringCloud有什么优势?SpringCloud是在SpringBoot基础上构建的,用于快速构建分布式系统的通用模式的工具集。优势:约定优于配置 适用于各种环境.开发,部署在PC Server 或各种云环境均可 隐藏了组件的复杂性,并提...
2020-04-19 20:13:11 1950
原创 React图片压缩上传统一处理
一、简介最近项目需要对上传的图片文件进行压缩后才上传到服务器中,于是研究了一番,下面给出详细的压缩方法,笔者使用的是React Ant Design前端框架的Upload组件上传图片:通过查看Ant Design官网文档,在上传文件前可以修改文件:transformFile 在上传之前转换文件。支持返回一个 Promise 对象 Function(file):st...
2020-04-13 16:50:33 4667
原创 并发编程常见面试题总结五
一、请谈谈volatile有什么特点,为什么它能保证变量对所有线程的可见性?当一个变量被volatile修饰后,具备两个特性:保证此变量对所有线程的可见性,当一条线程修改了这个变量的值,新值对于其他线程是可以立即得知的,而普通变量做不到这一点。 禁止指令重排序优化,普通变量仅仅能保证在方法执行过程中,得到正确结果,但是不保证程序代码的执行顺序。内存模型定义了8种内存间操作来保证可见性:...
2020-04-05 20:08:22 525
原创 并发编程常见面试题总结四
一、Java中的线程池是如何实现的?在Java中,所谓的线程池中的线程,其实是被抽象为了一个静态内部类Worker,基于AQS实现,存放在线程池的HashSet workers成员变量中; 需要执行的任务存放在成员变量workQueue中,workQueue是一个阻塞队列; 线程池的基本思想就是:从workQueue队列中不断取出需要执行的任务,放在Workers中进行执行;二、如何自定...
2020-04-05 20:01:24 410
原创 并发编程常见面试题总结三
一、ReentrantLock是如何实现可重入的?ReentrantLock内部自定义了同步器Sync,其实就是加锁的时候通过CAS算法,将线程对象放到一个双向链表中,每次获取锁的时候,看下当前维护的那个线程ID和当前请求的线程ID是否一样,一样就可重入。二、请说说CyclicBarrier和CountDownLatch的异同?CountDownLatch 是不可以重置的,所以无法重...
2020-04-05 19:53:10 347
原创 并发编程常见面试题总结二
一、什么是锁消除和锁粗化?锁消除:指虚拟机即时编译器在运行时,对一些代码上要求同步,但被检测到不可能存在共享数据竞争的锁进行消除。 锁粗化:原则上,同步块的作用范围应该尽可能的小,也就是说锁的粒度要尽可能小一点。但是如果一系列的连续操作都对同一个对象反复加锁和解锁,甚至加锁操作在循环体内,频繁地进行互斥同步也会导致不必要的性能损耗,锁粗化就是增大锁的作用范围。二、为什么说Synchroni...
2020-04-05 19:44:42 417
原创 并发编程常见面试题总结一
一、Synchronized用过么?其原理是什么?Synchronized是由JVM虚拟机实现的一种实现互斥同步的方式,被Synchronized修饰后的程序块编译后的字节码文件中,在编译前后被编译器生成了monitorenter和monitorexit两个字节码指令。在虚拟机执行到monitorenter指令时,首先要尝试获取对象的锁,如果这个对象没有锁定,或者当前线程已经拥有了这个对象...
2020-04-05 19:31:03 448
原创 面试题之GC是什么?为什么要有GC?
一、GC是什么?为什么要有GC?参考回答:GC是垃圾收集的意思,内存处理是开发人员容易出现问题的地方,忘记或者错误地内存回收会导致程序或者系统的不稳定甚至崩溃,Java提供的垃圾回收机制可以自动检测对象是否超过作用域从而达到自动回收的目的。二、简述Java垃圾回收机制参考回答:在Java开发中,程序员并不需要显式去释放一个对象的内存的,而是由虚拟机自动进行管理。在JVM中,有一个低优先...
2020-04-04 19:33:51 7275
原创 面试题之请描述一下Java类加载过程
一、简介Java类加载过程是面试中常问的问题之一,今天我们将对类加载的各个过程进行简单的分析和总结,这样在面试的时候对这个问题就有信心回答好了。二、类加载过程Java类加载过程包含下面5个步骤:【a】加载通过一个类的全限定名获取该类的二进制流; 将该二进制流的静态存储结构转化为方法区运行时数据结构; 在内存中生成该类的Class对象,作为该类的数据访问入口;【b】链接...
2020-04-04 19:22:03 2199
zipkin-server jar.zip
2020-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人