自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 杂类:面试

面向对象的三大特征https://blog.csdn.net/qq_41680667/article/details/109643663三大特征有什么联系https://blog.csdn.net/hellosweet1/article/details/81320384?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-6&spm=1001.2101.3001.4242jvm内存模型,GC回收机制http..

2020-11-20 01:01:27 182

原创 面试题总结:单例模式 (Singleton Pattern),工厂模式(Factory Pattern) ,观察者模式(Observer Pattern),代理模式(Proxy Pattern)

文章目录单例模式(Singleton Pattern)(最常问的设计模式)工厂模式(Factory Pattern)观察者模式(Observer Pattern)代理模式(Proxy Pattern)单例模式(Singleton Pattern)(最常问的设计模式)单例模式只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个模块使用同一个数据源连接对象等等。使用场景:1.要求生成唯一序列号的环境;2.在整个项目中需要一个共享访问点或共享数据,例如一个We

2020-11-18 23:50:56 661

原创 面试GC(GarbageCollection)过程

GC(GarbageCollection)过程新new的对象都放在Eden区(伊甸园嘛,创造的地方)Eden区满或者快满的时候进行一次清理(Minor Gc),不被引用的对象直接被干掉;还有引用的对象,但是年龄比较大的,挪到S0区下次Eden区快满的时候,会进行上一步的操作,并且将Eden和S0区的年纪大的对象放到S1区【原理上随时保持S0和S1有一个是空的,用来存下一次的对象】下下次,Eden区快满的时候,会进行上一步操作,并且将Eden和S1区的年纪大的对象放到S0区【此时S1区就是空的】

2020-11-18 10:42:22 300

原创 面试总结: 线程的生命周期,死锁,线程同步,多线程synchronized 锁升级的原理

线程的生命周期死锁线程同步多线程synchronized 锁升级的原理synchronized 锁升级原理:在锁对象的对象头里面有一个 threadid 字段,在第一次访问的时候 threadid 为空,jvm 让其持有偏向锁,并将 threadid 设置为其线程 id,再次进入的时候会先判断 threadid 是否与其线程 id 一致,如果一致则可以直接使用此对象,如果不一致,则升级偏向锁为轻量级锁,通过自旋循环一定次数来获取锁,执行一定次数之后,如果还没有正常获取到要使用的对象,此时就会把锁从轻

2020-11-17 17:11:40 534 2

原创 面试题总结:泛型和虚拟机

1、创建泛型对象的时候,一定要指出类型变量T的具体类型。争取让编译器检查出错误,而不是留给JVM运行的时候抛出类不匹配的异常。2、JVM如何理解泛型概念 —— 类型擦除。事实上,JVM并不知道泛型,所有的泛型在编译阶段就已经被处理成了普通类和方法。 处理方法很简单,我们叫做类型变量T的擦除(erased) 。总结:泛型代码与JVM① 虚拟机中没有泛型,只有普通类和方法。② 在编译阶段,所有泛型类的类型参数都会被Object或者它们的限定边界来替换。(类型擦除)③ 在继承泛型..

2020-11-17 11:44:02 140

原创 杂类总结:全双工和半双工的区别

全双工(Full-Duplex Transmissions):是指交换机在发送数据的同时也能够接收数据,两者同步进行,这好像我们平时打电话一样,说话的同时也能够听到对方的声音。目前的交换机都支持全双工。全双工的好处在于迟延小,速度快。半双工(Half-Duplex Transmissions):就是指一个时间段内只有一个动作发生,举个简单例子,一天窄窄的马路,同时只能有一辆车通过,当目前有两量车对开,这种情况下就只能一辆先过,等到头儿后另一辆再开,这个例子就形象的说明了半双工的原理。早期的对

2020-11-16 11:18:24 1238

原创 面试题总结:JSP九大内置对象

JSP内置对象有:1.request对象客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。2.response对象response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。3.session对象session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是Ht

2020-11-16 09:57:06 204

转载 缓存穿透、缓存击穿、缓存雪崩区别和解决方案

转载自:https://blog.csdn.net/kongtiao5/article/details/82771694 一、缓存处理流程       前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。          二、缓存穿透 &n

