自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 elastic-job-lite运维管理界面

下载编译$ git clone https://github.com/elasticjob/elastic-job-lite.git$ cd elastic-job-lite$ mvn clean install -Dmaven.test.skip=true编译完毕后会生成一个压缩包,这里的版本是以3.0.0.M1为例。$ ls -lrt elastic-job-lite-c...

2019-04-26 09:43:14 3908

原创 @KafkaListener通过配置加载多个topic

       接到领导的一个需求,希望封装一下kafka的消费者,可以从配置读取topic进行消费;一开始首先想到的是用java kafka的高阶api手工根据topic创建消费者,一个topic创建一个消费者,依赖zookeeper完成kafka内部的balance和其他管理。后来领导又提出不要依赖zookeeper,之前老是rebalance失败。       调研了一下,手工实现类似sp...

2019-02-19 15:38:32 15195 15

转载 通过反射,动态修改注解属性值

昨晚看到一条问题,大意是楼主希望可以动态得建立多个Spring 的定时任务。这个题目我并不是很熟悉,不过根据题目描述和查阅相关 Spring 创建定时任务 的资料,发现这也许涉及到通过Java代码动态修改注解的属性值。今天对此尝试了一番,发现通过反射来动态修改注解的属性值是可以做到的:众所周知,java/lang/reflect 这个包下面都是Java的反射类和工具。Annotat...

2019-02-18 14:34:41 1814 2

转载 创建线程需要带线程名

3.9 创建线程以及线程池时候要指定与业务相关的名字,以便于追溯问题日常开发中当一个应用中需要创建多个线程或者线程池时候最好给每个线程或者线程池根据业务类型设置具体的名字,以便在出现问题时候方便进行定位,下面就通过实例来说明不设置时候为何难以定位问题,以及如何进行设置。3.9.1创建线程需要带线程名下面通过简单的代码来说明不指定线程名称为何难定位问题,代码如下: publi...

2019-02-18 09:12:52 1378

转载 rsa加解密,签名

一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了...

2019-02-14 12:14:47 318

原创 第二章 springboot项目创建

万丈高楼平地起,先创建springboot + maven管理项目使用idea,new project,选择快速maven模板创建:输入groupId和artifactId之后,直接next到结束,基础项目就创建好了pom文件引入springboot依赖:<parent> <groupId>org.springframework.boot&lt...

2019-01-18 11:26:19 303

原创 第一章 y-base开发初心,致所有迷茫的技术同伴

项目初心:       不知不觉工作已经三年了,从混日子的大学毕业时对技术的懵懂,到后来的工作中一次次发现自己的能力不足,逐渐明白技术的道路并不好走。努力的人,一直都走在你的前面,而知难而退的人也能看到他们在别的领域有所收获。回观自己,既没有走出技术圈子,却也没有拿得出手的积累。这样的日子循环往复,心情也日渐焦虑。作为一个做技术的人,其实就是电脑前的民工,怎么样才能把握自己的方向,找到正确的路...

2019-01-18 10:48:00 181

转载 elk通过logstash采集java日志

介绍一下如何从Java工程中导出log4J日志到Logstash。一、log4j基础不能免俗的官方介绍:Log4j 是一个使用 Java 语言编写的,可靠、快速、灵活的日志框架(API),使用 Apache Software License 授权。它被移植到 C、C++、C#、Perl、Python、Ruby 和 Eiffel 语言中。Log4j 是高度可配置的,在运行期使用外部的配...

2019-01-08 18:16:37 1398 1

转载 elk搭建

一、ELK搭建篇官网地址:https://www.elastic.co/cn/官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html安装指南:https://www.elastic.co/guide/en/elasticsearch/reference/5.x/rpm.htmlELK...

2019-01-08 18:09:00 304

转载 CompletableFuture理论

首先因为现在的应用越来越复杂,越来越多模块多系统之间相互依赖,一个操作可能需要使用多个模块或者多个系统提供的多个服务来完成一个功能,如果每个服务顺序的执行,可能需要消耗很多时间,或者前端用户需要得到及时响应,不需要等待所有服务完成便可以返回部分结果,而且现在的计算机处理器性能越来越强大,多核处理器越来越普遍,核心数也越来越多,使用多线程可以更加充分利用硬件的资源,不论是什么原因异步编程应运而生。...

2018-08-17 16:38:58 236

转载 多个单列索引和联合索引的区别详解

文章出处:https://blog.csdn.net/Abysscarry/article/details/80792876背景:为了提高数据库效率,建索引是家常便饭;那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。一、联合索引测试注:Mysql版本为 5.7.20创建测试表(表记录数为63...

2018-08-17 11:48:56 7851 2

原创 java后端技术栈

https://github.com/xingshaocheng/architect-awesome

2018-06-04 19:32:13 1003

转载 值得看的源码(转载)

最早看的 架构探险 从零开始写Java Web框架,黄勇写的,算是一种启蒙,作者自己写了一套ioc和aop框架以及mvc请求分发框架。跟着写了一遍,基本明白了Spring 和SpringMVC是怎么工作的然后顺着思路看了2遍Spring和SpringMVC的源码,一遍是跟着流程走了一边,一遍是基于接口和类的功能整体了解了一遍架构设计再后来看了how tomcat works,看了一遍中文的,时隔一...

