自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

皂白

是非皂白尤细辨 真假相逢须臾间 个人博客:https://www.nextyu.com/

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

原创 RabbitMQ 实战(四)消费者 ack 以及 生产者 confirms

这篇文章主要讲 RabbitMQ 中 消费者 ack 以及 生产者 confirms。如上图,生产者把消息发送到 RabbitMQ,然后 RabbitMQ 再把消息投递到消费者。生产者和 RabbitMQ,以及 RabbitMQ 和消费者都是通过 TCP 连接,但是他们之间是通过信道(Channel)传递数据的。多个线程共享一个连接,但是每个线程拥有独自的信道。消费者 ack...

2018-02-09 22:05:25 7239 2

原创 RabbitMQ 实战(三)RabbitMQ 中的交换器

这篇文章主要讲 RabbitMQ 中的交换器。我们不是把消息直接发送到队列里面的,而是先发送到了交换器,交换器再根据路由键把我们的消息投递到对应的队列。交换器的类型每种交换器定义了不同的路由算法来把消息投递到对应的队列。RabbitMQ 中交换器主要分为四种类型:direct、fanout、topic 以及 headers,headers 用的比较少,就不讲了。dire

2018-02-05 22:36:54 1136

原创 RabbitMQ 实战(二)Spring Boot 整合 RabbitMQ