2020-11-15 16:58:30 145

原创 面试总结:spring 和springBoot

文章目录Spring回顾Spring BootSpring Boot的核心功能概述Spring回顾链接:springMVC,spring 44道Spring面试题和答案(1)Spring是什么?Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的全栈,轻量级代替品(2)Spring核心是?IOC,依赖注入 @Service@Repository,@AutowiredAOP,面向切面编程,事务,日志管理,权限(3)Spring特点是

2020-11-15 16:03:06 184

原创 面试题总结: 类的加载过程

类的加载过程以Person person = new Person();为例进行说明。1、因为new用到了Person.class,所以会先找到Person.class文件,并加载到内存中。2、执行该类中的static代码块(如果有),给Person.class进行初始化3、在堆内存中开辟空间并分配内存地址4、在堆内存中建立对象的特有属性,并进行默认初始化5、对对象的特有属性进行显示初始化6、对对象进行构造代码块初始化7、对对象构造函数进行初始化8、在栈内存中声明Person类型的变量p

2020-11-14 21:56:09 412

原创 面试题总结:内存溢出和内存泄漏的区别

内存溢出和内存泄漏的区别内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!内存泄露 会最终会导致 内存溢出内存溢出就是你要求分配

2020-11-14 17:57:13 770

原创 面试总结:java反射

文章目录1、Java反射的定义2、java反射的实现方式3、哪里用到反射机制?4、反射机制的优缺点?1、Java反射的定义在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制;2、java反射的实现方式(1)通过.class第一种 获取到类对象Class class1 = Person.class;(2)通过创建实例对象来获取类对象Person person

2020-11-14 17:32:23 189

原创 面试总结:Mysql相关

MyisAM和innodb的有关索引的疑问两者都是什么索引?MyISAM( 非聚集)使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。MyISAM中索引检索的算法为首先按照B+Tree搜索算法搜索索引,如果指定的Key存在,则取出其data域的值,然后以data域的值为地址,读取相应数据记录。InnoDB( 聚集索引)第一个重大区别是InnoDB的数据文件本身就是索引文件, 这棵树的叶节点data域保存了完整的数据记录。但是辅助索引搜索需要检索两遍索引:首先检索辅助索引获

2020-11-13 23:42:53 191

原创 面试总结:事务的特性ACID,事务的并发问题,事务隔离级别,JDBC如何进行事务处理【****】

文章目录1.事务具有ACID四个特性:2.事务的并发问题三类数据读取问题:两类丢失更新问题3.事务的隔离级别:4.JDBC如何进行事务处理:1.事务具有ACID四个特性:1)原子性(Atomicity):事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生2)一致性(Consistency):事务在完成后数据的完整性必须保持一致3)隔离性(Isolation):多个用户并发访问数据库时,一个用户的事务不能被其他用户的事务所干扰,多个并发事务之间的数据要相互隔离4)持久性(Durabi

2020-11-13 20:21:21 163

原创 面试题总结: throw 和throws 的区别

throw 和throws 的区别throw:1) throw 语句用在方法体内,表示抛出异常,由方法体内的语句处理。2) throw 是具体向外抛出异常的动作,所以它抛出的是一个异常实例,执行 throw 一定是抛出了某种异常。throws:1) throws 语句是用在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理。2) throws 主要是声明这个方法会抛出某种类型的异常,让它的使用者要知道需要捕获的异常的类型。3) throws 表示出现异常的一种可能性,并不一定会发

2020-11-13 10:42:26 264

原创 面试总结 : Redis

