- 博客(11)
- 收藏
- 关注
原创 POJO类中布尔类型属性的定义与命名
阿里Java开发手册中强制规定:而不类型的变量名不要使用isXxx的格式。因为布尔类型属性的getter方法与其他类型的不一样,是isSuccess(),如果在变量名之前加上is的话,属性名与方法名就重名,就可能会导致在反序列化时就找不到名为success的属性。布尔类型的属性应使用包装类型而不是基本数据类型。因为当接收远程调用的数据时,如果属性布尔值为null,而属性的类型又为基本数据类型,则会进行自动拆箱从而导致NPE异常。由于包装类型的默认值是null,基本类型的默认值是false
2020-10-03 14:08:27
1157
原创 SpringCloud在使用Feign框架集成的Hystrix时,controller中注入被【@FeignClient注解】标注的接口,与其fallback实现类注入冲突的问题
写Feign调用时,在Controller中注入Feign客户端接口,即UserClient,IDEA会报错Controller :@RestController@RequestMapping(value = "/feign")public class FeignController { @Autowired private UserClient userClient; @RequestMapping(value = "/{id}") public User qu
2020-08-14 21:09:46
1642
3
原创 虚拟机中运行redis-server,通过物理机Java代码或Redis桌面管理客户端连接失败解决方法
在虚拟机上的CentOS 7系统上运行Redis服务,防火墙开放了6379端口,redis.conf 配置文件中也将bind 27.0.0.1 注释掉了(默认开启,表示只能通过运行server的本机,也就是centos7内部连接)。但在物理机上通过Another Redis DeskTop Manager客户端还是连接不上,编写Java测试代码使用Jetdis尝试连接抛出以下错误:redis.clients.jedis.exceptions.JedisDataException: DENIED Re
2020-07-24 22:45:44
228
原创 源码解析:SpringMVC如何调用Controller目标方法
DiapatcherServletSpringMVC的前端控制器(dispatcherServlet)本质就是一个Servlet,它接收并处理除了jsp页面之外的所有请求,其主要功能就是匹配并调用请求对应的controller控制器(处理器),并将控制器处理后的 ModelAndView(数据和视图) 进行渲染后响应给客户端DispatcherServlet继承于HTTPServlet。当有请求发来时,首先执行HttpServlet的doGet/doPost方法,而FrameworkServlet子类
2020-07-22 20:48:51
1369
原创 源码解析:SpringMVC 拦截器执行时机
执行doDispatcher做请求分发处理在1016行,调用 getHandler() 方法 (关键类 RequestMappingHandlerMapping )返回目标方法(目标处理器)返回拦截器链( 当前方法可能执行的所有拦截器 )在1035行,mappedHandler.applyPreHandle () 执行所有拦截器的前置方法 → preHandle()在applyPreHandle()方法中,将与目标处理器关联的所有拦截器进行正序遍历,遍历执行所有拦截器的p...
2020-07-22 20:44:46
269
转载 POJO和Java Beans的区别
POJO vs Java BeansPOJO classesPOJO stands for Plain Old Java Object. It is an ordinary Java object, not bound by any special restriction other than those forced by the Java Language Specification and not requiring any classpath. POJOs are used for incre
2020-07-14 11:31:42
273
原创 MySQL中字符串与数值类型的比较
在MySQL中,字符串和数值类型是可以直接用「=」进行比较的,字符串会自动转成数值数字再进行比较。对于纯数字的字符串则直接转为数值类型对于数字开头的字符串则截取开头的数字部分转为数值类型对于截取不到开头为数字的字符串则转换为数值0虽然没有错,但应该尽量避免将字符串与数值类型直接进行比较。...
2020-07-08 23:15:54
1719
原创 转发与重定向的区别
转发(forward)服务器在接受到客户端的请求后,对请求数据进行处理,随后由服务器来向转发地址发送请求,并传递请求数据,最后将响应的内容读取过来再发回给客户端。整个过程对于客户端来说,只发送了一次请求,并不关心随后发送了几次请求。重定向(redirect)服务器在接受到客户端的请求后,给客户端回应一个带有新地址的302响应码,客户端在收到响应码识别出是「重定向响应码」后,再自动向新地址发送请求,将由新地址来给客户端响应数据。区别:转发 发生在服务端重定向 发生在客户端转发 对于客户端
2020-06-18 15:34:52
181
原创 Java集合体系
在开发中,选择什么集合实现类,主要取决于业务操作特点,然后根据集合实现类特性进行选择判断存储的类型(一组对象或一组键值对):一组对象:「Collection」接口允许重复:List增删多:LinkedList 【底层维护了一个双向链表】改查多:ArrayList 【底层维护 Object类型的可变数组】不允许重复:Set无序:HashSet 【维护了一个哈希表 即(数组+单链表)】插入和取出顺序一致:LinkedHashSet 【双向链表】排序:Tre.
2020-06-07 20:04:26
293
1
原创 线程安全:继承类方式和实现接口方式以及同步代码块和同步方法的相关使用
需求:有两个线程,一个打印奇数,一个打印偶数,两个线程启动后,每次打印都必须是连续5个奇数或连续5个偶数,奇偶之间的交替不作要求。①继承类+同步代码块继承两个「Thread」类,分别实现打印奇数和偶数的方法,将打印的代码加锁,每次只能是一个线程进行打印public class Test0 { //继承Thread类方式,创建两种功能的Thread类:ThreadOdd、ThreadEven //并使用「字符串同步锁」保证线程安全 public static void main(String[]
2020-05-28 22:06:08
922
1
原创 子类继承父类,父类实现接口,子类中调用父类和接口的同名成员变量会出现歧义
子类是C,父类是A,A实现了接口P当父类A和接口P都定义了一个同名的属性b,那么在子类C调用这个属性是调用的谁的呢?分开写interface P{ int b = 10;}class A implements P{ int b = 5;}class C extends A{ public void print(){ System.out.print(b);//输出5 }}这样写没问题,也不会报错,最后输出为5,说明调用的是父类A的b合一起写interface P{
2020-05-13 18:46:26
2475
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人