自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring mvc

1、spring web mvc架构图2、架构流程用户发送请求至前端控制器DispatcherServletDispatcherServlet收到请求调用handlerMapping处理器映射器处理器映射器根据URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给dispatcherServletdispatcherServlet通过handlerAdapter处理器适配器调用处理器handler执行处理器(controller,也叫后端控制器)controller

2020-11-13 19:34:19 186

原创 抽象类和接口

抽象类1、抽象方法使用abstract修饰的方法,没有方法体,只有声明。定义的是一种规范,告诉子类必须要给抽象方法提供具体实现。2、抽象类包含抽象方法的类就是抽象类。通过abstract方法定义规范,要求子类必须定义具体实现。通过抽象类,可以做到严格限制子类设计,使子类之间更加通用。3、抽象类使用要点有抽象方法的类只能定义成抽象类抽象类不能实例化,即不能用new来实例化抽象类抽象类可以包含属性,方法,构造函数。但构造函数不能来new实例,只能用来被子类调用。抽象类只能用来被继承抽象方法

2020-11-12 14:49:54 123

原创 单例模式

创建型设计模式,确保一个类只有一个实例,并提供该实例的全局访问点。使用一个私有构造函数,一个私有静态变量以及一个公有静态函数来实现。私有构造函数保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返回唯一的私有静态变量。实现1、饿汉式-线程安全public class singleton{ private static Singleton instance = new singleton(); private Singleton(){ } public static Singleto

2020-11-11 21:22:38 139

原创 spring IOC

1、程序的耦合与解耦什么是程序的耦合类之间产生的依赖关系称之为耦合如原生jdbc操作数据库存在的严重问题:当前类和MySQL的驱动类有很强的的依赖关系,没有驱动类则无法编译,这种依赖关系就叫程序的耦合。在开发中理想的状态是:尽力做到编译时不依赖,运行时才依赖。解耦的思路通过反射来注册驱动,好处是,类中不在依赖于具体的驱动类,此时删除MySQL的驱动jar包,依然可以编译,但是不能运行。还有一个问题是反射类对象的全限定类名字符串是在java类中写死的,一旦要改还是要修改源码,解决这个问题可

2020-11-10 20:31:25 72

原创 spring AOP

1、AOP是什么?AOP:全称aspect oriented programming,即面向切面编程简单说就是把程序的重复代码抽取出来,在需要执行时,使用动态代理技术,在不修改源码的基础上,对已有的方法进行增强。2、AOP的作用及优势作用:程序运行期间,不修改源码对已有方法进行增强。优势:减少重复代码,提高开发效率,维护方便3、AOP的实现方式使用动态代理技术动态代理1、动态代理的特点字节码随用随创建。随用随加载。它与静态代理的区别也在于此。因为静态代理是一上来就创建好字节码,并完成加

2020-11-10 14:47:24 80

原创 类加载过程

包括加载、验证、准备、解析、初始化五个阶段。1、加载通过全限定类名获取该类的二进制字节流将该二进制字节流表示的静态存储结构转换为方法区的运行时存储结构在内存中生成一个代表该类的class对象,作为方法区中该类各种数据的访问入口2、验证确保当前class的二进制字节流信息符合当前虚拟的的要求,且不会危害当前虚拟机的安全。3、准备准备阶段为类变量分配内存并设置初始值,使用的是方法区的内存,类变量指被static修饰的变量。4、解析将常量池的符号引用替换为直接引用的过程。5、初始化初始

2020-11-10 13:13:40 51

原创 java连接zookeeper服务器出现“org.apache.zookeeper.KeeperExceptionKeeper:ErrorCode = ConnectionLoss ”

错误信息如下:org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /eclipse at org.apache.zookeeper.KeeperException.create(KeeperException.java:99) at org.apa...

2019-08-20 15:30:58 5633

原创 java面试题整理(21)

一、请举例解释@Required Annotation?在产品级别的应用中,IOC容器可能声明了数十万Bean了,Bean与Bean之间有着复杂的依赖关系。设值注解方法的短板之一就是验证所有的属性是否被注解是一项十分困难的操作。可以通过设置“dependency-check”来解决这个问题。在应用程序的生命周期中,你可能不大愿意花时间验证所有Bean的属性是否按照上下文文件正确配置。或者你宁可...

2019-08-04 10:34:31 138

原创 java面试题整理(20)

一、Spring框架中的单例Bean是线程安全的吗?Spring框架并没有对单例Bean进行任何多线程的封装处理。关于单例Bean的线程安全和并发问题需要开发者自行搞定。但实际上,大部分Spring Bean并没有可变的状态(比如Service类和DAO类),所以在某种程度上说,Spring的单例Bean是线程安全的。如果你的Bean有多种状态(比如View Model对象),就需要自行保证线程...

2019-08-03 10:01:29 135

原创 java面试题整理(19)

一、如何使用XML配置的方式配置Spring?在Spring框架中,依赖和服务需要专门的配置文件中实现,一般用XML格式的配置文件。这些配置文件的格式采用公共的模板,由一系列的Bean定义和专门的应用配置选项组成。Spring XML配置的主要目的是使所有的Spring组件都可以用XML文件的形式来进行配置。这意味着不会出现其他的Spring配置类型(比如声明的方式或基于Java Class的...

2019-08-02 09:45:46 80

原创 java面试题整理(18)

一、什么是Spring框架?Spring框架有哪些主要模块?Spring框架是一个为Java应用程序开发提供综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身也是按照设计模式精心打造,这使得我们可以在开发环境中安心地集成Spring框架,不必担心Spring是如何在后台工作的。Spring大约18个基...

2019-08-01 20:52:16 78

原创 关于null != a 与 a != null 的区别

功能上是没有区别的,企业里大多是时候是推荐第二种的,是因为能够防止程序员书写遗漏等号导致错误。比如:null != a 这样少了“!”也会报错。而a !=null少了"!"就不会报错了。程序员有时候容易把 == 误写为 = ,如果把常量放前面 5 = i ,会编译错误,而写成i=5就不会报错了,所以这样写能发现这种笔误bug。原文:https://blog.csdn.net/weixin_41...

2019-07-31 13:03:00 2275

原创 java面试题整理(17)

一、什么是通用 SQL 函数?数学函数· Abs(num)求绝对值· floor(num)向下取整· ceil(num)向上取整字符串函数· insert (s1,index,length,s2) 替换函数o S1 表示被替换的字符串o s2 表示将要替换的字符串o Index 表示被替换的位置, 从 1 开始o Length 表示被替换的长度· upper(str),uca...

2019-07-28 11:27:30 97

原创 java面试题整理(16)

一、主键和候选键有什么区别?表格的每一行都由主键唯一标识, 一个表只有一个主键。主键也是候选键。按照惯例,候选键可以被指定为主键,并且可以用于任何外键引用。二、MySQL 数据库服务器性能分析的方法命令有哪些?Show status 一些值得监控的变量值:Bytes received 和 Bytes sent 指服务器之间来往的流量。Com 服务器正在执行的命令。Created 查询...

2019-07-26 19:59:32 65

原创 java面试题整理(15)

一、简洁描述 MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?SQL 标准定义的四个隔离级别为:read uncommited :读到未提交数据read committed:脏读,不可重复读repeatable read:可重读serializable :串行事物二、MySQL 中 ENUM 的用法是什么?ENUM 是一个字符串对象,用于指定一组预定义的...

2019-07-25 10:50:33 96

原创 java面试题整理(14)

一、HashSet 的底层实现是什么?HashSet 的实现是依赖于 HashMap 的,HashSet 的值都是存储在 HashMap 中的。在 HashSet 的构造法中会初始化一个 HashMap 对象,HashSet 不允许值重复,因此,HashSet 的值是作为 HashMap 的 key 存储在HashMap 中的,当存储的值已经存在时返回 false。二、LinkedHashMa...

2019-07-24 19:48:32 63

原创 java面试题整理(13)

一、List、Map、Set 三个接口,存取元素时,各有什么特点?这样的题属于自由发挥题:这样的题比较考水平,两个方面的水平:一是要真正明白这些内容,二是要有较强的总结和表述能力。如果你明白,但表述不清楚,在别人那里则等同于不明白。首先,List 与 Set 具有相似性,它们都是单列元素的集合,所以,它们有一个共同的父接口,叫 Collection。Set 里面不允许有重复的元素,所谓重复,即...

2019-07-23 10:14:13 71

原创 java面试题整理(12)

1. ArrayList和Vector的区别。这两个类都实现了List接口(List 接口继承了Collection 接口),他们都是有序集合,即存储在这两个集合中的元素的位置都:是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是HashSet 之类的集合的最大不同处,HashSet 之类的集合不可以按索引号去检索其中的元素,也不允许有重复的...

2019-07-22 20:34:13 72

原创 java面试题整理(11)

一、volatile 变量是什么?volatile 变量和 atomic 变量有什么不同?volatile 保证了所修饰的变量的可见行。因为 volatile 只是保证了同一个变量在多线程中的可见性,所以它更多是用于修饰作为开关状态的变量,即 Boolean 类型的变量。volatile 多用于修饰类似开关类型的变量、Atomic 多用于类似计数器相关的变量、其它多线程并发操作用 synchr...

2019-07-20 13:40:44 74

原创 java面试题整理(10)

一、什么是 ThreadLocal?ThreadLocal 用于创建线程的本地变量,我们知道一个对象的所有线程会共享它的全局变量,所以这些变量不是线程安全的,我们可以使用同步技术。但是当我们不想使用同步的时候,我们可以选择 ThreadLocal 变量。每个线程都会拥有他们自己的 Thread 变量,它们可以使用 get()\set() 方法去获取他们的默认值或者在线程内部改变他们的值。Thre...

2019-07-19 10:39:07 110

原创 java面试题整理(9)

一、stop() 和 suspend() 方法为何不推荐使用?反对使用 stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。suspend() 方法容易发生死锁。调用 suspend() 的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源...

2019-07-18 17:34:07 57

原创 java面试题整理(8)

一、什么是微服务答: 以前的模式是所有的代码在同一个工程中部署在同一个服务器中同一个项目的不同模块不同功能互相抢占资源微服务将工程根据不同的业务规则拆分成微服务,微服务部署在不同的机器上,服务之间进行相互调用Java微服务的框架有dubbo(只能用来做微服务),spring cloud(提供了服务的发现,断路器等)二、spring cloud如何实现服务的注册和发现答:服务在发布时指定对...

2019-07-17 13:27:18 84

原创 java面试题整理(7)

一、如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?不会,在下一个垃圾回收周期中,这个对象将是可被回收的。二、 什么是分布式垃圾回收(DGC)?它是如何工作的?DGC 叫做分布式垃圾回收。RMI 使用 DGC 来做自动垃圾回收。因为 RMI 包含了跨虚拟机的远程对象的引用,垃圾回收是很困难的。DGC 使用引用计数算法来给远程对象提供自动内存管理。三、 串行(seri...

2019-07-13 12:51:32 125

原创 java面试题整理(6)

一. 垃圾回收的优点和原理。并考虑 2 种回收机制。Java 语言中一个显著的特点就是引入了垃圾回收机制,使 C++程序员最头疼的内存管理的问题迎刃而解,它使得 Java 程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java 中的对象不再有“作用域”的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的...

2019-07-12 09:31:05 87

原创 MySql 数据库连接问题Unable to create initial connections of pool

记一次踩坑经历启动报错:2019-07-11 14:15:52,941 ERROR - [main] [org.apache.tomcat.jdbc.pool.ConnectionPool] - Unable to create initial connections of pool.com.mysql.jdbc.exceptions.jdbc4.CommunicationsExceptio...

2019-07-11 14:29:33 4308 1

原创 java面试题整理(5)

一、Java类加载过程?Java 类加载需要经历以下 7 个过程:加载加载是类加载的第一个过程,在这个阶段,将完成以下三件事情:• 通过一个类的全限定名获取该类的二进制流。• 将该二进制流中的静态存储结构转化为方法区运行时数据结构。• 在内存中生成该类的 Class 对象,作为该类的数据访问入口。验证验证的目的是为了确保 Class 文件的字节流中的信息不会危害到虚拟机.在该阶段...

2019-07-11 07:49:35 204

原创 java面试题整理(4)

一、什么是springbootspringboot是一个框架,一个新的编程规范,一个服务于框架的框架,简化了配置文件,集成了众多其他第三方框架,只需要简单的注入即可使用功能二、springboot常用的starter有哪些spring-boot-starter-web 主要是嵌入了tomcat和web开发spring-boot-starter-data-jpa 数据库支持spring-b...

2019-07-10 08:19:02 76

原创 java面试题整理(3)

一、mysql的三大引擎是啥?答:mysql常用的引擎有InnoDB,MyISAM,Memory,默认是InnoDBInnoDB:磁盘表,支持事务,支持行级锁,B+Tree索引ps:优点: 具有良好的ACID特性。适用于高并发,更新操作比较多的表。需要使用事务的表。对自动灾难恢复有要求的表。缺点:读写效率相对MYISAM比较差。占用的磁盘空间比较大。mysql的4大特性+4种隔离级别:...

2019-07-09 10:30:41 126

原创 java面试题整理(2)

一、注册中心你了解了哪些?答:Consul 、Eureka、ZooKeeper二、JDK 中有哪几个线程池?答:JUC提供了调度器对象Executors来创建线程池,可创建的线程池有四种1、newFixedThreadPool创建一个指定工作线程数量的线程池。每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。2、newCachedT...

2019-07-07 07:44:34 112

原创 java面试题整理(1)

一、请你谈谈对MQ的理解?以及你们在项目中是怎么用的?答:MQ(消息队列)是一种应用程序对应用程序的通信方法,由于在高并发环境下,由于来不及同步处理,请求往往发生堵塞,通过消息队列,我们可以异步处理请求,缓解系统压力;MQ( Message Queue) ,即消息队列是在消息的传输过程中保存消息的容器。通俗的说, 就是一个容器, 你把消息丢进去, 不需要立即处理。 然后有个程序去从你的容器里面...

2019-07-06 11:10:21 250

原创 IntelliJ Idea 常用快捷键

相关软件IntelliJ IDEA 2018.2.5windows 8.1快捷键注释1、行注释:Ctrl + / 再按一次可取消注释2、块注释:Ctrl + Shift + / 再按一次可取消注释代码相关1、删除当前行:Ctrl + Y/X 也可选中后删除多行2、复制当前行:Ctrl + D 也可选中后复制多行3、代码上下移动:Ctrl + Shift + 上/下 方向键...

2019-04-15 19:25:06 88

空空如也

空空如也

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

TA关注的人

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