文章目录1. Redis 的特点?2. 为什么redis 需要把所有数据放到内存中?3. Redis 常见的性能问题都有哪些?如何解决?4. Redis 最适合的场景有哪些?5. Memcache 与Redis 的区别都有哪些?6. Redis 有哪几种数据结构?7. Redis 的优缺点1. Redis 的特点?Redis 是由意大利人 Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis 全称为: Remote Dictionary Server(

2020-11-13 09:26:18 195

原创 面试题总结:spring boot与spring mvc的区别是什么?

spring boot与spring mvc的区别是什么?springmvc是框架,项目中实际运行的代码Spring MVC是基于Servlet 的一个 MVC 框架主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML、 JavaConfig、hin处理起来比较繁琐。于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置,简化了spring的配置流程。spring boot只是一个配置工具,整合工具,辅助工具.Spring Boot只是承载者,辅助你

2020-11-13 00:00:07 1032

原创 面试题总结:什么是jsp,什么是Servlet?jsp 和Servlet 有什么区别?

什么是jsp,什么是Servlet?jsp 和Servlet 有什么区别?jsp 本质上就是一个Servlet,它是 Servlet 的一种特殊形式(由 SUN 公司推出),每个 jsp 页面都是一个servlet实例。Servlet 是由 Java 提供用于开发 web 服务器应用程序的一个组件,运行在服务端,由 servlet 容器管理,用来生成动态内容。一个 servlet 实例是实现了特殊接口 Servlet 的 Java 类,所有自定义的 servlet 均必须实现 Servlet 接口。区

2020-11-12 20:34:25 261

原创 面试题总结:数组和链表的区别

数组和链表的区别数组是将元素在内存中连续存储的;优点:因为数据是连续存储的,内存地址连续,所以在查找数据的时候效率比较高;缺点:在存储之前,我们需要申请一块连续的内存空间,并且在编译的时候就必须确定好它的空间的大小。在运行的时候空间的大小是无法随着你的需要进行增加和减少而改变的,当数据两比较大的时候,有可能会出现越界的情况,数据比较小的时候,又有可能会浪费掉内存空间。在改变数据个数时,增加、插入、删除数据效率比较低链表是动态申请内存空间,不需要像数组需要提前申请好内存的大小,链表只需在

2020-11-12 17:32:36 877

原创 面试题总结:并发集合和普通集合如何区别?

并发集合和普通集合如何区别?并发集合常见的有ConcurrentHashMap、ConcurrentLinkedQueue、ConcurrentLinkedDeque 等。并发集合位 于 java.util.concurrent 包 下 , 是 jdk1.5 之 后 才 有 的 ,在 java 中有普通集合、同步(线程安全)的集合、并发集合。普通集合通常性能最高,但是不保证多线程的安全性和并发的可靠性。线程安全集合仅仅是给集合添加了 synchronized 同步锁,严重牺牲了性

2020-11-12 17:23:38 451 2

原创 面试题总结:访问权限修饰符public、private、protected, 以及不写(默认)时的区别

访问权限修饰符public、private、protected, 以及不写(默认)时的区别

2020-11-12 17:01:50 642

原创 面试题总结:面向对象都有哪些特性

面向对象都有哪些特性以及你对这些特性的理解1)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段。2)封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装

2020-11-12 14:43:57 276

原创 面试总结:Cookie 和 Session

文章目录1. Cookie 和Session 的区别2. session 共享怎么做的(分布式如何实现 session 共享)?3. 在单点登录中,如果 cookie 被禁用了怎么办?1. Cookie 和Session 的区别Cookie 是 web 服务器发送给浏览器的一块信息,浏览器会在本地一个文件中给每个 web 服务器存储 cookie。以后浏览器再给特定的 web 服务器发送请求时,同时会发送所有为该服务器存储的 cookie。Session 是存储在 web 服务器端的一块信息。sess

2020-11-11 23:11:26 353

原创 面试总结:JVM (深入理解JVM结构、类加载机制、垃圾回收GC原理、JVM内存分配策略、JVM内存泄露和溢出)

文章目录JVM面试总结:1.JVM结构类加载机制JVM面试总结:1.JVM结构JVM的内部结构:各部分的主要功能:类加载器JVM启动,程序开始执行时,负责将class字节码加载到JVM内存区域中执行引擎负责执行class文件中包含的字节码指令本地方法库主要是调用C或C++实现的本地方法及返回结果运行时数据区【重点关注***】方法区(Method Area)用于存储类结构信息的地方,包括常量池、静态变量、构造函数等。java堆(Heap)存储java实

2020-11-10 23:00:24 639

原创 面试总结:Shiro框架

