自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jacker

好的技能大家一起分享!so,骚年,一起嗨!

  • 博客(36)
  • 收藏
  • 关注

原创 Swagger-Editor开发环境搭建

前言        上一篇文章我们有提到Swagger做接口的定义是采用yaml语言的,当然,yaml是个啥,大家自行百度。阿福在此不做赘述了。但是,今天我们要来讲的是yaml支持比较好的Swagger-Editor开发环境的搭建。环境准备        实际上,Swagger-Editor是基于 NodeJs 开发的,那么,就一定是需要Node的开发环境的啦!安装最新版的Node。直接去到Node

2017-03-28 18:55:57 8504 10

原创 漫谈api管理-Swagger

前言        事实上,API的管理和书写对于开发人员而言一直都是一件异常痛苦的事情,但是那只是我知道和听闻而已。可是最近自己负责的几个项目的或重构或新开发的过程中也遇到了非常多的问题,实在有些恼人。于是就在网上找了下看看有没有API管理的神器。诶,你别说,当我看到Swagger的时候,我感觉我被迷住了。是真的被迷住了。下面,我们一起来看看Swagger是个什么东东吧!Swagger是什么

2017-03-26 09:40:22 2514

原创 Spring事务详解

背景        前些日子我司的DBA分享了关于MySql数据库的一些经验和技巧吧。但我突然发现,我还是保留着大学的一贯作风,上课不好好听讲。导致对于事务以及Spring的事务传播 机制还是不很了解。遂复习复习。事务的简单回顾        什么是事务呢?我们如果将在数据库的修改前视为数据库的一种状态,那么在修改后是另一种状态。而我们的修改过程实际上就是让数据库的状态发生变化,而我们所做的这一系

2017-03-12 20:45:11 376

原创 电商基本模块-促销服务

前言        对于一个电商系统而言,促销也是蛮基础的一个服务。下面我就综合自己做过的相关业务来谈谈这个问题。从产品的角度来看        为什么我们要从产品的角度来看这个问题?因为从高处来看我们才能对一个系统有更加深的理解。当然,还有非常重要的一点就是我们需要去了解我们要做的东西即将带来的价值。         实际上,我们可以从如下的几个角度来看待促销。促销的作用        促销的作

2017-03-12 12:13:56 3000

原创 阿福工作感悟之卖掉你的想法

前言好的ppt观众的喜好喜好1-我想了解全局喜好2-争取时间最大化喜好3-说多了我记不住喜好4-我想和你一起How to 做总结        如何在演讲中兜售你的想法,让观众更好的融入进来,来这里找寻答案吧!前言        如何准确的表达自己是我们每个人都需要掌握的一项基本技能,而在公众场合进行演讲则有时候显得更为艰难,因为在进行演讲的过程中我们更多的是在向听众卖掉我们的想法

2017-03-11 20:04:37 685 2

原创 fiddler在工作中的精妙用法

fiddler作为轻量级的抓包神器,和我一起领略fiddler的美妙之处吧!前言        这几个月以来一直在做商品重构的工作,说句实话,比起开发新的功能而言实在是让人感觉恼火,实在是有着很多不可控的因素在里面,但是,不可否认的是,在这个期间学习了很多新的知识,比如说抓包工具fiddler的使用。fiddler简单介绍        Fiddler是目前功能最为完善的Web调试工具之一,在分析过

2017-03-10 14:02:02 902

原创 假如我是一行代码

前言        一直以来很想写这样的一篇文章,奈何对这个论题的理解一直停滞不前,理解的也不够透彻。今天偶然的一个想法,综合自己的工作经历和项目经验,突然找到了灵感,现在,为大家带来这篇文章。绪论        故事应该从麦肯锡公司的金字塔原则谈起,我们都知道,麦肯锡公司的金字塔原则教给我们的是重点突出、逻辑清晰、主次分明的逻辑思路,也就是告诉我们一种从金字塔塔尖逐渐向下推演的过程,至于,金字塔原

2017-03-10 13:51:21 2816 10

原创 用IDEA写代码究竟有多爽

前言        事实上,没用IDEA之前总会被别人的一些言论吓到,内存占用大,启动慢等等。但是当你用了之后才知道,那种感觉。但是,如果你切换到了IDEA之后你还在用eclipse的快捷键,那我觉得,你还是换回去吧!要知道,用惯了IDEA,不只是换了一个IDE,更是换了一种思维的方式。用IDEA写代码究竟有多爽        这是我一直都想写的一个问题,真的,下面我就来说说我在使用中的一些爽点吧!

