自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 掌握JVM一篇就够

掌握jvm一篇就够

2017-09-07 18:57:20 2510

原创 HTTP/2深入学习

HTTP/2即超文本传输协议,是下一代HTTP协议,HTTP/2定稿不久,但是其发展速度惊人,因为有众多优越特性,还有Google作为强有力的推手,相信未来互联网应用HTTP/2将会取代HTTP/1

2016-12-04 17:05:23 4094

原创 分布式系统基石etcd

目录简介 分布式系统 为何选择go实现 优势 核心—-Raft协议 etcd3特性 安装使用简介     —-Distributed reliable key-value store for the most critical data of a distributed system,etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵

2016-09-24 18:35:18 8306 1

原创 jvm类加载

jvm类加载

2016-09-08 11:06:50 1464

原创 深入学习consul

consul的介绍和使用

2016-06-26 20:18:34 15705

原创 spring-boot 深入学习

spring-boot深入学习

2016-06-17 19:15:46 16932 8

原创 基于GRPC+consul通信的服务化框架

讲诉了服务化框架背景,介绍,原理,实现。

2016-05-21 18:18:47 21933 7

原创 grpc-demo

gRPC  是一个高性能、开源和通用的 gooogle开发RPC 框架,基于 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持.gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部

2016-03-25 09:15:22 11557 2

原创 Spring boot 动态加载和部署导入的spring程序

import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.config.BeanDefinition;import org.springframework.boot.context.embedded.AnnotationConfigEmbedde...

2018-10-29 18:49:16 6202 3

原创 微服务驱动模型

微服务驱动模型请求驱动事件驱动时间驱动数据流驱动请求驱动 最常见的request<->response驱动模型,一般由用户请求主动触发,推动程序往下执行,用于大部分web后台。 实现框架有多种:servlet spring mvc struts 构建微服务:spring-boot 协议:http restful webservice 线程模型:线程池调度,一个线

2017-05-02 19:05:53 2147

原创 分布式定时任务调度系统

分布式定时任务调度系统

2017-01-15 14:39:58 10095

原创 2016技术流水账

2016年度总结我们念过往畏将来,2016年是充实的一年,也是超越的一年过往技术1.ELK 日志总让我们头疼,ELK为我们提供一套完整的日志收集监控方案,具体的工作流程就是logstash agent 监控并过滤日志,将过滤后的日志内容发给redis(这里的redis只处理队列不做存储),logstash index将日志收集在一起交给全文搜索服务ElasticSearch ,通过Kibana来结

2016-12-31 20:05:11 1157

原创 延迟队列DelayQueue

