自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

向阳的味道的博客

no pains no gains

  • 博客(33)
  • 资源 (3)
  • 收藏
  • 关注

原创 高并发框架解决批量任务要求执行速度快、可查询进度和与业务解耦

//第一步.业务方法自己实现public interface ITaskProcess<T,R> { TaskResult<R> taskExecute(T data);}//第二部.编写job,并统计结果便于查询进度public class JobInfo<R> { private String jobName; private ITaskProcess<?,?> taskProcess; private i...

2020-09-04 23:19:53 391

原创 Json字符串正则匹配

public String getFieldValueFromJsonStr(String jsonStr, String fieldName) { List<String> fieldValues = new ArrayList<>(); String regex = "(?<=(\"" + fieldName + "\":\")).*?(?=(\...

2020-03-20 14:04:03 5048

原创 搭建zookeeper集群遇到的坑

1.启动zkServer.sh 指令,发现日志Cannot open channel to 2 at election address /192.168.40.129:3888java.net.ConnectException: Connection refused (Connection refused)ping用来检查网络是否通畅或者网络连接速度的命令telnet是用来探测指定ip是否开...

2020-03-15 10:12:15 475

原创 Dubbo开源框架原理分析

1.Provider->register Consumer->subscribe Registry->notify Consumer->invoker2.集群环境下有多台providers ,当providers有下线的要通知consumer,用zk实现注册发现,因为zk有watch心跳机制,还可以存储节点信息3.provider->提供一个servic...

2020-03-14 20:13:41 278

原创 chrome 数据库查询xml类型的字段,浏览器不显示,安装插件即可获取整列

1.下载extension_4_8_41_0.crx 插件2.下载application.coffee和keyword.json脚本3.在coffeeSql下添加执行脚本// ==UserScript==// @name coffeeSql// @namespace http://www.tobepro.cn// @version 0.1// @des...

2019-05-20 08:14:43 319

原创 csv 和DataProvider用法

public class Test { protected String testPath = Paths.get("src", "test", "resources").toAbsolutePath().toString() + "/"; @DataProvider(name = "testData") public Object[][] getData() thro...

2019-03-29 09:35:32 900

原创 Java HmacMD5算法签名

import com.niwodai.csc.service.HmacMD5Sign;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Service;import javax.crypto.Mac;import javax.crypto.Secre...

2018-08-10 17:46:43 4734

原创 将二维码和背景图片拼装成新的分享图片

/** * @ClassName: QrCodeServiceImpl * @Description:操作图片 * @Author guoh * @Date 2018/8/9 13:29 */@Servicepublic class QrCodeServiceImpl implements QrCodeService { private Logger logger = L...

2018-08-09 16:33:21 3595 3

原创 ZooKeeper安装和Dubbo服务化部署

一.名称解释1. ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。2.Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Sp...

2018-07-15 23:07:40 309

原创 Spring 常用配置

1.Spring 支持@AspectJ注解式切面编程,使用@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持。2.Spring Bean的Scope默认为Singleton单例模式3.Bean的初始化和销毁,@PostConstruct 构造函数执行完执行,@PreDestory 在Bean销毁前执行4.Spring的事件Application Event...

2018-06-25 22:38:22 226

原创 内存泄漏—排查问题

内存泄漏—排查问题top命令输入了,得出了以下结果:从上图可以看到java服务,内存使用率达到了68.2%,。很显然现在需要jmap命令把heap中的对象占用内存的情况导出到对应的dump文件中。jmap -dump:format=b,file=java.dump pid导出来的文件如下所示:JVM提供的基本命令即可解析此二进制dump文件。命令如下:jhat java.dump导出文件的过程,如...

2018-05-31 14:18:17 2471

原创 容器化Docker指令及启动异常处理

一:指令1.获取镜像 :可以使用 docker pull 命令来从仓库获取所需要的镜2.列出本地镜像:使用 docker images 显示本地已有的镜像。加-a全部3.利用 Dockerfile 来创建镜像,Dockerfile 基本的语法是使用 # 来注释FROM 指令告诉 Docker 使用哪个镜像作为基础接着是维护者的信息RUN 开头的指令会在创建中运行,比如安装一个软件包,编写完成 Do...

2018-05-15 12:06:06 1306

原创 java调研模板

Java调研文档一.  需求概要二.  需求分析1.   功能性分析2.   非功能性分析三.  系统设计1.   系统图(流程图、时序图等)2.   过程四.工作内容和时间安排...

2018-04-24 14:54:30 1587

原创 mongoDB查询某个字段按时间排序和单个字段查询的集合

1.mongoDB查询包含某个字段并按时间排序的集合db.getCollection('表名').find({字段名{$exists:true}}).sort({时间:-1})其中1为升序,-1为降序。2.mongoDB查询只包含某个字段的集合db.getCollection('表名').find({"字段名" : "字段值"},{"字段名":1,"字段名":0})启动1显示该字段,0不显示该字段...

2018-04-24 11:07:34 25761

原创 敏捷开发模式几个名词

敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。首先了解下SCRUM的工作流程的几个名词Sprint:一个迭代周期的工作计划。一般需要2-4周时间。Backlog:一个sprint的需求列表,可以看成是小目标的清单。Task:具体小目标的开发任务。Planning Meeting:确定这个迭代周期最终的开发任务和其对应的优先级即Sprint Backlog.Daily meeti...

2018-04-22 08:00:57 3032

原创 1 PlantUML 简介及语法、图标和示例

1.描述和安装程序员难免要经常画流程图,状态图,时序图等。以前经常用 visio 画,经常为矩形画多大,摆放在哪等问题费脑筋。有时候修改文字后,为了较好的显示效果不得不再去修改图形。今天介绍的工具是如何使用 PlantUML 的插件画流程图,状态图,时序图等。这是一种程序员看了就会爱上的画图方式:自然,高效。PlantUML是一个快速创建UML图形的组件,可在Eclipse、Intellijide...

2018-04-10 10:50:55 21923

原创 druid集成实现慢SQL监控

1.Druid不仅是数据库连接池。Druid能够提供强大的监控和扩展功能。2. Maven工程中添加druid依赖包&lt;dependency&gt;          &lt;groupId&gt;com.alibaba&lt;/groupId&gt;          &lt;artifactId&gt;druid&lt;/artifactId&gt;      &lt;/dependenc...

2018-04-10 10:39:44 2659

原创 sonar集成方便开发查看代码质量

1.什么是Sonar?Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变...

2018-04-10 10:34:45 547

原创 设计模式

一.设计模式之命令模式(别名:动作,事务)命令模式是处理一个对象请求调用另一个 方法完成某项任务,请求者不直接和被请求的对象打交道,而是将“请求”封装到命令中,即让命令模式有四种角色1.接受者(Receiver)实例2.命令(Command)接口3.具体命令(ConcreteCommand)实现命令的实例4.请求者(Invoker)包含Command接口的实例UML图2.抽象工厂模式+策略模式根据...

2018-04-09 18:22:59 123

原创 启动springboot jar脚本和jenkins集成gitlab执行execute shell

一. Springboot 启动server.jar 命令 start.shkill -9 `ps ax | grep "server.jar" | grep -v 'grep' | awk '{ print $1; }'`sleep 5export JAVA_HOME=/usr/jdk/jdk1.8.0_111export PATH=$JAVA_HOME/bin:$PATHnohup java...

2018-03-29 15:07:41 986

原创 微服务基础架构

一:微服务的基础设施API网关(api-gateway)、服务注册和发现(Spring Cloud Netflix的Eureka)、统一配置管理(disconfig)、灰度发布、服务调用链追踪、服务监控....二. 架构1.api-gateway2.服务注册发现引入eureka的jar包,启动类中使用EnableEurekaServer注解,在application.yml中配置eureka服务信...

2018-03-29 14:52:02 397

原创 大数据简介、MapReduce和Zookeeper

一.大数据处理的关键技术:大数据采集,大数据预处理,大数据存储及管理,大数据分析及挖掘,大数据展现和应用(大数据检索、大数据可视化、大数据应用和大数据安全等)二.MapReduce是Google提出的一个软件架构,是一种处理海量数据的并行编程模式。Map(映射),Reduce(简化)运行模型如下:两个主要函数:Map:(in_key,in_value) {(keyj,valuej) | j = 1...

2018-03-12 23:19:25 762

原创 Mysql索引、事务隔离级别和优化

1.mysql多索引最左前缀原则从前往后依次使用生效,如果中间某个索引没有使用,那么断点前面的索引部分起作用,断点后面的索引没有起作用select * from table where index1=? and index2=? and index3=?.... 这种三个索引顺序使用中间没有断点,全部发挥作用;select * from table where index1=? and index...

2018-03-10 22:32:39 1349

原创 JVM性能监控和调优

一. JVM的主要调优工具。1.jsp 可以和UNIX的ps对比,查看虚拟机进程2.jstat(JVM Statistics Monitoring Tool)监视各种领命状态的工具【-gc 监视java堆信息,包括Eden区,两个survivor,老年代,永久代,GC时间等】3.jinfo:实时查看和调整虚拟机各项参数。4.jmap:java内存映射工具【可以在虚拟机发生OOM异常之后自动生成du...

2018-03-10 18:41:40 261 1

原创 Java内存模型与线程

一. 线程、主内存和工作内存的交互关系线程对变量的读写都必须在工作内存中进行,而不能直接读写主内存的变量。不同的线程无法访问对方的工作内存,线程间变量值的传递均需要通过主内存来完成。二.内存间交互lock:作用于主内存,把一个变量标示为单独所有unlock:作用于主内存,释放变量read:作用于主内存,把一个变量从主内存传输到线程的工作内存,以便随后的load使用load:作用与工作内存,把rea...

2018-03-08 23:07:56 157

原创 浅析Java反射,多线程和网络技术

一. java 反射1.反射三个特性:运行时生成对象,运行期间调用方法,运行时更改属性。2.java在编译时并不确定是哪个类被加载了,而是在程序运行的时候才加载,探知和使用。3.反射功能:在运行时判断,调用任一个对象,类的方法和属性,常用类【Class类,Field类,Method类,Constructor类】4.反射获取类的信息:常用forName("类完整包名")Class cls = Cla...

2018-03-07 23:00:53 222

原创 JVM虚拟机的加载机制

类加载的时机:类从被加载到虚拟机内存开始,到卸载为止,它的整个生命周期包括:加载(loading),验证(Verification),准备(Preparation),解析(Resolution),初始化(Initialization),使用(Using)和卸载(Unloading)7个阶段。其中验证,准备,解析3个部分统称为链接(Linking)。有5种情况必须对类进行初始化,(加载,验证,准备在...

2018-03-06 22:49:06 148

原创 线程池的使用

1. 无限创建线程的不足:线程生命周期的开销非常高,资源消耗,稳定性。2. Executor框架:基于生产者-消费者的设计,能支持多种不同类型的任务执行策略。3.线程池:通过重用现有的线程而不是创建线程,可以在处理多个请求时分摊在线程创建和销毁过程中产生的巨大开销。另外一个额外的好处是当请求到达时,工作线程已经存在,不会由于等待创建线程而延迟任务的执行,从而提高响应性。可以通过Executors中...

2018-03-06 21:43:55 118

原创 JVM内存区域和垃圾收集器

一. java 虚拟机运行时数据区方法区和堆由所有线程共享的数据区,虚拟机栈、本地方法栈和程序计数器为线程隔离的数据区1.1 程序计数器:JVM中字节码解释器就是通过改变计数器的值来选取下一条指令需要执行的指令、循环、跳转等功能。一个处理器只会执行一条线城中的指令,为了线程切换后能恢复到正确的执行顺序,每个线程都需要一个独立的计数器,我们称这类内存区域为“线程私有”内存。1.2 java虚拟机栈:...

2018-03-05 22:35:30 142

原创 缓存redis使用@Cacheable注解

1. 建立Cacheable注解类@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface Cacheable { String value() default ""; String key() default ""; int expire() default 36...

2018-03-04 15:04:34 8992

原创 记录用户行为logger日志,Aspect打印入参和出参

1. 调用某些方法是有时候要自己方法的入参和出参很麻烦,可以用Aspect做统一日志处理,仅对Class类(注意非接口)使用,在类的方法上加上@ApiOperation 注解如下@ResponseBody@RequestMapping(value = "/url", method = RequestMethod.GET)@ApiOperation(value = "描述", response ...

2018-03-04 14:42:31 3105

原创 机器学习结合大数据for互联网金融风控体系

金融企业的本质就是经营风险,凡是与钱有关的业务必须引起公司领导和开发的高度重视,因为风险太大,做不好直接会造成经济损失1. 金融风险有那些哪?主要包括操作风险,信用风险和市场风险操作风险:由于系统开发人员、系统操作人员的失误或者因为系统存在漏洞造成的风险损失信用风险:借款人拒绝或没钱按时偿还所借的债务,给借钱方造成坏账损失市场风险:受市场价格(利息,汇率,商品价格等)和国家对金融公司的相关政策影响...

2018-03-04 11:32:55 433

原创 电商分布式系统

分布式系统所依赖的基础设施包括服务框架(微服务springBoot SpringClound等)、消息中间件(阿里云MNS等)、分布式缓存系统(redis zookeeper)、持久化存储(关系数据库、nosql数据库)、负载均衡系统(ngnix,阿里云SLB)、运维自动化系统(jenkins,maven,git)、硬件虚拟化及镜像管理系统(阿里云docker容器)、分布式文件系统(springC...

2018-03-04 10:30:39 558

chrome 数据库查询xml类型的字段,浏览器不显示,安装该插件即可获取整列

chrome 数据库查询xml类型的字段,浏览器不显示,安装插件即可获取整列

2019-05-20

一个漂亮的前端弹窗,包含关闭按钮,样式清晰好看,可关闭弹窗

一个漂亮的前端弹窗,包含关闭按钮,样式清晰好看,可关闭弹窗

2018-07-18

maven ,git ,node ,mysql 打包下载

apache-maven-3.5.2 Git-2.8.2-64-bit.exe mysql-5.5.28-winx64.msi node-v8.9.3-x64.msi

2018-04-15

空空如也

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

TA关注的人

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