2017-03-10 09:36:10 7607 5

转载 8张图理解Java

一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选。如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟。1、字符串不变性下面这张图展示了这段代码做了什么12String s = "abcd";s = s.concat("ef");2、equals()方法、hashCode()方法的区别HashCode被设计用来提高性能。equals()方法与hash

2017-03-29 15:50:13 428

转载 HashMap的工作原理

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入让

2017-03-29 15:45:41 261

原创 Mysql批量更新的一个坑-&allowMultiQueries=true允许批量更新

前言        实际上,我们经常会遇到这样的需求,那就是利用Mybatis批量更新或者批量插入,但是,实际上即使Mybatis完美支持你的sql,你也得看看你说操作的数据库是否支持,而阿福,最近就遇到这样的一个坑。问题        先带大家来看一段sql的配置,<update id="updateAllAvailable"> <foreach collection="skuOption

2017-03-28 18:15:06 72841 21

原创 Eclipse,你为什么要惯着我!

前言        这是我很想问Eclipse的一个问题,为什么要这么惯着我,每次都帮我生成serialVersionUID。一旦不生成还会提醒我,把代码的颜色都变了。但是,殊不知,这是一种欺骗。那么,到底欺骗了谁呢?为何欺骗了我        如前面所说,Eclipse会为我们自动的生成serialVersionUID,这看起来没有什么毛病,但是实际上,大家要清楚这样做是有问题的,java从出生的

2017-03-20 22:26:26 704

原创 java的面向对象二三事

前言        对于一个程序员而言,从面向过程到面向对象的过程的转换。是一种思维方式的升华。但是,究竟什么是面向对象? java 的面向对象时候真的有那么的纯粹,实际上还是存在着许许多多的讨论的。今天我们就来看看面向对象二三事。什么是面向对象        我们先来看看百度百科的介绍: 面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件

2017-03-18 21:46:57 321

转载 每个人都需要的中文排版指南

之前有不少人在我公众号留言,说看我的排版很舒服,求指导。我不是一个专业的写字人,我是程序员出身,在写代码的时候有点小洁癖,尽量会把每个细节做到更好,所以我在公众号写作的时候一样会注重每个细节,我认为排版是对写作最基本的要求,所以当我决定要在公众号写作的时候,就非常在意排版,并且一直在改进,可惜的是,我看到无数不管是写博客还是写公众号的作者,从不会注意自己的排版,有时候看到一篇好的文章,如果排版很烂

2017-03-17 15:17:03 370

原创 IDEA 重构快捷键

前言        一次性的将IDEA的全部功能都贴出来似乎不好,遂分批整理!此次就来讲一下IDEA的重构快捷键。快捷键重命名文件、方法、属性等(rename):SHIFT+F6 提取当前选择为变量(extract variable):CTRL+ALT+V 提取当前选择为属性(extract field):CTRL+ALT+F 提取当前选择为常量(extract constant):CTRL+

2017-03-15 13:22:09 34279 5

原创 java-List去重得到的经验

问题背景        这两天遇到促销商品在数据库重复的问题,实在是有一点不好排查。现在也捞不到当时的日志,也不知道用户的操作。让人很是头大。所以,只能在插入数据库前对数据做一次去重,保证进入数据库是不重复的。如何去重        我能想到的最快捷的方法就是直接把List抛给HashMap,这个时候我们就可以得到一个不重复的Set集合。然后在还原成List。 代码如下:HashSet<Objec

2017-03-13 13:45:53 644

转载 IntelliJ IDEA 常用设置讲解

目录(?)[+]说明常用设置本篇内容为大家提供的是IntelliJ IDEA 使用教程中的IntelliJ IDEA 常用设置讲解,IntelliJ IDEA是Java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。 。感兴趣的

2017-03-12 16:54:17 456

原创 Mybatis自定义二级缓存-下

前言        在前一篇博客里面讲了如何实现Mybatis二级缓存的自定义,但是并没有一个完整的实现,并且还没有详解如何使用二级缓存等。这篇文章就来结束这个系列。选取缓存介质        在这里的话,我们需要来选取一个合适的缓存介质,对于我们而言,Mybatis的二级缓存是基于namespace的,这也就为多台机器共用二级缓存提供了可能性。也正因为如此,我们不可能将缓存放在本机的内存中,类似于

2017-03-12 15:24:58 1203

原创 我亲爱的Properties文件

