自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 收藏
  • 关注

转载 SpringCloud服务发现Eureka

转自:http://blog.csdn.net/haiyan_qi/article/details/52608586Eureka是Netflix开发的服务发现框架,SpringCloud将它集成在自己的子项目spring-cloud-netflix中,实现SpringCloud的服务发现功能。 为什么要使用Eureka,因为在一个完整的系统架构中,任何单点的服务都不能保证不会中断,因此我们需要服

2017-08-24 11:12:21 371

原创 SVN使用指南

SVN及Subversion的简称,是Git外另外一种很流行的版本管理工具。SVN是一种集中式的管理方式,即所有的版本信息都放在服务器上。

2017-08-21 16:23:46 340

原创 Java多线程基础(3)

内存模型主内存与工作内存Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量主要是指共享变量,存在竞争问题的变量。Java内存模型规定所有的变量都存储在主内存中,而每条线程还有自己的工作内存,线程的工作内存中保存了该线程使用到的变量的主内存副本拷贝,线程对变量的所有操作(读取、赋值等)都必须在工作内存中进行,而不能直接读写

2016-08-18 17:47:38 433

原创 Java多线程基础(2)

守护线程用户线程即运行在前台的线程,而守护线程是运行在后台的线程。 守护线程作用是为其他前台线程的运行提供便利服务,而且仅在普通、非守护线程仍然运行时才需要,比如垃圾回收线程就是一个守护线程。当VM检测仅剩一个守护线程,而用户线程都已经退出运行时,VM就会退出,因为没有如果没有了被守护这,也就没有继续运行程序的必要了。如果有非守护线程仍然存活,VM就不会退出。守护线程并非只有虚拟机内部提供,用户在编

2016-08-18 17:44:50 614 1

原创 Java多线程基础

进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。(进程是资源分配的最小单位)线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是cpu调度的最小单位)线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。多进程是指操作系统能同时运行多个任务(程序)。多线程是指在同一程序中有多个顺序流在

2016-08-18 10:34:12 664

原创 SpringBoot之Scheduling Tasks

设置计划任务。1 配置Scheduling Taskspackage sckeduling.tasks.hello;import java.text.SimpleDateFormat;import java.util.Date;import org.springframework.scheduling.annotation.Scheduled;import org.springframework

2016-06-14 17:40:45 1552

原创 SpringBoot之Caching Data with Spring