文章目录Apache Shiro框架1. 简单介绍一下Shiro 框架2. Shiro 主要的四个组件3. Shiro 运行原理4. Shiro 的四种权限控制方式5. 授权实现的流程(1)、什么是粗颗粒和细颗粒权限?(2)、粗颗粒和细颗粒如何授权?Apache Shiro框架1. 简单介绍一下Shiro 框架Apache Shiro 是 Java 的一个安全框架。使用 shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE环境,也可以用在JavaEE 环境。Shiro 可以帮助

2020-11-10 20:13:54 756

原创 面试总结:springMVC,spring 44道Spring面试题和答案

文章目录:一、SpringMVC1. SpringMVC 的工作原理2. SpringMVC 常用注解都有哪些?3. 如何开启注解处理器和适配器?4. 如何解决get 和 post 乱码问题?二、Spring1. 谈谈你对Spring 的理解Spring 容器的主要核心是:2. Spring 中的设计模式1.简单工厂模式2.工厂方法模式3.单例模式4.适配器模式5.包装器模式6.代理模式7.观察者模式8.策略模式9.模板方法模式3.Spring 的常用注解4. 简单介绍一下Spring bean 的生命周期

2020-11-09 21:25:21 1274

转载 面试题总结:Java中异常的种类

文章目录Java异常处理介绍1.1 什么是异常JAVA异常分为2类2.1错误: Error2.1.1 常见错误2.2异常: Exception1、Thorwable类2.Error(错误):3.Exception:4、运行时异常和非运行时异常5、异常的捕获和处理java 常见的几种运行时异常RuntimeException转载自:https://blog.csdn.net/qq_43843725/article/details/94439890Java异常处理介绍1.1 什么是异常

2020-11-06 20:59:58 274

原创 面试题总结:Thread类的sleep()方法和对象的wait()方法有什么区别?线程的sleep()方法和yield()方法有什么区别?

Thread类的sleep()方法和对象的wait()方法sleep()方法(休眠)是线程类( Thread)的静态方法,调用此方法让当前线程暂停执行指定的时间, 将执行机会( CPU)让给其他线程, 但是对象的锁依然保持,因此休眠时间结束后会自动恢复(线程回到就绪状态)。wait() 方法是Object 类的方法,调用对象的wait()方法导致当前线程放弃对象的锁(线程暂停执行), 进入对象的等待池(wait pool),只有调用对象的notify()方法(或notifyAll()方法)时才能唤醒.

2020-11-06 14:53:29 573

原创 面试题总结:线程的周期

在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)五种状态。当线程start后,它不能一直"独占"着CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换。新建 New就绪 Runnable运行 Running阻塞 Blocked死亡 Dead发生以下情况时,线程将进入阻塞状态:调用sleep()方法时,此时会放弃它所占用的处理器资源(过了sleep指定时间不再阻塞.

2020-11-05 23:29:34 409 2

转载 每日学习:saas-export项目-系统日志AOP**

转载自:https://blog.csdn.net/u013621398/article/details/109503613系统日志管理 (1)分析 记录用户的访问的Controller与ip等信息 属于监控功能 只要查看与保存功能 (2)数据组成 //设置登录用户信息 seesion获取 //设置企业信息 //IP地址 request获取 //设置记录时间 //执行的方法名称 新方法获取 //执行的类名称 系统日志管理 两个功能,一个是分页显示,一个是保存日志 》SysLog 》Tes

2020-11-05 20:37:16 226

原创 面试题总结:进程和线程

文章目录进程,线程进程,线程进程是程序的一次动态执行过程,每个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程(比如浏览器可以开多个窗口,每个窗口就是一个进程),进程是执行着的应用程序,而线程是进程内部的一个执行序列。一个进程可以有多个线程。线程又叫做轻量级进程。多进程操作系统能够运行多个进程,每个进程都能够循环利用所需要的CPU时间片,使的所有进程看上去像在同时运行一样。线程是进程的一个执行流程,是CPU调度和分派的基本单位。一个进程可以由多个线程组成,也就是一个进程可以同时运行

2020-11-05 00:20:16 321

原创 面试题总结:JVM是什么?为什么 Java 被称作是“平台无关的编程语言”?JVM 加载class 文件的原理机制【***】

这里写目录标题JVM是什么?为什么 Java 被称作是“平台无关的编程语言”?JVM 加载class 文件的原理机制【***】1.Java代码在JVM中的执行流程2.JVM的类加载原理图JVM是什么?Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。为什么 Java 被称作是“平台无关的编程语言”?Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java 虚拟机让这个变为

2020-11-05 00:06:08 407 2

原创 每日一题:插入区间(困难??? 中等)

57. 插入区间1.题目来源题目链接:插入区间题目来源: LeetCode2.题目描述给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:输入:intervals = [[1,3],[6,9]], newInterval = [2,5]输出:[[1,5],[6,9]]示例 2:输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]],