Properties文件大家都用过,然而里面的思维我们有没有get到呢?和阿福一起看看吧!我亲爱的Properties文件        我们在写代码的过程中经常在程序中需要用到一些值,对于这些值的管理的方法也是千奇百怪。那么,到底有哪些方法呢?下面,我们就来一起看看。方法脑暴        首先,我们最常想到的就是将其写入到程序中去,我们往往会在代码中新建一个常量类,还会美其名曰”Constant

2017-03-10 13:59:30 308

原创 Mybatis基础构建

mybatis3 基础构建        这一次讨论的问题是如何使用mybatis进行一个小项目的dao层的构建,让我们拭目以待吧!准备工作        准备好相关的jar包当然是很重要的,在你的maven项目的pom.xml中添加如下配置信息即可:<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</ar

2017-03-10 13:57:14 273

原创 Mybatis动态sql

想了解MyBatis框架的动态sql吗?走起!背景        前两天在做项目的过程中接触到了MyBatis的动态sql,觉得这是MyBatis中比较实用但是也是比较复杂的一个点,所以,特意拿出来单独做一个笔记,以免自己忘记。生成动态sql的基本原理        MyBatis生成动态sql的话主要是借助于各种各样的标记,就像我们在程序中使用的关键字一样,这是一种约定好的东西。        常

2017-03-10 13:55:06 388

原创 The request sent by the client was syntactically incorrect-SpringMVC问题详解

问题描述        这是在使用MVC的时候报的错误,后来经过查找,是因为form表单提交的参数和你的controller里面定义的方法中的参数不一致造成的。也就是说,你实际提交的参数多余controller的方法中的参数。解决方案        大家可以仔细的排查自己的form表单等的元素,看一下和后台的到底有什么不一样。这就可以了。当然,如果你采取对象的形式去批量获取表单的元素,这个就更要注意

2017-03-10 09:02:55 418

原创 聊聊IO的模式

前言        IO是我们在编程的过程中不得不面对的一个比较棘手的问题,事实上最近我接触了NodeJs这门号称要一统编程界的后起之秀,在体验了Node之后,都说他是异步的,然后我就非常好奇的去探索下到底异步IO和同步的IO有啥区别呢?然后我就发现了自己真的对这个概念理解的不够透彻。描述IO的维度        实际上,IO呢有两个重要的维度去描述它,一个就是是否阻塞,另一个就是是否同步。但是我们

2017-03-10 08:51:59 381

原创 Spring-Boot快速整合Mybatis

前言        Spring-Boot的出现让我们微服务的概念深入人心,Spring3.X的系列主要做的是MVC的视图逻辑,这在我之前的博文中有提到过。但是后来的Spring4.X逐渐的向微服务以及Restful迁移。下面,我们来看看如何快速的整合Mybatis到Spring-Boot中来。虽然Mybatis官方对此也有一定的支持,但是真的很麻烦。准备        实际上准备非常的简单,只需要

2017-03-09 14:00:52 585

原创 自定义Mybatis二级缓存-上

前言        Mybatis,是最常用的ORM框架之一。而缓存,也是我们在日常的工作中遇到的重要问题,这两者的结合实际上就落在了其自带的缓存上。         下面,阿福带着大家去探索如何自定义Mybatis二级缓存。二级缓存是什么?        实际上,Mybatis共有两级缓存,其一级缓存就是针对于一次会话的,一旦会话结束了,缓存的历史使命也就结束了。当然,它是存储在本地机器的内存中

2017-03-09 12:08:19 804

原创 解决javadoc生成文档-unmappable character for encoding GBK

前言        今天在使用javadoc生成文档的时候总是会报这样的错误,想着是不是文件的编码出问题了。查了整个项目乃至单个文件的编码都是UTF-8啊。然而,问题貌似不出在这里!问题        最终终于查到是因为使用javadoc的时候默认的编码是GBK,因此在生成文档的时候一定是要指定编码为UTF-8的。当然,我是用的IDEA的生成工具。因此需要在工具中配置。如下所示:这样的话就万无一失了

2017-03-08 13:24:03 2322

原创 nginx系列-Nginx实现动静分离

前言        做java开发的人对于tomcat一般不会陌生,但是tomcat在处理静态的文件效率实际上并不是很高,有些时候,让静态文件占用我们的系统资源真的是有一些得不偿失。那么,有什么好的方法可以解决这一问题呢?nginx简介        Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个

2017-03-08 09:41:38 11522 2

