- 博客(21)
- 问答 (3)
- 收藏
- 关注
原创 Feign接口调用错误信息
feign.codec.DecodeException: Error while extracting response for type [java.util.List<org.xxx.xxx.system.api.entity.xxx>] and content type [application/json]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSO
2021-05-09 12:21:36
2868
1
原创 Springmvc的优点
1、清晰的角色划分:前端控制器(DispatcherServlet)请求到处理器映射(HandlerMapping)处理器适配器(HandlerAdapter)视图解析器(ViewResolver)处理器或页面控制器(Controller)验证器( Validator)命令对象(Command 请求参数绑定到的对象就叫命令对象)表单对象(Form Object提供给表单展示和提交到的对象就叫表单对象)。2、分工明确,而且扩展点相当灵活,可以很容易扩展,虽然几乎不需要。3、由于命令对象
2020-08-13 08:23:34
1106
原创 SpringMVC的执行流程和原理图
1)用户发起请求到前端控制器(DispatcherServlet)2)前端控制器请求处理器映射器(HandlerMappering)去查找处理器(Handler):通过xml配置获取注解进行查找3)找到以后处理器映射器(HandlerMappering)像前端控制器返回执行链(HandlerExecutionChain)4)前端控制器调用处理器适配器(HandlerAdapter)去执行处理器5)处理器适配器去执行Handler6)Handler执行完给处理器适配器返回ModelAndView.
2020-08-12 21:06:56
192
原创 SchemaBased和AspectJ方式的区别?
1.相同点: 在不修改源码的情况下都能实现功能的扩展。2.不同点:(1)SchemaBased方式基于接口来区别前置和后置和环绕和异常通知的,而AspectJ方式是在配置文件中使用标签来区分。(2)AspectJ方式在配置中的配置方式发现其切点的声明以及对应的通知组装中,切点只在Aop:aspect标签下有效。而SchemaBased方式声明的切点在全局有效.SchemaBased的切点的通用性比AspectJ方式要好。(3) AspectJ方式扩展涉及参数的流程:①切点方法中声明形参..
2020-08-12 20:59:53
360
原创 JDK动态代理和cglib动态代理字节码生成的区别?
JDK动态代理只能对实现了接口的类生成代理,而不是针对类。CGLIB是针对类实现代理,主要是指定的类生成一个子类,覆盖其中的方法,并覆盖其中方法实现增强,但是因为采用的是继承,所以该类或方法最好不要声明成final,对于final修饰的类或方法,是无法继承的。1.代理模式是什么 代理模式就是一种设计模式,简单的说就是在不修改源代码的基础上,实现功能的扩展。所谓代理模式是指客户端并不直接调用实际的对象或方法,而是间接调用了代理对象,完成调用实际的对象。2.JDK动态代理JDK动态代理是基于.
2020-08-12 20:54:25
865
1
原创 Spring框架的介绍和使用
1.什么是Spring框架 Spring是一个开源的框架,是由罗宾:约翰逊创作出来,Spring是为了解决企业应用开发的复杂性而创建。框架的主要优势就是将每一层结构分的很有层次,Spring的主要核心是IOC(控制反转)和AOP(面向切面)。“控制反转”,不是什么技术,而是一种设计思想什么是控制:控制什么?那就是主要控制了外部资源获取什么是反转:就是依赖对象的获取被反转了2.Spring有什么特点①方便解耦,简化开发②AOP编程的支持③声明事物的支持④方便程序的测试⑤方便集成各种优秀
2020-08-12 20:47:37
237
原创 ArrayList和LinkedList联系和区别
联系:都实现了List接口 有序 不唯一区别:1.ArrayList 优点:遍历元素和访问元素效率高缺点:添加和删除需大量移动元素效率低,特点:在内存中分配连续的空间,实现了长度可变的数组2.LinkedList 优点:插入 删除效率高 前提是必须低效率查询,缺点:遍历和访问元素效率低特点:采用链表的存储方式 ,底层是双向链表...
2020-08-12 20:32:31
225
原创 成员方法和静态方法的区别
调用方式不同:成员方法 对象名点方法名(同一个类中可以省略对象),静态方法 类名点方法名 (同一个类中可以省略类名)加载时期不同:静态方法是随着类的加载就会加载静态变量和静态方法,成员方法是随着创建对象调用方法时加载静态方法不能直接调用 非静态方法,静态方法不能直接引用 非静态变量。非静态变量需要创建对象后才能使用静态方法 ,类加载完毕即可使用非静态方法 可以引用静态方法和静态变量静态方法不能使用this,this代指当前对象 当静态方法完成加载可以执行时 对象可能还没有创建...
2020-08-12 20:31:01
2980
原创 final关键字和abstract关键字
使用final修饰的变量是常量使用final修饰的方法不能被重写使用final修饰的类是不能继承的使用final修饰的对象其地址是不能改变的 List itemabstract修饰的方法是没有方法体的如果一个类继承了一个抽象类则此类必须实现所有的抽象方法,不想实现除非该类也是抽象类抽象类不能直接创建对象 , 必须借助子类实现...
2020-08-12 20:30:18
328
原创 什么是ORM 及其作用?
什么是“持久化”持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。什么是 “持久层”持久层(Persistence Layer),即专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面,将数据使用者和数据实体相关联。什么是ORM即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的
2020-08-12 20:28:05
1580
原创 计算机协议和HTTP协议知识
计算机协议1.如何理解计算机协议答:简单来说,协议就是计算机之间通过网络实现通信时事先达成的一种“约定”,这种约定使那些不同厂商的设备,不同CPU及不同操作系统组成的计算机之间,只有遵循相同的协议就可以实现通信。协议可以分为很多种每一种协议都明确界定了它的行为规范,两台计算机之间必须能够支持相同的协议,并且遵循相同的协议进行处理才能实现相互通信。2.协议如何分类? 列举每层分类中的一些协议?答:(1)应用协议应用协议是定义了运行在不同系统上的应用程序进程如何相互传递报文的协议。(1.1)T
2020-08-12 20:25:17
173
原创 冒泡排序,选择排序,自定义类型排序,二分查找
package com.bjsxt.bubble;import java.util.Arrays;public class Util { public Util() { } /** * 冒泡排序 * * @param arr */ public static void bubble(int[] arr) { /** * 大循环 -1 是因为 一个数列有n个元素 至多执行n-1趟即可有序
2020-08-12 20:20:14
109
原创 JAVAEE知识
【javaEE知识总结】一.servlet和CGI1.什么是servlet?Servlet是server Applet的简称,称服务端小程序,是基于语言编写的服务端程序,Web容器或应用服务器实现了Servlet的标准所以Servlet需要运行在Web容器和应用服务器中。Servlet主要功能在于能够在服务器中执行并生成数据。2.什么是CGI?CGI是一个公共网关接口是Web服务器运行时外部程序的规范。CGI的缺点:①以进程方式运行 ,对每一个客户端的 请求都要启动一个进程来运行程序,导...
2020-07-29 20:47:26
291
原创 线程练习题@
编写两个线程,一个线程打印1-52的整数,另一个线程打印字母A-Z。打印顺序为12A34B56C….5152Z。即按照整数和字母的顺序从小到大打印,并且每打印两个整数后,打印一个字母,交替循环打印,直到打印到整数52和字母Z结束package com.bjsxt.zuoye;/** * 打印类 */public class Printer { private int index = 1; /** * 打印数字的方法 * * @param i 传入的
2020-06-25 17:20:07
193
原创 设计模式和MyBatis知识点
一. 什么是职责链模式?它解决什么问题?该模式有哪些组成部分?1.1 什么是责任链模式 ? 答:能够处理同一类请求的对象连城一条所提交的请求沿着链条传递,链条上的对象逐个判断是否有能力处理该问题,如果能处理则处理 不能处理则向后传递给下一个对象。1.2 它解决什么问题? 答:可以解决一些实质性问题,如:员工请假,接力赛跑,各种审批...。1.3 该模式有哪些组成部分? 答:1.要处理的请求 2.一个抽象的处理者 3.多个具体的
2020-06-25 17:16:06
114
原创 什么是设计模式 和 三种类型
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、提高扩展性、提高灵活性和提高开发效率,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。简单说:模式:在某些场景下,针对某类问题的某种通用的解决方案。场景:项目所在的环境问题:约束条件,项目目标等解决方案:通用、可复用的设计,解决约束达到目标。设计模式可以分为三种类型
2020-06-25 17:15:19
949
原创 什么是设计模式 ?有什么作用?,有哪些好处?
设计模式(Design pattern):是针对设计问题的通用解决方案。使用设计模式:可以把它应用到特定的应用中,用于解决相似的问题。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。真正理解什么是设计模式,就是要透彻理解OO的四大要素:封装、继承、多态和关联。其中核心是封装的概念。常用设计模式的一些优缺点1 简单工厂模式(Static Factory Method)适用场景工厂类负责创建的对象比较少。客户只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心。由于简单
2020-06-25 17:13:42
2985
原创 什么是DAO模式?
DAO(Data Access Object)顾名思义是一个为数据库或其他持久化机制提供了抽象接口的对象,在不暴露底层持久化方案实现细节的前提下提供了各种数据访问操作。在实际的开发中,应该将所有对数据源的访问操作进行抽象化后封装在一个公共API中。用程序设计语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口,在逻辑上该类对应一个特定的数据存储。DAO模式实际上包含了两个模式,一是Data
2020-06-25 17:11:16
560
原创 JDBC答题
1 JDBC访问数据库分为那几步?分别是什么? 答: (1)加载Driver驱动 可以使用反射 Class.forName(com.mysql.cj.jdbc.Driver); (2)创建数据库链接(connection) 使用Connection connection = DriverManager.getConnection(url(需要连接的数据库地址), username(用户名),passwo.
2020-06-25 17:10:08
186
原创 集合和数组的比较
数组容量固定且无法动态改变,集合是容量动态改变数组存放的数据 是基本数据类型和饮用水数据类型,集合只能放引用数据类型数组无法判断其中存有多少元素,length只能告诉数组的容量,集合可以判读其中存有多少元素,而对总的容量是不关系的集合有多中数据结构有顺序表 链表 哈希表 树等 多种特征可以不同场合使用,不像数组只有顺序表达集合已类的形式存在,具有 封装 继承 多态 等类的特征,通过简单的方法和属性克实现各种复杂的操作大大的提高了开发效率...
2020-06-25 17:08:49
275
原创 方法重载 和 方法重写
方法重载:在同一个类中方法的名称相同 参数的个数 类型 顺序不同,与访问权限和返回值类型无关,与异常无关。方法重写:只能出现在子类中,方法的名称相同 参数的个数 顺序 类型相同 返回值类型与父类的返回值类型相同或返回值类型是父类返回值类型的子类,子类抛出的异常要小于等于父类的异常...
2020-06-25 17:07:47
92
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人