首页
学习
活动
专区
工具
TVP
发布

程序员小明

专栏作者
67
文章
122061
阅读量
16
订阅数
【技术创作101训练营】认识Mysql死锁,并给它说再见
大家好,我的名字是辛国帅,辛是一把辛酸泪的辛,为了方便大家记住我的名字,大家可以反过来叫我名字:帅锅。
程序员小明
2021-01-20
5840
「Elasticsearch」ES重建索引怎么才能做到数据无缝迁移呢?
众所周知,Elasticsearch是⼀个实时的分布式搜索引擎,为⽤户提供搜索服务。当我们决定存储某种数据,在创建索引的时候就需要将数据结构,即Mapping确定下来,于此同时索引的设定和很多固定配置将不能改变。
程序员小明
2021-01-02
4.6K0
求求你别在用IF ELSE校验参数了
验证数据是贯穿所有应用程序层(从表示层到持久层)的常见任务。通常在每一层实现相同的验证逻辑,这既费时又容易出错。为了避免重复这些验证,开发人员经常将验证逻辑直接捆绑到域模型中,将域类与验证代码混在一起,这些验证代码实际上是关于类本身的元数据,与业务逻辑不相关。
程序员小明
2020-12-16
1.7K0
【技术创作101训练营】我是如何使用freemarker生成Word文件的?
这个文档有大大小小的标题层级,还有排版好的段落、各种一目了然的饼图、走势图,当然还少不了颜色循环交替的报表。精致程度不亚于小明同学的学习报告。
程序员小明
2020-09-21
2K0
解决SpringBoot jar包中的文件读取问题
SpringBoot微服务已成为业界主流,从开发到部署都非常省时省力,但是最近小明开发时遇到一个问题:在代码中读取资源文件(比如word文档、导出模版等),本地开发时可以正常读取 ,但是,当我们打成jar包发布到服务器后,再次执行程序时就会抛出找不到文件的异常。
程序员小明
2020-08-27
2.6K0
「源码」MyBatis源码环境搭建及分析
之前阅读了JDK常用容器的源码本章就开始阅读Mybatis源码。不过在阅读之前我们首先搭建一下源码阅读环境,这样有利于我们后面的阅读,更加可以一边写注释一边的Debug。
程序员小明
2020-05-13
1K0
记一次Date引起的线上BUG处理
在Java8以前,每每操控时间,我们经常使用的类库就是Date,并且会通过SimpleDateFormat类对时间进行格式化。你可知道?Date类是一个可变类,SimpleDateFormat类也是线程不安全的,因此在多线程的场景下执行格式化操作时,就会发生意想不到的情况。下面我们看一下使用Date、SimpleDateFormat在多线程下可能发生的问题以及使用LocalDateTime、DateTimeFormatter的方法和优势。
程序员小明
2020-04-24
7350
ThreadLocal解决了什么问题
由于 ThreadLocal 支持范型,如 ThreadLocal< StringBuilder >,为表述方便,后文用 变量 代表 ThreadLocal 本身,而用 实例 代表具体类型(如 StringBuidler )的实例。
程序员小明
2019-12-24
4870
一道面试题引起的SpringBoot启动解析
Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的ioc和 aop,ioc 提供了依赖注入的容器, aop解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。
程序员小明
2019-11-28
3100
单例模式--双重检验锁真的线程安全吗
单例模式是我们最熟悉不过的一种设计模式,用来保证内存中只有一个对象的实例。虽然容易,但里面的坑也有很多,比如双重检验锁模式(double checked locking pattern)真的是线程安全的吗?
程序员小明
2019-11-06
1.6K1
SpringBoot 深度调优,让你的项目飞起来!
关于这些设置的JVM参数是什么意思,请参考第二步中的oracle官方给出的调优文档。
程序员小明
2019-10-17
4240
优秀的代码都是如何分层的?
说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三层。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放哪无所谓呗。这样往往造成后面代码无法复用,层级关系混乱,对后续代码的维护非常麻烦。
程序员小明
2019-10-10
3.4K0
让人头大的各种锁,从这里让你思绪清晰
说到了锁我们经常会联想到生活中的锁,在我们日常中我们经常会接触到锁。比如我们的手机锁,电脑锁,再比如我们生活中的门锁,这些都是锁。
程序员小明
2019-09-27
2840
消灭 Java 代码的“坏味道”
代码中的"坏味道",如"私欲"如"灰尘",每天都在增加,一日不去清除,便会越累越多。如果用功去清除这些"坏味道",不仅能提高自己的编码水平,也能使代码变得"精白无一毫不彻"。这里,整理了日常工作中的一些"坏味道",及清理方法,供大家参考。
程序员小明
2019-09-17
1.4K0
SpringBoot优雅地发送邮件
消息通知的形式也有很多,比如:短信、邮件、app推送等,本文主要给大家描述一下邮件通知的形式,因为邮件相比较其他通知渠道更方便实用(免费),除了简单文本邮件(已经满足大多数情形),本文还会重点说一下集成Thymeleaf模版引擎,使用HTML的形式发送邮件,尽管HTML内容不是标准化的消息格式,但是许多邮件客户端至少支持标记语言的子集,这种方式相比较纯文本展现形式更加友好。
程序员小明
2019-09-17
6290
SpringBoot:优雅地处理全局异常
其实Spring系列的项目全局异常处理方式早已存在,只不过我们一直忙于搬砖,很少停下脚步去审视这个日夜与我们相伴的朋友。为了贴合主题,本次主要针对SpringBoot全局异常处理进行举例说明。
程序员小明
2019-08-14
7280
教妹学 Java:动态伴侣 Groovy
“二哥,听说上一篇《多线程》被 CSDN 创始人蒋涛点赞了?”三妹对她提议的《教妹学 Java》专栏一直很关心。
程序员小明
2019-06-19
5450
快速优雅的在linux服务器上安装jdk8
要在linux下安装jdk,首先你得先有一台linux服务器,作为小白,手头的机器肯定都是windows的,搞个虚拟机安装对我这种小白简直是折磨人;这里使用最简单的方式获得一台linux服务器,就是从阿里云或者腾讯云上租一台。镜像选择CentOS7.3 64位。
程序员小明
2019-06-17
13K0
JDK8之Optional 的正确使用姿势
我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional. 如果对它不稍假探索, 只是轻描淡写的认为它可以优雅的解决 NullPointException 的问题, 于是代码就开始这么写了
程序员小明
2019-06-11
1.1K0
JDK8这样处理日期,效率绝对提升,逼格必然翻倍!
开发过程中,经常需要为过生日的用户送上一些祝福,例如,用户的生日为1990-10-12,如果今天是2016-10-12,那么今天就是用户的生日(按公历/身份证日期来算),那么通过java8新的日期库,我们该如何来进行判断?
程序员小明
2019-06-03
3K0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档