自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ShootCode

做一名有出息的程序猿

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

原创 Lambda原理及应用

Lambda 是 JDK8 以后版本推出的一个新特性,也是一个重要的版本更新,利用 Lambda 可以简化内部类,可以更方便的进行集合的运算,让你的代码看起来更加简洁,。

2023-02-26 17:18:14 646 1

原创 Lo4j2 重写日志,Lo4j2日志 脱敏思路

Lo4j2 重写日志,Lo4j2日志 脱敏思路

2022-07-30 12:50:45 1284

原创 消息中间件(MQ)能给我们带来什么

消息中间件(MQ)能给我们带来什么 http://www.jblog.top/article/details/254951

2017-08-16 23:22:20 544

原创 HttpMessageConverter

Spring mvc HttpMessageConverter 可以对输出 输入的参数进行处理。

2017-07-07 16:32:09 614

原创 spring could 微服务 跨域问题(CORS )

记 一坑 CORS 在微服务网关 zuul 和 底下的服务都设置 跨域 CorsFilter 导致 前段跨域失败 。@Configurationpublic class CorsConfig { @Bean public CorsFilter corsFilter() { final UrlBasedCorsConfigurationSource sourc

2017-07-03 22:45:38 15798

原创 TokenBucket(令牌桶算法) LeakBucket(漏桶算法) 两种限流算法

TokenBucket(令牌桶算法) LeakBucket(漏桶算法) 两种限流算法

2017-06-05 09:55:29 1902

原创 RESTful API 设计指南

一、协议 API与用户的通信协议,总是使用HTTP/HTTPS协议。二、域名路径 应该尽量将API部署在专用域名之下。https://api.example.com如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。https://example.org/api/三、版本(Versioning)应该将API的版本号放入URL。https://api.example.com/v1/

2017-05-13 23:32:42 1146

原创 War包 打包成 Docker

<!-- docker 打包 插件 -->-<plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>0.4.11</version>-<configuration><!-- 打包名称 --><imageName>${docker.image.prefix}/${p

2017-05-11 17:12:33 1755

原创 基于 AOP 和 Redis 实现的分布式锁

思路是:获取锁使用 redis setnx key value 特性 :如果设置成功,返回 1 。 设置失败,返回 0 。 设置key 的过期时间用完了删除key采用 AOP 提高开发效率自定义注解 包含 过期时间,等待时间,key自定义注解/** * Created by linving on 2017/4/24. */@Target({ ElementType.METH

2017-05-11 16:56:22 2417

转载 像@Transactional一样利用注解自定义aop切片

在spring中,利用@Transactional注解可以很轻松的利用aop技术进行事物管理。在实际项目中,直接利用自定义注解实现切片可以大大的提高我们的编码效率以及代码的简洁性。实现以上的目标,主要涉及两方面工作。自定义注解将注解声明为切片自定义注解介绍注解自定义的文章比较多,这里简要介绍一下以下面的代码为例。该代码要实现一个分布式锁的代码。首先利用@interface来声明该类为接口类,用@T

2017-04-23 11:18:38 1553

原创 redis使用watch秒杀抢购思路

1、使用watch,采用乐观锁 2、不使用悲观锁,因为等待时间非常长,响应慢 3、不使用队列,因为并发量会让队列内存瞬间升高import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import redis.clients.jedis.Jedis;/** * redis测试抢购 *

2017-04-15 13:02:05 19635 12

原创 Google Authenticator

TODO Google Authenticator

2017-04-10 17:22:50 869

原创 API接口安全性设计

接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来看:Token授权机制:用户使用用户名密码登录后服务器给客户端返回一个Token(通常是UUID),并将Token-UserId以键值对的形式存放在缓存服务器中。服务端接收到请求后进行Token验证,如果Token不存在,说明请求无效。时间戳超时机制:用户每次请求都带上当前时间

2017-04-08 15:46:09 7256 1

原创 关于微服的一些资料

微服事务处理 http://eventuate.io/ 微服架构 http://microservices.io

2017-04-04 13:33:34 539

转载 MQ 解决分布式事务的一些思路

不同于单一架构应用(Monolith), 分布式环境下, 进行事务操作将变得困难, 因为分布式环境通常会有多个数据源, 只用本地数据库事务难以保证多个数据源数据的一致性. 这种情况下, 可以使用两阶段或者三阶段提交协议来完成分布式事务.但是使用这种方式一般来说性能较差, 因为事务管理器需要在多个数据源之间进行多次等待. 有一种方法同样可以解决分布式事务问题, 并且性能较好, 这就是我这篇文章要介绍的

2017-04-03 00:24:27 10482

原创 vue搭建

http://www.jianshu.com/p/96751fcdaaabhttp://www.jianshu.com/p/5ba253651c3batom / webstorm 配置

2017-03-27 10:19:36 581

转载 Java8 时间类

转 :http://www.codeceo.com/article/java-8-20-datetime.html除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API。Java对日期,日历及时间的处理一直以来都饱受诟病,尤其是它决定将java.util.Date定义为可修

2017-03-26 15:14:50 1139

原创 微服务事务设计/问题

事务问题从单体应用迁移到微服务架构时,不得不面临的问题之一就是事务。在单体应用时代,所有业务共享同一个数据库,一次请求操作可放置在同一个数据库事务中;在微服务架构下,这件事变得非常困难。然而事务问题不可避免,非常关键。解决事务问题时,最先想到的解决方法通常是分布式事务。分布式事务在传统系统中应用的比较广泛,主要基于两阶段提交的方式实现。然而分布式事务在微服务架构中可行性并不高,主要基于这些考虑:分布

2017-03-22 14:18:14 778

原创 Thrift

Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),并由

2017-03-22 14:06:34 332

原创 springboot log4j2

1、pom.xml加入log4j2,并同时把spring boot默认的logging去掉<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>

2017-03-21 17:39:33 937

原创 log4j2 vs logback

http://logging.apache.org/log4j/2.x/manual/async.html

2017-03-21 17:35:16 5896

原创 Logback 日记性能

Logback 日记性能 最近发现 Tomcat 的 tps 一直 上不去 原来是 Logback 日记的关系

2017-03-20 17:15:58 962

原创 visualvm 性能调优工具

1、什么是VisualVMvisualvm是jdk自带的一款监控工具。它提供了一个可视界面,用于查看 Java 虚拟机上运行的基于 Java 技术的程序的详细信息。VisualVM 对 Java Development Kit (JDK) 工具所检索的 JVM 软件相关数据进行组织,并通过一种使您可以快速查看有关多个 Java 应用程序的数据的方式提供该信息。您可以查看本地应用程序以及远程主机上运行

2017-03-20 17:00:43 363

原创 性能调优 jstack

qmq是部署在tomcat中的应用名 ps -ef | grep qmq | grep -v grep拿到进程号, 例如上面对应的是3192第二步找出该进程内最耗费CPU的线程,可以使用ps -Lfp pid或者ps -mp pid -o THREAD, tid, time或者top -Hp pid 例如用第三个 top -Hp 3192Tasks: 123 total, 0 runn

2017-03-20 16:59:10 565

原创 http_load

http_load 压力测试工具:http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz 安装很简单tar zxvf ht

2017-03-20 16:56:52 330

原创 JVM内存系列

JVM内存

2017-03-18 17:28:10 280

原创 spring-session-data-redis

分布式会话管理 spring-session-data-redis

2017-03-09 17:33:13 761

原创 Java通过Executors提供四种线程池

Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。 n

2017-03-08 16:05:14 403

原创 Sharding-JDBC

Sharding-JDBC 当当的分库分表 插件。

2017-03-07 09:04:58 475

原创 Disruptor

//TODO 并发框架Disruptor浅析

2017-03-06 14:55:49 289

原创 CyclicBarrier And CountDownLatch

CountDownLatch和CyclicBarrier简单比较:CountDownLatchCyclicBarrier软件包java.util.concurrentjava.util.concurrent适用情景主线程等待多个工作线程结束多个线程之间互相等待,直到所有线程达到一个障碍点(Barrier point)主要方法CountDownLatch(int count) (主线程调用)初始化计数

2017-02-28 09:54:16 304

原创 ThreadLocal

ThreadLocal的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路;ThreadLocal的目的是为了解决多线程访问资源时的共享问题。如果你也这样认为的,清空之前对Thread

2017-02-27 14:15:46 371

原创 Spring Could

spring could Demo 包括了: 注册中心 服务提供者 服务消费者 网关

2017-02-16 15:43:49 2434

原创 Spring cloud 微服架构(一)

目标包括: 1. spring boot 简单使用(集成Mybatis ,打包 docker) 2. spring cloud 服务注册 3. spring cloud 服务发现与使用 4. spring cloud 负载均衡 5. spring cloud 断路器 6. spring cloud 服务网关 7. 后面加入 MQ ,Redis

2017-02-13 18:05:23 1015

原创 Dubbo 的简单实用

使用Dubbo 的安装一个注册中心来注册服务,一般选用的是 zookeeper 。zookeeper的安装并不是很复杂。Dubbo采用全spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。可以直接像使用本地已经实现的接口一样,通过Spring Bean 容器里面直接获取。这也是Dubbo最

2017-02-12 11:39:12 284

原创 Dubbo的介绍

Dubbo介绍:Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能。Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。现在已经不维护了,淘宝开发了另一套系统 hfs,替代了dubbo 。可以做什么 • Rem

2017-02-11 18:08:54 295

原创 架构的演进

单台架构: 学生时代就开始搞网站,开始的时候并不知道,网站怎么弄。以为就是有HTML组成的。后来通过 不断的学习才只有原来有个:后台,还有个叫数据库东西。 那时候就以为网站就是 后一个后台加数据库组成的。 自己也跟着借来的书一点一点的学习,敲代码。搭建成功一个 hello world 别提多高兴。后来逐步的设计到了数据库,文件保存等。大学毕业前形成的架构概念就是:一台Tomcat + 一个We

2017-02-11 14:52:17 331

原创 向分布式应用进军

今年目标: 1. 分布式应用的思想的建立和了解。常见的分布式应用的架构的了解。 2. 常用的分布式架构的熟悉和使用。 3.集群建设 涉及内容: spring , spring cloud ,spring boot , lua脚本rpc 框架: dubbo , spring cloud ,Netflix数据库,文件系统: myCat (分库分表中间件) FastDFS (文件系统集群)

2017-02-11 13:30:41 256

原创 轻量级分布式文件系统fastDFS

fastDFS

2016-12-11 12:23:05 815

原创 ApplicationEvent 与 ApplicationListener 的使用 及 思考

ApplicationEvent

2016-12-09 15:43:39 2219

ActiveAndroid

ActiveAndroid andoir d 数据库列子

2014-11-19

空空如也

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

TA关注的人

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