2020-11-04 19:53:16 233

原创 面试题总结:设计模式——单例模式

文章目录懒汉和饿汉代码实现饿汉式 (可用)双重检查懒汉式 (可用,推荐)单例模式的优缺点优点缺点懒汉和饿汉在程序编写上,一般将单例模式分为两种,分别是饿汉式和懒汉式,饿汉式:在类加载时就完成了初始化,所以类加载比较慢,但获取对象的速度快。懒汉式:在类加载时不初始化,等到第一次被使用时才初始化。代码实现饿汉式 (可用)public class Singleton { private final static Singleton INSTANCE = new Singleton();

2020-11-03 20:45:55 418

转载 每日学习:saas-export项目-RBAC权限模型***

原博文:RBAC权限模型 RBAC权限模型引入 (1)如何设计用户权限 普通的用户权限设计 三个表搞定(用户表,权限表,用户权限表) (2)有什么特点? 》1 租户增加,选成会大量的冗余数据! 》2 添加或者删除权限不方便 建议使用RBAC权限模型 RBAC权限模型介绍

2020-11-03 20:11:14 204

转载 杂类学习:CSDN转载别人的博客

在参考“如何快速转载CSDN中的博客”后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记。 参考博客原址:http://blog.csdn.net/bolu1234/article/details/51867099 转载CSDN博客步骤: 1.CSDN博客页面右键,点击【检查】 点击检查后,页面右侧出现html代码,如下图 2.如果需要转载全文,则在html代码下侧点击选中articl...

2020-11-03 20:04:06 202

原创 java基础面试题总结链接

持续更新中…序号链接分类1HashMap、Hashtable、ConcurrentHashMap的原理与区别面试题总结2HashMap遍历的四种方法面试题总结3Set Map List 的异同点面试题总结4volatile的功能面试题总结5重载和重写的区别面试题总结6try{}里有一个return 语句,finally是否执行,执行位置?面试题总结7final、finally、finalize 的区别面试题总结8

2020-11-03 15:00:41 439

原创 面试题总结:HashMap、Hashtable、ConcurrentHashMap的原理与区别

文章目录HashMapHashTableConcurrentHashMap主要区别:1.ConcurrentHashMap提供了与Hashtable不同的锁机制。2. HashMap ,Hashtable中的key和valueHashMap底层数组+链表实现,可以存储null键和null值,线程不安全,方法不同步初始size为16,扩容:newsize = oldsize*2,size一定为2的n次幂扩容针对整个Map,每次扩容时,原来数组中的元素依次重新计算存放位置,并重新插入插入元素后才判断

2020-11-03 14:36:22 507

原创 每日一题:有效的山脉数组(简单)

941. 有效的山脉数组1. 题目来源:链接:有效的山脉数组来源:LeetCode2.题目说明:给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < … A[i-1] < A[i]A[i] > A[i+1] > … >

2020-11-03 10:39:53 368 1

原创 每日一题:两个数组的交集(简单)

文章目录349. 两个数组的交集1.题目来源:2.题目说明:3.思路:3.1 直接判断3.2先排序然后二分法查找4.上代码:4.1 直接判断:4.2先排序然后二分法查找55.15.2349. 两个数组的交集1.题目来源:1 两个数组的交集2.leetCode2.题目说明:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,

2020-11-02 17:35:04 703 1

空空如也

空空如也

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

TA关注的人

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