4 2YSP

尚未进行身份认证

我要认证

编程五分钟,扯淡两小时。

等级
TA的排名 11w+

【Netty】利用Netty实现心跳检测和重连机制

一、前言  心跳机制是定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性的机制。  我们用到的很多框架都用到了心跳检测,比如服务注册到 Eureka Server 之后会维护一个心跳连接,告诉 Eureka Server 自己还活着。本文就是利用 Netty 来实现心跳检测,以及客户端重连。二、设计思路分为客户端和服务端...

2019-06-01 10:57:36

细说分布式锁

一、使用场景目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都...

2019-06-01 10:42:40

Spring事件机制详解

一、前言  说来惭愧,对应Spring事件机制之前只知道实现 ApplicationListener 接口,就可以基于Spring自带的事件做一些事情(如ContextRefreshedEvent),但是最近看公司的wiki基于Spring事件的领域驱动才发现原来还有这么多东西。二、订阅/发布(观察者模式)2.1简介Spring是基于事件驱动模型的,我们常用的MQ就是基...

2019-06-01 10:36:24

springboot-jpa报错No identifier specified for entity:

JPA,No identifier specified for entity:错误解决方法

2017-10-25 21:16:25

redis整合spring

一、代码编写package cn.sp.component;public interface JedisClient { public String set(String key,String value); public String get(String key); public Long hset(String key,String item,String value); p

2017-05-14 22:37:27

服务器环境搭建【三】

nginx的安装和负载均衡,待续。。。

2017-05-11 23:14:10

服务器分布式环境搭建【二】

linux环境mysql5.6的安装

2017-05-11 23:11:57

服务器分布式环境搭建【一】

一、安装jdk1.上传安装包,jdk-7u7-linux-i586.tar。这里我使用的是jdk1.7,32位的。2.解压tar -zxf jdk-7u7-linux-i586.tar.gz3.设置环境变量vim /etc/profileexport JAVA_HOME="/usr/local/jdk1.7.0_07"export PATH="$JAVA_HOME/bin:

2017-05-11 23:01:45

redis-helloWorld

1新建项目,导入jar包,commons-pool2-2.4.2.jar,jedis_2.9.0.jar2.代码部分package cn.sp.redis;import java.util.HashSet;import java.util.Set;import redis.clients.jedis.HostAndPort;import redis.clients.jedis.

2017-05-04 20:24:41

redis的安装和部署

一、单机版1.安装步骤第一步:安装gcc编译环境yum install gcc-c++第二步:把redis的源码上传到linux服务器。第三步:解压缩。tar -zxvf redis-3.0.0.tar.gz第四步:make第五步:make install PREFIX=/usr/local/redis2.启动redis两种启动方式,前端启动、后台启动。

2017-05-04 20:18:43

lucene项目实战【一】

lucene的一个使用例子

2017-05-01 13:22:08

使用jsoup爬取网站图片

使用jsoup爬取网站图片小例子

2017-04-28 15:30:21

cxf整合spring练习

一、环境搭建。(a)最基本的Java环境JAVA_HOME(b)CXF_HOME(c)ANT_HOME(d)CATALINA_HOME(e)PATH(f)CLASSPATH=.;%CXF_HOME%\lib\cxf-manifest.jar;.\build\classes二、编写服务端代码1.新建动态web项目cxf-spring

2017-04-22 23:57:39

webService【二】

一、使用JDK发布webService  1.编写自己的服务类package cn.sp.server;import javax.jws.WebMethod;import javax.jws.WebService;/** * 使用jdk发布服务,需要在类上打注解 * @author 2YSP * */@WebServicepublic class SayHelloSer

2017-03-28 21:56:02

webService【一】

虽然之前简单的看过webService,但是后来忘得一干二净了,于是便重新学习下。一、定义   顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用。   webService基于soap协议,该协议其实就是Http+XML的组合。   我们可以调用互联网上查询天气信息Web服务,然后将它嵌入到我们的程序(C/S或B/S

2017-03-27 23:41:46

JVM【一】

package cn.sp.test03;import java.util.ArrayList;import java.util.List;/** * JVM堆内存溢出 * @author 2YSP * */public class TestOOM { static class OOMObject{ } public static void main(String[]

2017-03-17 22:50:11

HttpClient【一】

之前见过这东西确不知道是干嘛的,后来学习了下才发现,原来它就相当于一个游览器客户端能够发出get和post请求,然后获得返回的数据。首先新建一个java项目,然后添加所需jar包。然后就是代码的编写了,也比较简单。package cn.sp.test01;import java.util.ArrayList;import java.util.List;import org

2017-03-17 22:36:58

线程死锁问题

线程死锁就是线程之前相互争夺对面拥有的资源,并且不释放资源,这样下去就会造成死锁。(个人见解)package cn.sp.test02;/** * * @author 2YSP *线程死锁问题 */public class TestDeadLock { //是指不同的线程分别占用对方需要的同步资源不放弃,都再等待对方放弃自己需要的同步资源,就形成了线程的死锁 static S

2017-03-17 22:23:59

自定义注解【一】

一、背景虽然经常使用注解,但是之前对于注解的原理什么都不懂,然后看书写了个demo,算是初窥其面目。二、例子package cn.sp.test;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;...

2017-03-17 22:20:44

同步访问共享数据【Effective java第10章】

在多线程编程时会涉及到共享数据的问题,以下是个人学习的一个小例子。import java.math.BigDecimal;import java.util.concurrent.TimeUnit;public class StopThread {// private static boolean stopRequested ;// public static void main(St

2017-03-17 22:02:53

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。