2018-05-29 14:18:05 2073

转载 Kotlin 使用 Spring WebFlux 实现响应式编程

Kotlin 使用 Spring WebFlux 实现响应式编程IBM的研究称,整个人类文明所获得的全部数据中,有90%是过去两年内产生的。在此背景下,包括NoSQL,Hadoop, Spark, Storm, Kylin在内的大批新技术应运而生。其中以RxJava和Reactor为代表的响应式(Reactive)编程技术针对的就是经典的大数据4V定义: Volume,Variety,Vel

2018-01-08 19:20:52 1239

转载 CompletableFuture详解

目录 [−]主动完成计算创建CompletableFuture对象计算结果完成时处理转换纯消费(执行action)组合either辅助方法 allOf 和 anyOf更进一步参考文档Future是Java 5添加的类,用来描述一个异步计算的结果。你可以使用isDone方法检查计算是否完成,或者使用get阻塞住调用线程,直到计算完成返回

2018-01-08 14:42:21 1225

转载 java8多线程异步调用 CompletableFuture 详解

CompletableFuture 详解CompletableFuture类实现了CompletionStage和Future接口。Future是Java 5添加的类,用来描述一个异步计算的结果,但是获取一个结果时方法较少,要么通过轮询isDone,确认完成后,调用get()获取值,要么调用get()设置一个超时时间。但是这个get()方法会阻塞住调用线程,这种阻塞的方式显然和我们

2018-01-03 16:38:34 14056 1

转载 java中的匿名内部类总结

匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法123456789101112131

2017-10-11 15:03:04 1134

转载 Retrofit2

原文:Retrofit 2.0: The biggest update yet on the best HTTP Client Library for Android不熟悉Retrofit的同学可以先参考这篇文章: Retrofit – Java(Android) 的REST 接口封装类库 ,很适合入门。因为其简单与出色的性能,Retrofit 是安卓上最流行的HTTP Client库之一。不过它的

2017-07-14 17:11:57 2232

转载 kafka中partition和消费者对应关系

1个partition只能被同组的一个consumer消费,同组的consumer则起到均衡效果消费者多于partitiontopic: test 只有一个partition创建一个topic——test,bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitio

2017-07-13 14:49:32 2903

转载 使用JMAP dump及分析dump文件

其中jmap是java自带的工具查看整个JVM内存状态 jmap -heap [pid]要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起查看JVM堆中对象详细占用情况jmap -histo [pid]导出整个JVM 中内存信息jmap -dump:format=b,file=文件名 [pid]jhat是sun 1.6及以

2017-07-12 15:59:10 1486

转载 spring boot+RabbitMQ

前言本篇主要讲述spring Boot与RabbitMQ的整合,内容非常简单,纯API的调用操作。 操作之间需要加入依赖Jar[html] view plain copydependency>  groupId>org.springframework.bootgroupId>  artifactId>spring-boot-sta

2017-07-05 17:48:06 585

转载 Spring中@Async用法总结

引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后,就已经内置了@Async来完美解决这个问题,本文将完成介绍@Async的用法。1.  何为异步调用?    在解释异步调用之前,我们先来看同步调用的定义;同步就是整个处理过程顺序执行,

2017-07-01 17:22:44 623

转载 kafka参数

转载自:http://ju.outofmemory.cn/entry/119243Kafka为broker,producer和consumer提供了很多的配置参数。 了解并理解这些配置参数对于我们使用kafka是非常重要的。本文列出了一些重要的配置参数。官方的文档 Configuration比较老了,很多参数有所变动, 有些名字也有所改变。我在整理的过程中根据0.8.2的代码也

2017-06-23 12:03:03 347

转载 lombok简介及使用方法

前言:    又一次项目中用到了,发现简化了很多的代码,因此自己研究了一下 ,看了一下官网和网上的教程,总结了如下内容,部分内容来自于http://blog.csdn.net/hack8/article/details/23790579  Lomboz是一个基于LGPL的开源J2EE综合开发环境的Eclipse插件,对编码,发布,测试,以及debug等各个软件开发的生命周期提供

2017-06-17 18:10:25 875

转载 LocalDate简介

看看新的LocalDate怎么用:// 取当前日期:LocalDate today = LocalDate.now(); // -> 2014-12-24// 根据年月日取日期,12月就是12:LocalDate crischristmas = LocalDate.of(2014, 12, 25); // -> 2014-12-25// 根据字符串取:LocalDate e

2017-06-16 18:35:38 799

转载 Guava Cache使用笔记

我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。 实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。 2.Guava Cache的load方法不能返回null,否则抛异常 Guava Cache的get方法先在本

2017-06-06 12:05:12 1367

转载 mysql日期时间加减处理

