Java
文章平均质量分 90
Java 课代表
JavaWeb一线开发,5年编程经验
个人微信公众号:【Java课代表】
专注分享 JavaWeb 开发实战技巧
展开
-
开发环境的配置提生产了!这坑怎么填?
开发过程中,我们一般会有若干个不同的环境,如:开发环境,生产环境。一般情况下,不同环境下的程序配置是不同的。通过这样的配置,我们就可以指定,在开发环境使用dev配置,在生产环境使用pro配置,从而一次解决提错配置文件的问题,而且还很优雅!有了YAML文件的配置,不同环境的不同配置终于不用改来改去了,但提交代码时还是要注意指定。例如:开发阶段,我们可以采用嵌入式的H2数据库,但生产环境中使用mysql。的值,否则还有提错配置的风险,有没有一劳永逸的办法呢?,关注公众号,及时获取更多Java干货。原创 2021-08-25 08:45:31 · 87 阅读 · 0 评论 -
单例模式,关键字级别详解
0.前言如果你去问一个写过几年代码的程序员用过哪些设计模式,我打赌,90%以上的回答里面会带【单例模式】。甚至有的面试官会直接问:说一下你用过哪些设计模式,单例就不用说了。你看,连面试官都听烦了,火爆程度可见一斑。不过,看似简单的单例模式,里面蕴含了很多Java基础,日常开发过程中课代表见过很多不规范的,甚至是有问题的单例实现。所以整理此文,总结一下单例模式的最佳实践。1、懒加载(懒汉)所谓懒加载,就是直到第一次被调用时才加载。其实现需要考虑并发问题和指令重排,代码如下:public class原创 2021-08-03 09:51:54 · 345 阅读 · 0 评论 -
一题搞定static关键字
基础不牢,地动山摇。hello大家好,我是Java课代表。开篇一道题,考察代码执行顺序:public class Parent { static { System.out.println("Parent static initial block"); } { System.out.println("Parent initial block"); } public Parent() { System.out.p.原创 2021-08-02 09:22:05 · 124 阅读 · 0 评论 -
使用Spring Validation优雅地校验参数
写得好的没我写得全,写得全的没我写得好。Hi大家好,我是课代表。引言不知道大家平时的业务开发过程中 controller 层的参数校验都是怎么写的?是否也存在下面这样的直接判断?public String add(UserVO userVO) { if(userVO.getAge() == null){ return "年龄不能为空"; } if(userVO.getAge() > 120){ return "年龄不能超过120"; .原创 2021-07-15 14:02:56 · 345 阅读 · 0 评论 -
RabbitMQ教程5. Topics
搜索:Java课代表,关注公众号,及时获取更多Java干货。5 Topics在前面的教程中,我们改进了日志系统,为了解决fanout exchange 的无脑广播,我们使用direct替换,从而实现了选择性接收日志。尽管使用direct exchange 改进了系统,他还是有局限性——它不能基于多种准则来路由消息。在我们的日志系统中,我们既想根据日志级别订阅日志,还想根据日志源订阅日志。你可能从syslog unix 工具中了解过这个概念,它基于日志的级别和设备来路由日志。这将带来极大的灵活.翻译 2021-07-12 08:43:22 · 79 阅读 · 0 评论 -
下载的附件名总乱码?你该去读一下 RFC 文档了!
纸上得来终觉浅,绝知此事要躬行文章目录1. Content-Disposition2.PercentEncode3. 代码实践4. 浏览器测试5.总结6.参考资料Web 开发过程中,相信大家都遇到过附件下载的场景,其中,各浏览器下载后的文件名中文乱码问题或许一度让你苦恼不已。网上搜索一下,大部分都是通过Request Headers中的UserAgent字段来判断浏览器类型,根据不同的浏览器做不同的处理,类似下面的代码:// MicroSoft Browserif (agent.contain.原创 2020-11-11 08:42:58 · 741 阅读 · 0 评论