
Java
文章平均质量分 71
Java后端开发的一些经验技巧
goody9807
这个作者很懒,什么都没留下…
展开
-
Tomcat与Jetty底层拆解(一)
目录1.Web容器2.Servlet规范与Servlet容器2.1 Servlet和Servlet容器是什么2.2 Servlet接口实现解耦和2.3 Servlet容器3.Tomcat架构设计之连接器3.1 Tomcat支持的I/O模型3.2 Tomcat支持的应用层协议3.3 Tomcat连接器3.4 Tomcat链接器组件之Endpoint3.5 Tomcat连接器组件之Processor3.6 Tomcat连接器组件之Adapter1.Web容原创 2022-04-06 17:26:21 · 1104 阅读 · 0 评论 -
Spring中如何根据条件注入Bean
目录使用Spring表达式(SpEL)Property占位符Spring profilesPost processor条件注解我们可以写一个简单的工厂类来实现条件注入Bean,那么其实我们可以在里面写入一些很复杂的条件:public MyBeanFactoryBean implements FactoryBean<MyBean> { // Using app context instead of bean references so that t...原创 2022-04-05 20:16:38 · 2143 阅读 · 0 评论 -
Java线程安全经验分享
目录使用volatile关键字使用线程安全的数据结构使用ThreadLocal加锁阻塞锁 & 非阻塞锁synchronized methodsynchronized block公平锁 & 非公平锁可重入锁 & 不可重入锁分布式锁双检锁使用volatile关键字 public volatile int a = 88; public static volatile int b = 99;对于某个field 如原创 2022-04-02 19:39:48 · 871 阅读 · 0 评论 -
Java中没有无参构造方法的类反序列化解决方案
目录导言举例说明方案一自定义Jackson反序列化器测试代码方案二 使用MixIn注解方式测试代码导言有的时候在定义实体类的时候忘记写无参构造器了,或者必须不能有无参构造方法,那这时我们反序列化会有一定的问题,因为像FastJSON中对于不含有无参构造方法的类反序列化是不太容易实现的,但是我们可以通过Jackson来实现。举例说明比如我们有这样一个用户类,它不含有无参构造方法public class UserProfile { privat..原创 2022-04-01 16:32:10 · 3122 阅读 · 0 评论 -
FastJson反序列化Java异常的终极解决方案
导言正在做异常入库报警的功能,我们需要把每一个异常入库进行消息通知,分配专门的开发人员来处理异常。这就需要涉及到异常序列化和反序列化的问题,由于序列化的时候开启了WriteClassName属性,则会把类信息也一并进行了序列化,结果反序列化的时候报出如下错误:com.alibaba.fastjson.JSONException: autoType is not support. org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception...原创 2022-03-31 14:33:58 · 2672 阅读 · 0 评论 -
如何在IDEA下使用Spring Boot的热加载
你是否遇到过这样的困扰:当你写完一段代码后,要看到效果,必须点击IDEA的停止按钮,然后再次重启启动项目,你是否觉得这样很烦呢?如果你觉得很烦,本文就是用来解决你的问题的。俗话说:细节决定成败,虽然这个看起来是一件很小的事情,但算起来他也影响了工作效率,解决了这个热加载或者叫热部署的问题,你的工作效率不止提高10倍。让我们来算一笔账,我们的项目启动时由于要加载一些中间件如:rabbitmq、Zebra、crane等,每次启动需要大概花费2分钟以上的时间,我们修改后台类代码的时候就需要重启原创 2022-03-29 10:22:57 · 1833 阅读 · 0 评论 -
HttpServletRequest获取输入流多次读取的问题
HttpServletRequest只能获取一次输入流的解决方案原创 2022-03-28 10:48:11 · 3390 阅读 · 0 评论