MySQL 为日期增加一个时间间隔:date_add()set @dt = now();select date_add(@dt, interval 1 day);        -- add 1 dayselect date_add(@dt, interval 1 hour);       -- add 1 hourselect date_add(@dt, interval

2017-06-01 14:30:12 1453

转载 如何删除git中的文件

删除的步骤如下。将本地.idea目录改名,这个步骤适合于不是你push该目录,是别人上传的:mv .idea/ .idea_back如果是自己push的,可略过上面步骤。删除.idea目录下文件:git rm .idea/* -r然后commit:git commit -a -m ‘remove .idea’   注意是单引号再次push就可以了:git push -u ori

2017-05-08 20:28:38 1803

转载 bootstrap 弹出框,提示框。

前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑。在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的系统有一个友好的弹出提示框,自然能给用户很好的页面体验。前面几章介绍了bootstrap的几个常用组件,这章来看看bootstrap里面弹出框和提示框的处理。总的来说,弹出提示主要分为三种:弹出框、确

2017-05-05 15:44:36 4597 1

原创 axios使用文档(附英文文档)

axios 简介axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:从浏览器中创建 XMLHttpRequest从 node.js 发出 http 请求支持 Promise API拦截请求和响应转换请求和响应数据取消请求自动转换JSON数据客户端支持防止 CSRF/XSRF浏览器兼容性引入方式:

2017-05-04 14:21:56 3221

转载 JavaWeb 并发:FOR UPDATE 实战,监测并解决。

一、前言针对并发,老生常谈了。目前一个通用的做法有两种:锁机制:1.悲观锁;2.乐观锁。但是这篇我主要用于记录我这次处理的经历,另外希望能看的大神,大牛,技师者,学长,兄长,大哥们能在评论中发表自己的看法和解决技巧等。 二、故事是这样的一个表,暂且叫 wallet,其中3个字段是 金额。初始值为0,如下图所示: 然后我们写了一个极为简单的

2017-04-28 11:37:30 662

转载 基于Event Sourcing和DSL的积分规则引擎设计实现案例

架构设计模式(Architecture Patterns),是“从特殊到普遍”的、基于各种实际问题的解决方案而总结归纳出来的架构设计最佳实践,是一种对典型的、局部的架构逻辑的高度抽象思维;在合理的场景下恰当使用它们,避免“重新发明车轮”,对技术解决方案有指导性作用,往往事半功倍。广发证券IT研发团队作为架构设计模式的坚定践行者,在各类证券业务中经常运用。Event Sourcing就是这么一个比较

2017-04-24 12:46:10 4174

原创 shell输出json某字段的value

# grep -Po 'userId[" :]+\K[^"]+' a.txt其中a.txt是文件名,userId是字段名称,就可以把所有对象的该字段值都输出来。

2017-04-24 10:56:30 16806 1

转载 springboot加载静态资源

在SpringBoot中加载静态资源和在普通的web应用中不太一样。默认情况下,spring Boot从classpath下一个叫/static(/public,/resources或/META-INF/resources)的文件夹或从ServletContext根目录提供静态内容。下面我们来写个例子看一下就会一目了然了:首先看一下项目的目录结构:我们在resources下面的temp

2017-04-19 20:10:41 8304

转载 spring-mvc注解式格式化属性数据

因为后端使用的是spring-mvc框架,自己开发一个标注实现数据绑定。(不采用java.util.Date,依赖joda-time.jar)model: Java代码  package com.ztgame.me.ext.model.datetimerange;    import java.io.Serializable;    import org.joda.ti

2017-04-19 16:25:23 695

转载 Spring Boot之基于注解的数据格式化

spring Boot来开发Web应用,大部分使用的是Spring MVC的一些功能及特性。Spring MVC在对数据格式化时,提供了很多内部格式化工具来方便开发人员来对数据进行处理。具体可以参考:http://blog.csdn.net/jrainbow/article/details/46709543。同样Spring MVC也提供了一些接口让我们方便的扩展,自定义一些方法来处理

2017-04-19 16:18:42 2060

转载 git管理常用命令

1) 远程仓库相关命令检出仓库:$ git clone git://github.com/jquery/jquery.git查看远程仓库:$ git remote -v添加远程仓库:$ git remote add [name] [url]删除远程仓库:$ git remote rm [name]修改远程仓库:$ git remote set-url --push[na

2017-04-14 11:29:33 231

转载 java中四大基本加密算法

简单的java加密算法有:BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm,安全散列算法) HMAC(Hash Message Authentication Code,散列消息鉴别码)1.BASE64Base64是网络上最常见的用于

2017-04-10 17:12:21 1321

转载 volatile关键字详解

一、Java内存模型想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变量是从主内存中拷贝而来)。线程对变量的所有操作(读取,赋值)都必须在工作内存中进行。不同线程之间也无法直接访问对方工作内存

2017-04-10 16:36:47 385

转载 java线程安全问题之静态成员变量、实例成员变量、局部变量

java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同《java并发编程实践》中所说:写道给线程安全下定义比较困难。存在很多种定义,如:“一个类在可以被多个线程安全调用时就是线程安全的”。此处不赘述了,首先给出静态变量、实例变量、局部变量在多线程环境下的线程安全问题结论,然后用示例验证,请大家擦亮眼睛,有错必究,否则误人

2017-04-10 16:27:45 428

空空如也

空空如也

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

TA关注的人

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