自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Aere-xu的steps

一步一步向前走,希望有一天行业能记住我

  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 利用阿里tair实现乐观锁初探

前言好久没有写博客了,到了阿里后空闲的时间更少了,很少有机会再专门研究技术了。这篇博客是刚去时在内网发布的一篇博客,利用了阿里的tair分布式缓存。tair是不开源的。但笔者觉得这篇博客还是有必要分享的,因为思路。很多人实现锁,并未真的抓住乐观锁、悲观锁的区别,理解上甚至会混淆。所以笔者把这篇博文搬出来,大家看思路就好。 正文 基于tair的分布式锁,在阿里内部技术社区已经有很多讨论了,不过基本

2017-07-27 20:50:23 1939 4

原创 在Spring-boot中,为@Value注解添加从数据库读取properties支持

一般情况下,property存在工程中的文件就可以了,但带来的坏处是如果属性需要改变,必须重新发布工程。比如,对接上例中的url,可能会变为https,可能端口会变化。所以,这种类型的属性放在数据库中更合适。 然而将属性存储在数据库中后,@Value对应的值就无法正常解析了。因此,这里提供一种hack的方法,使得@Value可以正常解析

2017-02-20 21:27:38 14162 12

原创 Spring-Data-Redis-Repository中以自定义class作为id的实现

笔者在项目中使用的Spring-Data-Redis的maven版本是1.7.2.RELEASE,截至笔者写下这篇博客时,最新 版本是2.0.0.M1。经过对官方文档的查阅,支持使用Java的基础类型如String,Integer,Long等作为id(默认推荐使用String),都没有支持使用自定义的class作为id。 然而实际的业务情境中,需要根据多个信息作为联合主键进行存储。笔者根据对源码的理解

2016-12-31 22:14:23 4362 7

原创 Mybatis下基于注解的Enum类型直接存储与读写

Mybatis下基于注解的Enum类型直接存储与读写背景知识做业务时,有些常见属性会存成Enum类型,便于代码复用,比如性别male,female,other,nolimit。当这些属性需要存储到DB中时,我们可能会为Enum指定code,name这样的属性,再将code按照int,name按照varchar存储。读写的时候再进行转换。 实际上,mybatis默认的handler中已经提供了不同的解

2016-11-13 12:02:12 10270 1

原创 将Java代码重构为Java8 Stream 风格三则示例

将Java代码重构为Java8 Stream 风格三则示例Java8的流风格写法,将for循环体除去,使得语义更加集中于逻辑的处理上,更加便于理解。   这里博主自行写了三个示例,适合对Java8 stream有基本理解的编程者学习,算是抛砖引玉,希望大家能相互交流,如何能更加优雅的写出Stream风格。示例1 public class findAny { private stat

2016-08-02 15:18:23 1840 8

原创 Spring Web利用切面统一处理参数校验异常的方法

Spring Web利用切面统一处理参数校验异常的方法  关于spring web的参数校验的基本方法,官网上有一个入门示例. 其中关于参数校验异常的处理是 if (bindingResult.hasErrors()) { return "form"; } return "redirect:/results";  这就受不了了,难道要在每一个带有@Valid的

2016-07-22 11:23:05 9618 8

原创 Spring-boot中利用外部配置文件生成数据源

Spring data 提供了一种很强大的JPA(主要是不需要给方法写implements) Spring boot则提供了方便的自动配置。 netgloo 的例子 如何只利用一个单一的配置文件 application.properties 数据访问功能。 不过有时,你需要的是datasource是外部可配置的,而不是写死在project中的。 所以,这里博主便提供一种通过外部配置文件产生数据

2016-04-10 21:35:50 11230 4

原创 一个Stack的Java示例图解分析

Java Stack的图解小分析(例子来自《Java编程思想(第四版)》)介绍最近我在学习Java泛型的相关知识。不经意间看到了这个示例,然后就产生了弄明白这个栈push,pop,初始化时到底发生了什么。 以下都是我的个人理解,如有谬误,敬请指正!

2015-10-31 22:27:32 1144

原创 一个shell字符串特殊字符处理的小函数

当shell脚本的输入带有某些特殊字符时,变量的处理要特别小心,单引号,双引号的使用等等。由于前段时间要被密码输入搞疯掉了(sed 遇到&符时),所以这里博主写了一个shell函数,可以将特殊字符串转成16进制表示,方便一些特殊处理,算是提供一种思路吧!    codec_pass(){ CODE_PASS=$1 HEX_PASS="" CODE_PASS=$(echo -

2015-09-20 22:27:50 1572

原创 一种libvirt托管虚拟机ip获取方法

利用libvirt,可以很方便的定义、创建和管理虚拟机及虚拟网络。当虚拟机网卡默认使用DHCP协议获取IP时,libvirt却没有提供一个接口让运行虚拟机的host机器的管理员拿到刚创建好的虚拟机的IP。    怎么拿到IP呢?    1,最笨的办法就是,开启VNC登陆,进入后用ifconfig。    2,这里有个利用arp的办法。BRIDGE=$(virsh net-info

2014-12-10 22:50:13 4639

原创 ansible进阶小技巧(1)--tags

用ansible写playbook的朋友可能会发现,当配置工作很多时,如果在中间过程出错了,修改后想重新执行,前面的一大堆步骤让人感觉很烦躁。虽然提供了“retry”文件,但是却只是根据host来判断重新执行,仍然不够方便;又或者,中间的某些步骤特别耗时,比如下载一个很大的数据包,每次执行特别浪费时间,想要特别的跳过。怎么办?我猜你就是把不需要的部分给注释掉了。有没有更好的办法呢?      

2014-12-02 22:13:40 18088

原创 一点Valgrind工具心得

上一个任务是将之前在使用valgrind,

2014-10-03 17:46:51 7313 2

原创 一种430软复位方法(原创)

最近在搞430的FLASH的自定义法(利用串口)程序烧写,烧写完成后断电复位,reset按键就可以运行新的程序。但是和学长交流了一下,这种方法不够好,希望有一种软复位的方式。于是百度了一下,都是些对看门狗进行写入特殊值使得430的cpu复位。反正个人是没有采用。       因为在搞程序的烧写下载,所以看了一下430的BSL。看到里面有一段话,关于从C代码中启动BSL的方法。如下:

2013-12-17 22:49:45 3379 1

原创 Linux的环境变量--基本概念(网络整理)

环境变量是什么,看到一种从编程角度的解释,环境变量就是程序运行时的全局变量。有些道理,先记着。另外,从用户的角度讲,环境变量是一组按照当前用户的运行要求设置的变量。       变量都是有生存周期的,所以Linux中环境变量也分为两种:临时变量与永久变量。              临时变量可以通过expor命令导入,在当前shell关闭后(对应实际ubuntu系统就是关闭Terminal

2013-08-31 22:40:34 1188 1

quartus10.1sp破解补丁

用于最新版quartus10.1sp1的破解补丁。

2011-03-13

空空如也

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

TA关注的人

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