Java
文章平均质量分 86
qq_41143507
这个作者很懒,什么都没留下…
展开
-
MyBatis——动态SQL简介
动态 SQLMyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这种情形,转载 2017-11-23 15:23:12 · 214 阅读 · 0 评论 -
Spring参数验证顺序问题
问题今天遇到一个小问题,在进行表单提交之后,直接进入了400错误页面,这个比较诡异,我所做的无非就是进行了简单的参数验证,提取BindingResult中的信息放到Model中方便前台显示,如下:12345678910@RequestMapping(value = "/user/publish",method = RequestMethod.POST转载 2017-11-23 15:30:05 · 1616 阅读 · 0 评论 -
详解JAVA线程中的那些事
引言说到Thread大家都很熟悉,我们平常写并发代码的时候都会接触到,那么我们来看看下面这段代码是如何初始化以及执行的呢?public class ThreadDemo { public static void main(String[] args) { new Thread().start(); }}初始化流程代码就一行很简单,那么这行简单的代码转载 2017-11-24 17:38:15 · 250 阅读 · 0 评论 -
使用Redis实现分布式锁及其优化
目前实现分布式锁的方式主要有数据库、Redis和Zookeeper三种,本文主要阐述利用Redis的相关命令来实现分布式锁。相关Redis命令SETNX如果当前中没有值,则将其设置为并返回1,否则返回0。EXPIRE将设置为秒后自动过期。GETSET将的值设置为,并返回其原来的旧值。如果原来没有旧值,则返回nil。EVAL与EVALS转载 2017-11-25 15:58:19 · 241 阅读 · 0 评论 -
优秀日志实践准则,你做到了几点
程序员的日常离不开日志,日志就好比私人秘书,负责运行周期一切trace工作。优秀的日志实践能极大帮助地程序员快速定位问题,减少在线错误报警。本文将从日志书写时各方面来做阐述,依据日志推荐的日志等级,做相应优秀日志实践的推荐。一、重新认识日志1、日志级别概述ERRORERROR是最高级别错误,反映系统发生了非常严重的故障,无法自动恢复到正常态工作,需要人工介入处理。系统需要将错误相关痕迹以及错误细节记原创 2017-12-05 18:01:35 · 454 阅读 · 0 评论 -
程序员的提升空间
我见证过许多的程序员的成长,他们很多人在进入成熟期之后,技术上相对较高,一般项目开发起来比较自信,没有什么太大的困难,有的职位上也有所提升,成了项目经理、设计师,有的甚至是到了管理者的位置。又经过很长时间,这些程序员却在也没有什么变化和发展,工作稳定、情绪稳定,好像一切都在按部就班地进行着。有的程序员满足于现在的收入和职位,安于现状;有的程序员却在安于现状的同时,苦苦思索,却找不到自己的上升空间。原创 2017-12-06 12:00:15 · 312 阅读 · 0 评论