以从BookRepository获取Book为例,当之前已经获存在过了的book实例,则不再重新实例化,而是使用缓存的。1 Book.java / BookRepository.java/ SimpleBookRepository.javapackage caching.data.with.spring.hello;public class Book { private String isbn

2016-06-14 17:23:56 615

原创 SpringBoot之Creating Asynchronous Methods

后台程序采用异步方式处理,以获取GitHub用户信息为例。1 简单用户model类package creating.asynchronous.methods.hello;import com.fasterxml.jackson.annotation.JsonIgnoreProperties;@JsonIgnoreProperties(ignoreUnknown=true) public class

2016-06-14 16:26:23 614

原创 SpringBoot之Using WebSocket to build an interactive web application

通过 STOMP来简单实现WebSocket的交互。1 服务端接收的消息model类package websocket.interactive.web.application.hello;public class HelloMessage { private String name; public String getName(){ return name; }

2016-06-14 16:17:48 642

原创 SpringBoot之Hypermedia-Driven RESTful Web Service

通过org.springframework.hateoas.ResourceSupport来处理超媒体部分数据结构。假设要提供的超媒体数据结构如下:{ "content": "Hello, World!", "_links": { "self": { "href": "http://localhost:8080/greeting?name=Wo

2016-06-13 17:34:20 1689

原创 SpringBoot之Access Relational Data

使用org.springframework.jdbc.core.JdbcTemplate对数据库进行操作。程序主要代码:package access.relational.data;import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;import org.slf4j.Logger;im

2016-06-13 14:41:57 893

原创 SpringBoot之Consuming a RESTful Web Service

程序通过org.springframework.web.client.RestTemplate调用REST服务,这里REST服务使用http://gturnquist-quoters.cfapps.io/api/random省去maven搭建项目与model类部分,主要代码如下:package consume.restfull.web.service.hello;import org.slf4j.L

2016-06-13 14:06:58 1345

原创 SpringBoot之RESTFull Web Service

1 用mavn创建工程. pom.xml配置如下<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.a

2016-06-13 12:44:40 2256

转载 基于Java构建微服务 -- 初步认识

Container-less的微服务是将应用程序以及所有的依赖库打包到单个的JAR文件中。Container-less方法使得所谓的单一JAR部署成为可能(也称作“fat JAR”部署),这意味着,应用及其依赖可以打包在一个单一的JAR文件,并作为一个独立的Java程序运行。这种方法的优点是:当应用在进行扩展和收缩时,服务的启动和停止是极其轻松的。另一个优点是部署简单,你只需传递一个JAR文件。该

2016-06-13 11:25:44 6280

原创 关于接收List报Can not deserialize instance of java.util.ArrayList out of START_OBJECT token

http://stackoverflow.com/questions/20837856/can-not-deserialize-instance-of-java-util-arraylist-out-of-start-object-token

2016-06-08 13:59:47 32995 1

转载 rpm指令和yum指令详解

centos的软件安装大致可以分为两种类型: [centos]rpm文件安装,使用rpm指令 类似[ubuntu]deb文件安装,使用dpkg指令 [centos]yum安装 类似[ubuntu]apt-get安装 rpm命令 (一)查询系统装已经安装的软件信息对于一个rpm包来说,都是有”-“和”.”构成的,基本上有以下几部分组成: * 包名 * 版本信息 * 发布版本号 * 运行平

2016-06-07 19:28:10 445

原创 ElasticSearch实战-编码实践

参考blog : http://www.cnblogs.com/smartloli/p/4720429.htmlREVIEW

2016-06-03 14:52:36 1068

原创 ElasticSearch实战-入门

参考blog : http://www.cnblogs.com/smartloli/p/4701642.htmlREVIEW

2016-06-03 14:41:07 430

原创 ElasticSearch实战-日志监控平台

参考blog:http://www.cnblogs.com/smartloli/p/4654973.htmlREVIEW

2016-06-03 14:37:48 666

原创 Elasticsearch读书笔记(http://es.xiaoleilu.com/ )

char1 快速入门 1. IntroductionElasticsearch 实时分布式搜索和分析引擎,用于全文搜索、结构化搜索、以及分析1.1 是什么Lucene只是一个库,Elasticsearch使用java开发并使用Lucene作为核心来实现所有索引和搜索功能1.2 安装1.3 与Elasticsearch交互1.3.1 Java API 两种内置客户端:节点客户端、传输客

2016-06-03 08:36:27 2116

原创 Maven项目Build jar

背景描述:elipse项目中用maven管理的项目,想导出jar包出来,然后部署并运行起来。错误尝试:按照eclipse普通工程导出jar包的做法,在eclipse中,右键项目名-export,然后选择导出jar file,然后根据提示一步一步设置,很快就导出了jar包。在以为大功告成的时候,执行java -jar xxx.jar 来启动jar包中的服务时,报找不到启动入口的错误了。解决方案:由于项

2016-06-02 09:45:09 691

原创 CentOS安装mysql

安装MySQL可以直接通过从官方网站下载最新源码来安装、也可以通过yum来安装。CentOS的yum来安装可以省去很多配置,安装也方便。下面的blog对yum安装过程有详细的说明,而且对安装后mysql的目录结构有一些说明。CentOS6.4下Mysql数据库的安装与配置 http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003

2016-05-31 11:37:45 255

原创 Spring Validation分组校验

后台校验有很多的工具,最开始用的是@Valid,这个是比较简单的,不支持分组校验。Spring用@Validated对@Valid进行了封装,这样就满足了分组校验。其实就是增加了一个group来对校验规则进行分组,然后再@Validated中指定group来校验。具体的例子参考下面的blog:SpringMVC验证框架Validation特殊用法 http://blog.csdn.net/wangp

2016-05-31 10:52:06 17485

原创 tomcat不能自动解压war包

问题是从tomcat不能自动解压war包开始, 首先查看service.conf配置,没有问题;然后检查了jre、tomcat安装时候的配置,没有问题; 最后,查看tomcat运行日志(其实第一步就应该查看这个了)catalina.xxxx.log,看到日志记录了异常信息,也可以通过tail -f catalina.out 查看实时日志信息。上面所说的异常信息是Exception fixing

2016-05-30 14:06:44 42431

转载 关于内部类实例化

http://stackoverflow.com/questions/9592025/no-enclosing-instance-of-type-fbmain-is-accessible-must-qualify-the-allocation

2016-05-19 16:36:20 470

转载 try-with-resources 语句,自动资源释放

关于try(){} http://www.oschina.net/question/12_10706

2016-05-19 15:53:13 546

原创 java正则表达式判断是否在0到65535之间

正则表达式从头学起。 遇到要用正则表达式校验某个值是否在0-65535,抓瞎了,网上找着下面的,作为学习的开头吧。var re = /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/;

2016-04-20 15:38:04 5124

原创 Tomcat 的 SSL 配置

主要有一下几个步骤: (1)生成服务器端证书文件[root@compute-02-03-77 bin]#cd {JAVA_HOME}/bin/[root@compute-02-03-77 bin]# keytool -genkey -alias tomcat -keyalg RSA -keystore {tomcat主目录}/conf/tomcat.keystore -validity 3650

2016-04-19 20:01:05 459

原创 命令模式

Demo场景:通过遥控器控制Light开的动作。 核心是把方法封装成对象。(1)遥控器类,能够插入执行方法具体实现,并且按下按钮发出执行具体方法的动作:SimpleRemoteControl类,Command为插入指定方法的接口。package designpattern.command.remotecontrol;public class SimpleRemoteControl { Com

2016-04-13 09:16:59 296

原创 工厂模式(2)

Demo场景:PizzaStore添加加盟店NYStylePizzaStore,PizzaStore需要控制Pizza制作流程,不控制具体Pizza的口味,加盟店NYStylePizzaStore可以修改Pizza。相较于上一篇,这里主要关注通过抽象工厂模式,解决不同原料的问题。(1)总店还是作为加盟店的基类:PizzaStorepackage designpattern.factory.pizza

2016-04-12 16:52:41 308

原创 工厂模式(1)

Demo场景:PizzaStore添加加盟店NYStylePizzaStore,PizzaStore需要控制Pizza制作流程,不控制具体Pizza的口味,加盟店NYStylePizzaStore可以修改Pizza。(1)将总店设计成加盟店的基类,能改的地方设为抽象方法: PizzaStorepackage designpattern.factory.pizza;public abstract cl

2016-04-12 10:53:28 257

原创 装饰者模式

Demo场景:对不同类型的coffee进行计价。 被装饰对象可以被多个装饰者装饰;理解java.io.*中类之间的关系。(1)装饰者与被装饰者共同抽象基类:Beverage package designpattern.decorator.coffee;/** * 装饰者和装饰对象共同的基类 */public abstract class Beverage { String descri

2016-04-11 20:33:45 294

原创 观察者模式

Demo场景:终端通过WeatherData实时显示(获取)变化的数据。(1)主题接口:Subject package designpattern.observer.v1;/** * 主题接口 */public interface Subject { public void registerObserver(Observer o); public void removeObserv

2016-04-11 20:25:52 322

原创 构建并发模型框架

如何构建一个Java并发模型框架呢?让我们先回到原来的问题,先来分析一下原因。造成要维护多线程和单线程两个版本的原因是由于把应用逻辑和并发逻辑混在一起,如果能够做到把应用逻辑和并发模型进行很好的隔离,那么应用逻辑本身就可以很好的被复用,而且也很容易把并发逻辑添加进来而不会对应用逻辑造成任何影响。造成Client阻塞,性能降低以及无法进行额外的控制的原因是由于所有的服务调用都是同步的,解决方案很简单,

2016-04-08 14:06:11 373

原创 JDBC简单示例

构建JDBC程序操作数据库包括6个步骤: 1. 引入相关jar包(包括mysql等的驱动包) 2. 注册JDBC驱动 3. 通过DriverManager打开连接 4. 执行SQL操作 5. 从SQL操作结果集中提取数据 6. 清理环境,也就是关闭连接下面是简单的示例package jdbc.mysql;import java.sql.Connection;import java.sq

2016-04-07 14:25:44 373

转载 CentOS6安装配置mysql

整理mysql相关内容,从centos安装配置mysql开始:参考链接:http://jingyan.baidu.com/article/fec7a1e5f8d3201190b4e782.html

2016-04-06 15:53:26 536

原创 通过JedisPool资源池管理jedis连接

要应用JedisPool资源池管理jedis,需要引入两个包,(1)jedis jar包或redis jar包 (2)阿帕奇下的commons-pool jar包,好像用到资源池的都需要这个下面是一点点小代码。需要说明的是,释放jedis资源的方法已经deprecated了,不知道是不是这个原因,导致释放的jedis资源能继续使用。具体原因等确定后再更新。package jedis.redis;i

2016-04-06 11:34:22 9510 3

原创 Java通过Jedis操作Redis

项目中遇到bug, 由于对redis这块不熟,只好从头开始一点点积累。废话不多说,下面是java中通过Jedis来操作Redis.需要下载相关的jar包,jedis jar包和redis jar包都行(代码中应用的类是相同的,至于两个包有什么不同不太清楚,以后碰到再研究)。下面是几个小demopackage jedis.redis;import java.util.HashMap;impor

2016-04-06 11:28:04 616

转载 redis安装部署

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一

2016-04-05 17:16:33 268

转载 Spring Web Flow (SWF)入门

Spring Web Flow (SWF)是Spring Framework的一个脱离模块。这个模块是Spring Web应用开发模块栈的一部分,Spring Web包含Spring MVC。 Spring Web Flow的目标是成为管理Web应用页面流程的最佳方案。当你的应用需要复杂的导航控制,例如向导,在一个比较大的事务过程中去指导用户经过一连串的步骤的时候,SWF将会是一个功能强大的控制器

2016-04-05 10:30:39 451

空空如也

空空如也

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

TA关注的人

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