江无羡

Life is full of surprises !

关于RocketMQ的一些基础知识点及使用建议

之前一段时间团队中引入了RocketMQ以作为RabbitMQ的替代品, 一者是让使用它的较高吞吐量,其次想在其上做一些扩展开发,消息事务也是我们想用它的原因之一;引入的过程很简单,接下来为了在核心服务中进行切换,所以就需要对RocketMQ进行一系列深入了解,才有信心在切换的过程中实现稳步切换,...

2019-05-15 07:59:56

阅读数 25

评论数 0

数据库中一些常用SQL使用方法记录

开发出身的程序员们,因为本职工作主要是做一些编码的工作,因此对于一些特殊场景的SQL就不是天天用了,所以在此做以记录,方便后续的查询与参考 DDL(Data Definition Language) DML(Data Manipulation Language) **DCL(Data Contr...

2019-03-22 14:16:30

阅读数 30

评论数 0

Redis原理及应用

Redis 是一个开源的(BSD)基于内存的高性能数据存储器,可作为数据库、缓存、消息代理。支持的数据类型有字符串(strings), 散列表(hashes), 数组(lists), 集合(sets), 有序集合(sorted sets with range queries), 位图(bitmap...

2019-03-13 19:51:40

阅读数 43

评论数 0

使用fastjson进行序列化时进行数据脱敏

fastjson 是阿里巴巴开源的一款优秀的java生态下序列化/反序列化产品,我们可以在不同的服务之间进行数据交互时使用它,同样可以输出日志时使用fasnjson把对象转化为String, 然后再进行采集,比调用对象的toString方法靠谱,比如如果对象内部没有实现toString方法就不能正...

2018-12-21 18:28:54

阅读数 542

评论数 0

Okhttp 通过拦截器实现对Response编码的设置

Okhttp 一个被广泛用于Android and Java applications中作为http请求的基础类库, 具有简单和方便的API接口, 支持同步和异步, 在http2协议下可以允许多个请求共享一个socket, 连接池降低延迟等特性; 问题抛出 今天做一个新项目, 应团队规范, 采用o...

2018-10-30 20:59:50

阅读数 842

评论数 0

JVM基本介绍和一些启动参数释义及用法

本篇文章记录一下日常用到的一些JVM启动参数及相关功能释义 列表 -XX:+TraceClassLoading: JVM 启动时设置此参数, 可以打印加载的所有class信息

2018-10-30 20:15:43

阅读数 114

评论数 0

Mysql-InnoDB锁的最佳实践

Mysql自称为世界上最收欢迎的开源(GPL协议)数据库, 可以有效帮助企业构建高性能,高可用的应用程序; 其自身提高了两种数据库引擎MyISAM和InnoDB, 然后由于InnoDB支持事物及行级锁, 因此被很多互联网公司优先选用; 本篇博文主要介绍Mysql-InnoDB数据库引擎中相关锁的介...

2018-10-10 20:54:56

阅读数 85

评论数 0

Java 线程池的简单介绍和常用方法分析

线程池顾名思义是为线程的池子; 在Java的世界里, 我们都知道所有应用程序都是运行在JVM运行实例之上, 每个JVM实例对应到操作系统中就是一个个独立的系统进程; 但是往往我们的应用中需要有异步, 并发, 并行执行程序的需求, 操作系统为此提供支持, 在操作系统调度层面的最小调度单元刚好是线程;...

2018-09-18 00:23:30

阅读数 89

评论数 0

Java 中的序列化与反序列化

在Java中, 序列化是一种把java对象状态转化成字节码流形式的机制, 这种机制被应用在RPC, Hibernate, RMI, JPA, EJB 和 JMS等场景中; 序列化的逆向操作是反序列化, 顾名思义, 就是把java对象的字节码流还原到jvm中的运行时对象; 常见的序列化方式 ...

2018-07-06 17:39:22

阅读数 692

评论数 0

Spring+Dubbo服务中使用profile指定环境配置文件

Spring提供的profile特性可以对我们的配置文件进行隔离, 以便在不同的环境激活对应的配置项; 轻松实现不同环境不同配置项统一部署的形式; 最近在spring+dubbo的服务项目中, 想实现在不同的环境加载不同的配置文件, 因此就立即想到了spring的profile特性, 然后由于服...

2018-07-04 20:54:51

阅读数 904

评论数 0

关于JVM中运行的应用程序何时被关闭退出呢

最近在调研一个分布式分片的任务调度框架的事情, 接触到了 Xxl-job, 在运行这个项目的服务案例时, 作者提供了一个spring-web形式的案例工程, clone到本地编译运行确实没有问题, 同时也部署了中心化管理服务Xxl-job-admin, 还用手动即时触发的方式调度了执行器服务中的任...

2018-06-30 15:46:17

阅读数 586

评论数 0

JVM 中synchronized的底层实现原理解析

锁是应用开发中的一种常见同步机制, 而synchronized则是java中的一种内建的同步方式, 所以也有人称其为Intrinsic Locking, 它提供了互斥的语义和可见性保证, 当一个线程已经获取当前对象锁时, 其他试图获取同一个锁的线程只能等待或者阻塞 在Java 5以前, sync...

2018-06-30 13:59:07

阅读数 718

评论数 0

常用的开发基础设施搭建步骤记录

常用的开发基础设施搭建步骤记录 这里主要在Docker环境下记录搭建一些开发基础设施的方法与步骤, 方便大家参考 Nexus服务 Gitlab服务 Zookeeper集群 Kafka集群 业务API接口管理服务[Eolinker] BUG管理平台[zentao禅道] Dubbo-admin后...

2018-04-01 21:51:22

阅读数 279

评论数 0

常见的数据签名及加密处理方式

跨服务请求中的数据加密与签名处理 数据隐私与安全是我们所有开发人员在业务需求开发过程中都避免不掉的问题, 比如数据防篡改, 隐秘信息加密, 用户登录ticket生成等场景, 然后这里我们就可以根据不同的具体业务场景选择合适的签名或者加密算法以达到我们的目的! 常用签名与加密算法介绍 业务场景...

2018-03-02 18:48:42

阅读数 832

评论数 0

Java Collectors的一些方法使用

在 java8 中的 Collectors 结合Function接口实现了很多配合stream对集合进行分组, 统计, 求最大, 最小值等简单方便的方法, 因此这里做一些记录, 方便后续的参考一.

2017-12-12 20:36:18

阅读数 2148

评论数 1

ElasticSearch集群搭建及配置监视服务

Elasticsearch 不仅仅只是全文搜索,还支持结构化搜索、数据分析、复杂的语言处理、地理位置和对象间关联关系等。 同时 Elasticsearch 有着超强的的水平伸缩性,可以将负载压力和稳定性分散到多个节点。

2017-10-12 20:26:49

阅读数 581

评论数 0

GraphicsMagick 实现图片的裁剪, 旋转, 移动

GraphicsMagick gm4java im4java最近对使用Java对操作这方面问题进行了下调研, 随即写了个图片操作工具类, 包括图片的裁剪, 缩放, 移动, 旋转, 加水印等功能

2017-08-16 11:33:28

阅读数 1316

评论数 0

二叉树的广度与深度遍历

二叉树在图论中的定义为, 二叉树是一个连通的无环图,并且每一个顶点的度不大于3。有根二叉树还要满足根结点的度不大于2。有了根结点之后,每个顶点定义了唯一的父结点,和最多2个子结点。然而,左右节点的定义是逻辑上。如果不考虑连通性,允许图中有多个连通分量,这样的结构叫做森林。

2017-05-30 23:27:18

阅读数 436

评论数 0

Ubuntu 挂载硬盘所用命令介绍

新升级了Ubuntu 从16到17结果升挂了,然后就重装了17,下面就是把安装操作系统之外的一个机械硬盘挂载到系统中某个目录下所用的命令简单介绍下;

2017-05-01 14:40:08

阅读数 3026

评论数 0

Tomcat 配置https访问服务

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),即以安全为目标的HTTP通道,简单讲是HTTP的安全版。在HTTP下加入SSL(Secure Sockets Layer 安全套接层),HTTPS的安全基础是SSL,因此...

2017-04-09 17:58:11

阅读数 3455

评论数 0

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