这篇文章主要讲基本的整合。先把代码跑起来,再说什么高级特性。RabbitMQ 中的一些术语如果你打开 RabbitMQ web 控制台,你会发现其中有一个 Exhanges 不好理解。下面简单说明一下。交换器(Exchange)交换器就像路由器,我们先是把消息发到交换器,然后交换器再根据路由键(routingKey)把消息投递到对应的队列。(明白这个概念很重要,后面的代

2018-02-04 23:26:12 7269 5

原创 RabbitMQ 实战(一)Ubuntu 16.04 安装 RabbitMQ

安装 Erlang由于 RabbitMQ 是采用 Erlang 编写的,所以需要安装 Erlang 语言库。就像 java 需要安装 jvm 一样。首先在系统中加入 erlang apt 仓库。$ wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb$ sudo dpkg -i erlang

2018-02-03 22:54:17 16763 1

原创 IntelliJ IDEA - Debug 调试多线程程序

IntelliJ IDEA - Debug 调试多线程程序新建 MyRunnablepublic class MyRunnable implements Runnable { @Override public void run() { Thread currentThread = Thread.currentThread(); Sy

2018-01-11 23:29:18 59795 5

原创 Java 事务设计策略

前几天看 Spring 事务相关的资料,发现了《Java 事务设计策略》一书,所以总结一下。这篇文章主要讲事务背后的一些理论知识,代码次之,主要是为了让读者知其所以然。

2017-12-05 16:31:36 804

原创 Spring Boot 中使用 @Transactional 注解配置事务管理

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。

2017-11-29 21:15:06 247085 52

原创 时区相关知识扫盲

经常看到各种术语:格林尼治标准时间、时区、夏时制等等,本文简要介绍一下相关知识。格林尼治标准时间(GMT)又称为格林威治标准时间(Greenwich Mean Time,GMT),是指位于英国伦敦郊区的皇家格林尼治天文台当地的标准时间,因为本初子午线被定义为通过那里的经线。理论上来说,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间。但由于地球在它的椭圆轨道

2017-11-08 16:36:50 8805

原创 拦截请求的三种方式 Filter、Interceptor、Aspect

在 java web 开发中,我们可以通过三种方式拦截请求,分别是:Filter、Interceptor、Aspect,下面我们来介绍一下这三种方式之间的异同点。以一个简单的 spring-boot 项目为例,记录 Controller 方法执行的时间。

2017-10-30 13:37:42 16112 4

原创 MacOS 安装配置jdk

首先去oracle官网下载对应的jdk安装包下面以jdk 1.8版本为例

2017-10-19 15:23:12 1922

原创 iPhone自定义铃声(最新iTunes12.7)

使用Mac自带的QuickTime Player打开本地音乐修剪音乐拖动左右两个黄色滑块选定需要的部分(30秒左右为宜,铃声不宜太长)点击 修剪 ,就可以看到把选择的部分裁剪下来了(28秒)导出音频修改后缀 m4a 为 m4r打开iTunes,插上手机参考这篇文章 勾选 -> 手动管理音乐和视频把修剪好的铃声直接拖进iTunes打开手机—设置—电话铃声就可以看到刚才添加的铃声了

2017-10-19 14:49:04 5142

原创 拷贝(添加)本地音乐到iPhone、iPad设备(最新iTunes12.7)

最新的iTunes管理音乐更方便了,直接拖进手机就行电脑插上iPhone、iPad,打开iTunes,点击设备图标进入设备界面勾选 -> 手动管理音乐和视频把下载好的音乐直接拖进iTunes打开手机-音乐就可以看到刚才添加的音乐

2017-10-19 14:48:06 9003

原创 使用frp通过自定义二级域名访问内网服务器

介绍frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议分为服务端和客户端所以服务端和客户端都需要配置前提需要有一台公网服务器需要有一个可用的域名,假设为:yourdomain.com域名解析配置在万网或其他网站配置解析配置为 * ,表示二级域名 test.yourdomain.com ,test2.yourdomain.com

2017-10-19 14:40:51 24677

原创 Java 正则表达式

概念正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。相关类java.util.regex 包主要包括以下三个类:

2017-10-19 14:36:35 332

原创 IntelliJ IDEA使用教程十一 Lombok插件 安装及使用

介绍使用lombok,可以减少样板代码。 何为样板代码,比如: - getter setter 方法 - toString方法 - hashCode方法每创建一个实体类,都得写一遍这些方法,总感觉特别繁琐,使用lombok之后,只需要一个注解,这些方法就自动生成。特别是增加一个字段之后,不需要再添加getter setter 方法,这点很方便。安装插件安装插件,就能在idea里面直接看到生成

2017-07-02 18:17:44 3379 2

原创 Ubuntu上搭建git服务器

Ubuntu上搭建git服务器

2017-06-08 16:14:49 624

原创 Java反射八 数组

在jdk里 java.lang.reflect 包下,专门提供了一个类 public final class Array 用来动态的创建和访问数组.

2017-05-01 15:59:57 489

原创 Java反射七 泛型

有如下带泛型的类public class MyObjectWithGenerics { /** * 泛型成员变量 */ public List<String> stringList; /** * 泛型方法返回值 * * @return */ public List<String> getStringList()

2017-04-29 12:55:12 518

原创 Java反射六 类的注解

自定义注解@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)public @interface MyAnnotation { String name(); String value();}在类上加入注解@MyAnnotation(name = "小灰灰", value = "喜洋洋")public class

2017-04-29 12:54:42 554

原创 Java反射五 方法

Method这个类代表方法的抽象。获取方法(只能获取public的),包括继承来的// 获取方法(只能获取public的),包括继承来的Method[] methods = aClass.getMethods();for (Method method : methods) { logger.debug("public方法 {}", method);}结果如下public方法 publi

2017-04-29 12:54:05 439

原创 Java反射四 成员变量

Field 这个类代表成员变量的抽象。

2017-04-25 09:43:33 584

原创 Java反射三 构造方法

Java的世界里,一切皆对象,那构造方法也不例外,也可以用对象来表述.

2017-04-23 09:48:59 320

原创 Java反射二 获取类的基本信息

获取类的基本信息

2017-04-21 15:34:37 912

原创 Java反射一 基本概念

Java反射机制可以让我们在编译期之外的运行期检查类,接口,变量以及方法的信息,还可以让我们在运行期实例化对象,调用方法。Java反射机制功能强大而且非常实用。举个例子,可以用反射机制把Java对象映射到数据库表。

2017-04-21 15:33:50 459

原创 IntelliJ IDEA使用教程十 Debug调试程序

首先得Debug模式启动程序在Debug面板查看变量和值鼠标放在变量上方弹出变量和值弹窗查看变量和值鼠标点选中某个变量或者表达式,然后快捷键 Alt+Enter

2017-04-21 14:51:36 2144

原创 IntelliJ IDEA使用教程六 常用配置

全局设置取消默认打开最后一个项目windows版的idea默认启动的时候打开最后一个项目,可以根据需要取消编码自动代码提示,是否区分大小写显示行号字体样式,大小代码模板 项目设置根据需要设置即可

2017-04-21 14:49:56 736

原创 IntelliJ IDEA使用教程五 常用快捷键windows版

注意idea默认的快捷键和QQ以及搜狗输入法有冲突,强力建议把QQ或者搜狗的快捷键修改了.如果是从eclipse转过来的小伙伴,估计一开始不习惯idea的快捷键,和eclipse差别太大,想改成eclipse的,不过,不推荐修改.既然都用了idea,还管什么eclipse,保持默认就好.万一哪天有个小伙伴在你的电脑上调试程序,但是你的快捷键又是改过的,那岂不很抓狂.所以,保持默认就好,大家都开心

2017-04-21 14:49:06 782

原创 IntelliJ IDEA使用教程四 MAVEN的集成与使用

maven的集成 创建maven项目因为maven的思想是分模块的,意思就是,一个项目里面,可以有多个模块,下面先创建项目,再创建模块创建项目,或者也叫父模块 创建模块 创建好之后,父模块中的pom也自动聚合了子模块,子模块也自动继承了父模块 项目结构以及设置展开某个子模块,发现不是标准的maven结构,只有一个 resources 文件夹,其他都没有,我们需要

2017-04-21 14:48:16 616

原创 IntelliJ IDEA使用教程三 SVN的集成与使用

注意: 虽然IDEA已经集成了svn客户端,但还是习惯使用第三方svn客户端。 比如:TortoiseSVN。 就是因为使用的是第三方客户端,所以和IDEA集成的时候就出现了一个特别大的坑,因为svn版本不同的原因。具体可以看这里: http://stackoverflow.com/questions/20797443/intellij-idea-subversion-checkout-er

2017-04-21 14:47:18 909

原创 IntelliJ IDEA使用教程二 项目创建&Tomcat配置

创建普通的Java项目 设置编码在windows上面每次新建一个项目都需要更改一下编码,目前还没找到好办法 项目设置 HelloWorld走起创建包 代码 鼠标右键单击右边结构里面的main方法,选择Run……就行了 创建Java WEB项目 配置Tomcat 部署项目到Tomcat 配置好Tomcat之后,是这样的正常启动或者debug启动

2017-04-21 14:46:17 528

原创 IntelliJ IDEA使用教程一 介绍&安装&基本配置

介绍不多说,就是好用。下载官网下载 http://www.jetbrains.com/idea/ 请选择旗舰版下载,社区版很多功能都没有。安装按照下一步,下一步,就行了。注册码请自行Google。创建项目如果是首次启动的话,它会叫你创建或者导入一个项目等等,我们先创建一个项目 点击 Create New Project 进去之后,IDEA 的主界面大概是这样。 注意一个ide

2017-04-21 09:51:11 944

原创 IntelliJ IDEA使用教程九 Mybatis插件 安装激活及使用

安装Mybatis插件安装Mybatis注意,官方最新的插件是3点几版本的,没法用下面的方法激活。分享一个 2.91 版本的插件。链接:http://pan.baidu.com/s/1eROIyVw 密码:i9cj下载插件,从磁盘安装就行安装完成之后,重启idea(不重启不会生成这个文件),会在以下目录生成一个mybatis.xml的文件windows:C:\U

2017-04-05 10:26:49 8076 4

原创 模板方法模式与CallBack

最佳实践: Spring 的 JdbcTemplateStatementCallback 接口/* * 执行 JDBC Statement 的回调接口 */public interface StatementCallback<T> { /** * 被JdbcTemplate.execute的方法调用,我们就不用考虑关闭Statement或者Connection,以及处理事务这些

2016-12-24 10:56:56 961

原创 Ubuntu 12.04 安装 GitLab

打开官网,下载安装包gitlab本身依赖了很多第三方软件,所以我们直接下载官方提供的已经打包好的套件,里面包含了全部的软件。就不需要自己一个个安装了。https://about.gitlab.com/downloads/#ubuntu1204前往下载安装包页面选择一个版本下载,建议不要选择太新的,此处选择:gitlab-ce_7.10.5~omnibus-1_amd64.deb安装参考官方文档,第一

2016-10-06 14:23:05 1772

原创 IntelliJ IDEA使用教程七 Git以及GitHub的集成与使用

IntelliJ IDEA使用教程七 Git以及GitHub的集成与使用

2016-07-23 23:10:26 6062 4

原创 SpringMVC接收 JSONArray 自动转换为 List对象

SpringMVC接收 JSONArray 自动转换为 List对象

2016-07-15 16:10:07 11599

原创 RequestMapping 接收参数

普通风格 /** * 普通风格 */ @RequestMapping("/user") public String normal(Long userId) { // 业务处理 System.out.println(userId); return "user"; }rest风格 /** *

2016-05-04 17:43:23 3713

原创 HttpRequestMethodNotSupportedException

异常org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘HEAD’ not supported异常原因项目使用的是SprngMVC,查看服务器日志,发现访问首页报了以上的异常。异常的意思是:请求方法“HEAD”不支持,为何不支持呢?查看项目源码,发现配置了:@RequestMapping(va

2016-04-06 17:38:47 41705 1

原创 UML示例

UML示例

2016-01-10 21:05:28 739

原创 IntelliJ IDEA使用教程六 常用配置

IntelliJ IDEA使用教程六 常用配置

2015-08-31 11:48:06 949 1

空空如也

空空如也

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

TA关注的人

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