应用场景:消息延迟60秒发送,如果用调度去查询执行的话,会有误差public class Test2 { public static void main(String[] args) throws InterruptedException { DelayQueue<Message> delayQueue = new DelayQueue<>(); for (

2016-10-10 09:51:38 2846

原创 重入锁 ReentrantReadWriteLock

1.lock方法-获取锁,默认情况是不公平的锁,如果其它线程占用锁的话,会等待,当线程较少的时候性能不及synchronized, 当线程较多的时候,性能较为优秀,其底层用了AQS实现。 2.unlock方法是释放锁,必须要在代码finally里面,避免没有释放锁导致线程溢出问题。 3.tryLock方法是尝试获取锁,如果锁被其他线程占有,那么获取失败,则跳过执行。其应用场景多用于进行非重要任

2016-10-10 09:48:23 631

原创 ReferenceQueue+SoftReference+WeakReference

首先先了解jvm gc的知识,对象创建后,如果没有引用的话会被jvm回收掉。gc由jvm自动回收,即便System.gc()只是建议jvm执行GC,但是到底GC执行与否有jvm决定。 SoftReference会尽量保持对referent的引用,知道jvm内存不足的,才会回收,所以这个比较适合实现一些cache WeakReference每次jvm执行gc的时候会被回收 ReferenceQu

2016-10-10 09:47:16 1095

原创 高并发容器--CopyOnWrite

—–CopyOnWrite容器即写时复制的容器。通俗的讲就是往容器里面写数据的时候,不再当前容器写数据,而是将当前的容器拷贝一份,往拷贝新的容器里面写数据,添加完元素后,再将原容器指向新的容器。这样做的好处就是,并发读的时候不需要加锁,因为当前容器没有添加任何元素,不过写的时候需要加锁,所以CopyOnWrite也是一种读写分离的思想,适用于读多写少的并发场景,CopyOnWriteArrayLis

2016-10-10 09:45:04 1190

原创 osgi9——camel动态路由

1.camel路由uri都是静态的,一般容器启动的时候,它会去预执行。但是有些时候需要动态的去执行一些uri,好比mq,mq有exchange和queue,这两项有些时候是动态的办法,用普通的配置是不行的,所以我们解决的时候就需要动态路由请看下面blueprint配置<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.

2016-03-21 18:43:20 1713

原创 osgi8——camel activitimq

1. 有些时候需要用到异步处理,camel无需等待to执行完成,我们可以用事件 的方式去处理这种异步问题。2.看blueprint.xml的配置<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst

2016-03-21 18:42:38 1321

原创 osgi7——camel发送rabbitmq

esb环境下经常需要用时间处理,下面介绍用camel发送rabbitmq。1.blueprint的配置<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmln

2016-03-21 18:42:09 1513

原创 osgi6——camel配置学习

$foo = 'bar' $foo = 'cheese'

2016-03-21 18:41:18 956

原创 osgi5——camel整合activiti

activiti是工作流,它可以实现一些请假或者面试等业务上的工作流,也可以实现ESB上一些服务编排,以便适应千变万化的互联网。下面了解下他怎么和camel实现服务编排blueprint.xml配置<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:camel-cxf="ht

2016-03-21 18:40:27 2624

原创 osgi4——启动一个servlet

osgi是不适合做web开发,非常的牵强,目前还没有找到合适的办法。如果要做web开发,我们会用blueprint去启动一个servlet,然后通过浏览器去访问这个servlet。<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/200

2016-03-21 18:39:01 765

原创 osgi3——camel配置restlet

restlet是rest一种轻量级框架实现,弥补servlet的不足之处下面请看blueprint.xml配置<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

2016-03-21 18:37:56 1034 1

原创 osgi2——camel网关调用其它系统webservice

上一节介绍了怎么用camel和cxf去起一个webservice,这节介绍怎么用camel去调用其它系统的webservice。请看blueprint.xml的配置<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS

2016-03-21 18:33:18 2019

原创 osgi1——camel与cxf发布webservice

经过三个月的osgi学习,今天打算总结一下osgi与blueprint结合,并且使用camel、cxf等框架去做ESB.camel是apache下面一个非常著名的框架,定义了一套路由规则,他的根本原理就是,一端进来——处理——另外一端出去,基于这个高度抽象模型,他扩展的范围非常广,可以去整合HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF, WD等等

2016-03-21 18:31:45 2482

原创 6.redis集群

考虑到互联网使用环境极其复杂,需要高效稳定的redis环境,redis3.0增加了cluster功能,可以给redis集群部署,这样的好处是性能稳定,但是缺点是非常重,运营不方便,并且至少需要部署6个节点,而且有坑。   下面转载了一个同学的文章来搭建集群部署环境,http://www.cnblogs.com/Xrinehart/p/3502213.html。import java.uti

2016-03-02 21:19:41 477

原创 5.redis主从高可用

在实际应用当中,为了防止redis宕机出现的单点故障,我们采用了主从高可用模式去实现,这种方式的好处是简单,轻量。    实现原理是redis服务器里面启动一个sentinel,sentinel去监听redis服务,里面有master  redis,也有多台slave  redis,当客户端调用sentinel获取master服务器,并且发送命令到master服务器,slave会去同步mast

2016-03-02 21:05:15 504

原创 4.redis分片

在一些特定的业务场景,或者数据量比较大的时候,redis可以像数据库一样分表分库,它的概念是分片,当数据量很大的时候,你需要把数据分配到不同的机器上,比如100条数据,redis-a有50条,redis-b有50条数据。jedis提供了这样操作的实现类,ShardedJedis。import java.util.Arrays;import java.util.List;import jav

2016-03-02 20:47:40 1161

原创 3.redis高并发

jedis操作redis的话,本质采用了socket模式,io读写(同步阻塞),当任务多的时候,会阻塞,造成获取不到连接资源,产生异常信息,如上一篇http://blog.csdn.net/yeyincai/article/details/50782432文章里面,当并发大的时候就会报异常信息。在研究java操作memcached的时候,进行并发测试,发现redis的qps比不过memcached

2016-03-02 20:38:34 1020

原创 2.redis基础开发

初学者可能对于redis的开发有一定的模糊,下面介绍如何操作redis。    redis分为服务端,客户端,客户端去读写服务端的redis的时候,需要构造一些命令,并且通过socket传过去,redis服务器与客户端有自己的通信机制,举一个例子客户端需要存一个数据的时候 set   mykey  myvalue,需要构建这样一条命令*3\r\n$3\r\n"SET\r\n$5\r\nmyke

2016-03-02 20:18:22 421

原创 1.redis背景和使用场景

redis是互联网发展的产物,作为key—value的高效存储系统,为互联网应用提供高效的解决方案。redis基于c语言开发,并且提供了基本的数据结构list、set、map,还支持java、c++、.net等众多语言调用。redis存储的数据一般放在内存当中,这样加快了读取速度。redis的应用是无限的,根据它的特性,可以想象无限多的应用场景,下面是经常使用的场景:1.作为缓存使用,网站

2016-03-02 19:24:30 2778 2

原创 自己写的一个servlet Dispatchar,便于在osgi使用(二)

之前写过一个servlet Dispatchar  ,但是并不是在osgi环境运行的,有些时候我们需要在osgi环境去运行web,或者去实现一些http的api,提供给其它业务组调用,这时候我们需要在osgi环境下面去写servlet,但是传统的springmvc或者struts又不能很好的运行在osgi环境上,所以针对这种情况,自己开发出来一个基于osgi环境下的servlet Dispatch

2015-11-10 16:05:05 783

原创 关于shiro session失效报错问题

最近做了一个项目,要用到shiro,做完之后发现有个异常经常发生,经过多天的研究,终于得以解决登录的时候异常信息:org.apache.shiro.session.UnknownSessionException: There is no session with id [4e8fe40a-6347-4c53-b273-829889656f6e] at org.apache.shi

2015-08-03 14:35:47 45454 8

原创 自己写的一个servlet Dispatchar,便于在osgi使用(一)

osgi中暂时不支持springmvc等mvc框架,我们每写一个方法的时候,就需要新建一个servlet,这样很麻烦,所以想自己实现一个在osgi环境下能够运行的mvc框架,模仿springmvc或者struts2的框架。

2015-07-25 12:40:27 1786

原创 java回调及匿名内部类实现

public class test { public static void main(String[] args) { pricth(); } public static void pricth() { doRequest(new inInterface() { @Override pu

2015-07-03 09:44:22 2252

原创 java字符编码

1.常见的字符编码有UTF-8、GBK、IOS8859-12.常见的中文乱码有??、涓浗、中国下面做个测试类public static void main(String[] args) throws UnsupportedEncodingException { String zwutf = new String("中国".getBytes(),"UTF-8")

2015-05-11 19:06:03 945

原创 ECHart显示杭州区域热力图

后台所用技术springmvc+ibatis实现效果代码实现如下   require.config({ paths:{ 'echarts': '${rc.contextPath}/common/plugs/echart/js/echarts-map' } }); // 作为入口 r

2015-04-07 12:16:32 13200 3

原创 HashMap、HashSet、ArrayList实现机制

1.HashMap实现机制:我们首先看一下什么是hash算法(摘自百度知道):这个问题有点难度,不是很好说清楚。 我来做一个比喻吧。 我们有很多的小猪,每个的体重都不一样,假设体重分布比较平均(我们考虑到公斤级别),我们按照体重来分,划分成100个小猪圈。 然后把每个小猪,按照体重赶进各自的猪圈里,记录档案。 好了,如果我们要找某个小猪怎么办呢?我们需要每个猪圈,每个小猪的比对吗?

2015-03-24 16:05:30 600

原创 try、catch、finally

public class test { public static void main(String[] args) { System.out.println(finall("1")); System.out.println(finall("ssss")); } @SuppressWarnings("finally") public static int f

2015-03-19 16:31:50 509

原创 map、set认识

import java.util.HashMap;import java.util.HashSet;import java.util.Hashtable;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.LinkedHashSet;import java.util.Map;

2015-03-18 15:56:31 532

echart所需要的js

echart所需要的js ,更多请到本人博客——>ECHart显示杭州区域热力图

2015-04-07

SSH的ueditor使用

研究很久才终于研究出来,网上很多都是骗人的,下载之后不能用,后来自己静下心来慢慢琢磨,就行了

2014-04-03

dhtmlx与java实现的企业管理系统

关于dhtmlx的运用,和J2EE的运用。功能完善

2013-07-21

j2ee+servlet+jsp

newsapp 采用servlet与jsp完成 内涵数据库

2013-05-19

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

TA关注的人

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