原创 前端常见提交数据方式对比

前言        目前的前后端的界限越来越明显,当然,其实现通信的方式主要就是通过Http协议完成。但是在这个过程中,提交数据的格式有时候不同确实是让后端比较头疼的问题,那么,阿福就来总结下常用的提交数据的方式有哪些?常见的前端提交数据方式part1、Get方式 放在URL中        这种方式我们直接是把请求的参数放在URL中的,给大家一个示例参考下: https://www.baidu

2017-03-08 08:40:52 5707 1

原创 Spring4和Spring3对于restful的支持对比

前言        Spring进入到4的纪元之后,我想我们大家印象最为深刻的就是Spring-Boot的出现了。今天,我们就来对比下Spring4和Spring3对于restful的支持。对比        对于Spring3而言,想要实现restful格式的接口有两种方式:第一种的话就是得到response的输出流,写到resPonse的body中去,当然,这种方式一定要注意的是编码格式。下面给

2017-03-08 08:16:07 5289 4

原创 SpringMVC-<mvc:annotation-driven>的作用

背景        事实上,我们更多的时候使用这个标签只是因为我们看到人家那么配的。但是我们对其中的配置大多数时候是浑然不知的。但是,当我们想去扩展其中的一些东西的时候,才发现这个有多麽的重要!标签的组成        细心的同学肯定有看过这个标签的xsd定义。下面我们一起看看! <xsd:element name="annotation-driven"> <xsd:annot

2017-03-07 21:35:23 8476 1

原创 windows开发者的福音-cmder

前言cmder是什么我用它来做什么执行linux命令文件管理别名设置分屏放进优盘带走总结前言        曾几何时,一提到cmd,我们就不得不羡慕一下Mac的Emacs,可是,在羡慕,俺也没钱啊!但是,现在,只要用上下文的这款cmder,保证你再也不羡慕mac的命令行。cmder是什么        什么,cmder你没听说过,这可真的就是你的不对了,它就是一款强大无比的wind

2017-03-07 21:09:29 2203

原创 和钱有关的那些事-java中的数字精确表示

前言        一日,一个外国人来到我大中华,操着一口纯正无比的外国腔。然而,我们都听不懂啊!这个地方出现了一个问题,那就是语言不通。实际上,在数字的表示上也存在着类似的问题!例子        大家看看下面的代码public static void main(String[] args) { double s = 1D; System.out.println(s

2017-03-07 20:27:18 1311

原创 IDEA解决mavenjar包冲突

前言        我相信,来到这里的你一定曾经被maven的jar包冲突困扰过。现在,阿福带着你使用IDEA彻底结局后顾之忧!工具        众所周知,IDEA为我们提供了maven视图,让我们首先切换到这个视图!        看到如下的样子你已经成功了一半!接下来,在你想要分析的模块上右键选择show Dependencies,当然,快捷键是有的!ctrl+alt+shift+u。不知大家

2017-03-07 12:15:43 29200 4

原创 Mybatis代码自动生成-mybatis-generator的使用

前言        事实上,我们在平时的工作中不得不去写一些已经写过千万遍的代码。当然,如果对我们的成长有帮助写也就写了,然而,这些代码只是让我们增加了对于键盘的熟悉度而已,Mybatis的dao接口以及mapper文件大概就属于这样的代码。那么,该学学如何去自动生成了!基础配置        首先当然是要引入我们需要的jar包。因为我自己使用的maven,就给出maven的jar。<depende

2017-03-05 16:34:55 498

原创 “IntelliJ IDEA”逆天功能-findaction

前言        事实上,最好的java-IDE之争的硝烟从未散去。但是,我们确实是要本着一颗公正的心去看待这个问题。曾经作为一个Eclipse的忠实拥趸的我,在使用了IDEA之后,也义无反顾的转换了阵营。为什么        讲一句实话,IDEA首先在设计的思路上就吸引到我了。他把所有的可以执行的操作都定义为action,也就是一个动作。IDEA上的快捷键有多少!我去,至少的有几百吧!但是,当你

2017-03-04 22:23:10 8656

原创 spring注解的使用

前言        spring的配置方式无外乎注解以及xml文件配置,当然,这两种方式各有优略,阿福并不在此讨论其优略!只是单纯的想要记录下spring的一些常用注解使用!常用注解        关于mvc的有如下一些注解:@Repository //持久层@Service //业务层@Controller //控制层@Conponent //泛指组件,用于组

2017-03-03 08:07:53 399

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除