- 博客(366)
- 收藏
- 关注
转载 SpringFramework、SpringBoot、SpringCloud的区别
Spring是一个技术生态体系,是集大成者。它包含了Spring Framework、Spring Boot、Spring Cloud等(还包括Spring Cloud data flow、spring data、spring integration、spring batch、spring security、spring hateoas),可以参考链接:https://spring.io/projects 下图为部分内容。Spring Framework是一个一站式轻量级的java开发框架,
2020-12-25 11:11:34
822
原创 数据库脚本管理工具Flyway
写在前面 最近由于项目变更比较大,需要经常修改表结构,然后对应的测试,开发,生产环境数据库均要修改,有时候一不小心就忘记修改某个环境下的数据库了,等出问题才发现表结构没有更新,如果项目还没上线,还可以把表删除了重新创建,但是如果项目已经上线了,就不能这样简单粗暴了,我们需要通过 SQL 脚本在已有数据表的基础上进行升级。鉴于这种情况,于是决定寻找数据库版本控制工具。在Java这部分,对数据库版本控制的主要有两个工具:Flyway Liquibase两个工具各有千秋,但是核心功能都是
2020-12-25 10:08:43
2712
原创 SQL表列解析
POM依赖:<dependencies> <!--DOM4J --> <dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <version>2.1.1</version> </dependency> <dependency> <g.
2020-12-22 14:42:15
514
原创 FeHelper ( 浏览器插件 )
Web开发者助手 FeHelper本插件支持Chrome、Firefox、MS-Edge浏览器,内部工具集持续增加,目前包括 JSON自动/手动格式化、JSON内容比对、代码美化与压缩、信息编解码转换、二维码生成与解码、图片Base64编解码转换、Markdown、 网页油猴、网页取色器、脑图(Xmind)等贴心工具,甚至在目前新版本的FeHelper中,还集成了FH开发者工具, 如果你也想自己搞一个工具集成到FeHelper中,那这一定能满足到你。另外,本站也提供部分工具的在线版本,欢迎使用,欢迎反馈
2020-12-15 16:12:29
2725
2
原创 Caffeine入门
Caffeine使用指南Caffeine基于java8的高性能,接近最优的缓存库。Caffeine提供的内存缓存使用参考Google guava的API。Caffeine是基于Google guava和 ConcurrentLinkedHashMap的设计经验上改进的成果。Caffeine可以通过建造者模式灵活的组合以下特性:通过异步自动加载实体到缓存中 基于大小的回收策略 基于时间的回收策略 自动刷新 key自动封装虚引用 value自动封装弱引用或软引用 实体过期或被删除的...
2020-12-08 22:09:50
1533
转载 Redis高并发和快速的原因
一.Redis的高并发和快速原因1.redis是基于内存的,内存的读写速度非常快;2.redis是单线程的,省去了很多上下文切换线程的时间;3.redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io上浪费一点时间。二.为什么Redis是单线程的1.官方答案因为Redis是基于内存的操作,CPU不是Redis的瓶颈,.
2020-12-08 18:30:01
235
转载 Spring事务实现原理及源码分析
Spring事务实现原理及源码分析流程介绍 主流程介绍 doBegin做了什么 关键对象介绍 PlatformTransactionManager 获取对应的TransactionManager 事务的信息TransactionInfo 当前事务状态TransactionStatus 传播级别 介绍 现象描述 原理 隔离级别对开始事务的影响(获取TransactionStatus) 隔离级别对回滚事务的影响 隔离级别对提交事务的
2020-12-08 18:21:56
424
原创 Redis VS Memcache
Redis 和 Memcache 都是基于内存的数据存储系统。Memcached是高性能分布式内存缓存服务;Redis是一个开源的key-value存储系统。与Memcache类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串、哈希 表、链表、等数据类型的相关操作。下面我们来进行来看一下redis和memcached的区别。权威比较Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:Redis支持服务器端的.
2020-12-08 18:15:08
188
原创 CAP理论中的P含义
一个分布式系统里面,节点组成的网络本来应该是连通的。然而可能因为一些故障,使得有些节点之间不连通了,整个网络就分成了几块区域。数据就散布在了这些不连通的区域中。这就叫分区。当你一个数据项只在一个节点中保存,那么分区出现后,和这个节点不连通的部分就访问不到这个数据了。这时分区就是无法容忍的。提高分区容忍性的办法就是一个数据项复制到多个节点上,那么出现分区之后,这一数据项就可能分布到各个区里。容忍性就提高了。然而,要把数据复制到多个节点,就会带来一致性的问题,就是多个节点上面的数据可能是不一致的。要
2020-12-08 14:57:34
699
原创 基于注解的线程池配置
package com.service.threads;import java.lang.reflect.Method;import java.util.concurrent.Executor;import java.util.concurrent.ThreadPoolExecutor;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.aop.interceptor.Async.
2020-12-04 19:14:47
312
原创 PD,LGD,EAD
PD是Probability of Default的缩写,指:违约概率。LGD是Loss Given Default的缩写,指:违约损失率。EAD是Exposure at Default的缩写,指:违约风险敞口。三者关系计算公式如下:在MM框架下,银行可以采用内部风险计量模型(如蒙特卡洛模拟)估计 EAD。计算逻辑如下 :EAD =α×Effective PD;Effective EPE=EffectiveEE(tk)× △tk (k=1 to min(1 year,maturity);E...
2020-11-29 21:29:47
18996
1
原创 Apollo配置中心
一、简介Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。官方github:https://github.com/ctripcorp/apollo作者对Apollo对介绍:https://github.com/ctripcorp/apollo/wiki/Apollo配置中心介绍二、安装部署基础设施本次部署环境为DEV(开发环境)、FAT
2020-11-22 11:03:55
1261
原创 Docker镜像生成
1 创建 docker file my-dockerfile.txtFROM hub. yun paic. com. cn/vvs/Jdk8: 7#定义需要启动的jar包ENV BASE PATH /opt/tjues/layou#创建copy路径RUN mkdir -p $BASE_PATH#复制到服务器的目录下WORKDIR /opt/tjuesCOPY mypackage.jar $BASE_PATH#运行JAR文件CMD ["java", "-jar","-Xmsl024m",.
2020-11-21 19:33:25
221
原创 Fama-French三因子模型
1,Fama-French三因子模型的由来首先,马科维茨1952年发表了《投资组合选择》,开创了现代投资组合理论。他提出了“均值-方差”模型,认为要想使投资者的效用达到最大,必须满足以下条件:当风险(方差)相同的时候,获得最高的收益率;或者是在获得的收益一定的情况下,风险最小。因此在构建投资组合的时候应该使每个资产之间的协方差降至最小。然后威廉夏普和约翰林纳提出了资本资产定价模型。,其中这一模型中,E(Ri)为投资组合的预期收益率,Rf为无风险收益率,E(Rm)为市场预期收益率,βi为系统风险系数.
2020-10-13 00:54:01
23318
1
原创 贝塔系数计算
贝塔系数的计算贝塔系数利bai用回归的方法计算。贝塔系du数为1即证券的价格与市场一同变zhi动。贝塔系数高于1即证券价格比总体市场更波动。贝塔系数低于1(大于0)即证券价格的波动性比市场为低。贝塔系数的计算公式公式为:其中Cov(ra,rm)是证券a的收益与市场收益的协方差;是市场收益的方差。因为:Cov(ra,rm) = ρamσaσm所以公式也可以写成:其中ρam为证券a与市场的相关系数,相关系数计算公式:ρ(a,m)=Cov(a,m)/(σaσm);σ...
2020-10-12 22:57:11
5865
原创 求导公式
y=c(c为常数bai) y'=0y=x^n y'=nx^(n-1)y=a^x y'=a^xlnay=e^x y'=e^xy=logax y'=logae/xy=lnx y'=1/xy=sinx y'=cosxy=cosx y'=-sinxy=tanx y'=1/cos^2xy=cotx y'=-1/sin^2xy=arcsinx y'=1/√1-x^2y=arccosx y'=-1/√1-x^2y=arctanx y'=1/1+x^2y=arcco...
2020-07-26 10:54:09
1543
原创 均值 VS 方差 VS 标准差 VS 协方差
学过概率统计的孩子都知道,统计里最基本的概念就是样本的均值,方差,或者再加个标准差。首先我们给你一个含有n个样本的集合,依次给出这些概念的公式描述,这些高中学过数学的孩子都应该知道吧,一带而过。很显然,均值描述的是样本集合的中间点,它告诉我们的信息是很有限的,而标准差给我们描述的则是样本集合的各个样本点到均值的距离之平均。以这两个集合为例,[0,8,12,20]和[8,9,11,12],两个集合的均值都是10,但显然两个集合差别是很大的,计算两者的标准差,前者是8.3,后者是1.8,显然后者较为集中
2020-07-26 10:49:17
562
原创 项目maven发布配置
mvn install会将项目生成的构件安装到本地Maven仓库,mvn deploy用来将项目生成的构件分发到远程Maven仓库。本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件。我们需要配置POM的distributionManagement来指定Maven分发构件的位置,如下:Xml代码<project>...<distributionManagement>...
2020-07-10 10:32:12
200
原创 使用 ResponseBodyAdvice 拦截Controller方法默认返回参数,统一处理返回值/响应体
使用@ControllerAdvice&ResponseBodyAdvice拦截Controller方法默认返回参数,统一处理返回值/响应体1、Controller代码以下是Controller查询方法源码:/*** controller** @author yclimb* @date 2018/6/29.*/@RestController@RequestMapping("/manage/user")public class TestController...
2020-05-27 23:07:59
934
原创 ES VS influxdb
简介最近一直在使用ES,之前也使用过influxdb。使用过程中两者在某些功能上有些类似。所以这里对两者一些区别和功能进行整理。已更好了解这两者工具。ES和influxdb介绍ES是一个基于lucence的实时搜索服务器,本身是一个应用。没有UI管理界面。支持restful格式http接口来操作和展示界面,数据展示依靠Kibana。influxdb开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。自带管理界面,界面自带简单的图表
2020-05-27 22:59:15
1947
原创 clickHouse数据库
ClickHouse是一个面向联机分析处理(OLAP)的开源的面向列式存储的DBMS,简称CK, 与Hadoop, Spark相比,ClickHouse很轻量级,由俄罗斯第一大搜索引擎Yandex于2016年6月发布, 开发语言为C++ClickHouse的特点:开源的列存储数据库管理系统,支持线性扩展,简单方便,高可靠性,容错跑分快:比Vertica快5倍,比Hive快279倍,比MySQL快800倍,其可处理的数据级别已达到10亿级别功能多:支持数据统计分析各种场景,支持类SQL查询,异
2020-05-27 22:53:11
669
原创 java.io.IOException: Broken pipe
先了解一下 java.io.IOException: Broken pipepipe是管道的意思,管道里面是数据流,通常是从文件或网络套接字读取的数据。 当该管道从另一端突然关闭时,会发生数据突然中断,即是broken场景:我们平台(简称A)调用其他小组平台(简称B平台)调用方式:httpclient post请求问题:A调用B平台接口,B平台接口正常执行,但是返回结果很忽快忽慢(可能是他们接口原因),慢的时候可能***10分钟***都没有响应时间。导致结果:在并发量大的情况下A平台的该接
2020-05-08 21:39:57
1252
原创 VaR如何计算?VaR计算方法
VaR的计算方法通常有三大类:分析法、历史模拟法和蒙特卡罗模拟法,这3种方法从不同角度来分析资产的风险价值。后面的案例中将对股指期货交易中金的最大损失值进行计算,即对金的VaR值进行估计。1、分析法分析法是VaR计算中最为常用的方法,此种方法首先要清楚资产价格服从的分布特征,分析法的不足是假定正态分布的准确性和可信性,其优点是简化、VaR繁重的运算负担,为普通投资者和管理者提供...
2020-04-23 22:41:10
43059
1
原创 Spring RedisTemplate 批量获取值
1、利用mGetList<String> keys = new ArrayList<>();//初始keysList<YourObject> list = this.redisTemplate.opsForValue().multiGet(keys);2、利用PipeLineList<YourObject> list = this.redi...
2020-04-19 10:16:59
2345
原创 SpringCloud Feign参数问题及解决方法
这篇文章主要介绍了SpringCloud Feign参数问题及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下今天遇到使用Feign调用微服务,传递参数时遇到几个问题1.无参数以GET方式请求服务提供者 1 2 3 4 @RequestMapping("/hello")...
2020-04-15 22:33:13
1784
转载 java实现二维码的生成与解析
之前在做一个小项目的时候,用到了二维码技术,我同学看到我的项目后就问我怎么做到的,我一时半会也说不清,于是就想写一篇文章简单介绍一下二维码技术,下次再有同学问到,我就直接给他看我的博客就好了,哈哈。废话不多说,咱们开始吧,开始之前还是先给大家看看我在实际应用中的效果,如下图:简单介绍下二维码:二维码其实就是一种编码技术,只是这种编码技术是用在图片上了,将给定的一些文字,数字转换为一张经...
2020-02-15 12:31:56
750
原创 k8s安装traefik作为ingress
一、先来介绍下IngressIngress 这个东西是 1.2 后才出现的,通过 Ingress 用户可以实现使用 nginx 等开源的反向代理负载均衡器实现对外暴露服务,以下详细说一下 Ingress,毕竟 traefik 用的就是 Ingress使用 Ingress 时一般会有三个组件: 反向代理负载均衡器 Ingress Controller Ingre...
2019-12-21 17:35:55
1033
原创 spring boot mybatis datasource配置
一、加载mybatis的配置1、手写配置,写死在代码里 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...
2019-12-11 00:07:29
1859
转载 Ignite简介以及和Coherence、Gemfire、Redis等的比较
1.Ignite简介Apache Ignite 内存数据组织框架是一个高性能、集成化和分布式的内存计算和事务平台,用于大规模的数据集处理,比传统的基于磁盘或闪存的技术具有更高的性能,同时他还为应用和不同的数据源之间提供高性能、分布式内存中数据组织管理的功能。2.Ignite历史Ignite来源于尼基塔·伊万诺夫于2007年创建的GridGain系统公司开发的GridGain软件,...
2019-11-11 21:57:07
2614
原创 Ignite VS Redis
测试方法为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像。测试方法很简单主要是下面几点:不作参数优化,默认配置进行测试 在一台linux服务器上部署Ignite服务端,然后自己的笔记本作客户端 按1,10,20,50,100,200线程进行测试测试环境说明服务器:[09:36:56] ...
2019-11-11 21:51:36
3459
2
原创 Mycat注解
注解原理概念:MyCat对自身不支持的Sql语句提供了一种解决方案——在要执行的SQL语句前添加额外的一段由注解SQL组织的代码,这样Sql就能正确执行,这段代码称之为“注解”。注解的使用相当于对mycat不支持的sql语句做了一层透明代理转发,直接交给目标的数据节点进行sql语句执行,其中注解SQL用于确定最终执行SQL的数据节点。注解的形式是:/*!mycat: sql=注解Sq...
2019-10-14 11:08:26
267
转载 Mybatis拦截实现查询sql统一处理
1、实现拦截接口Mybatis提供了拦截接口,可通过实现该接口,配合springMVC的配置,完成sql拦截。import java.util.Properties;import org.apache.ibatis.executor.Executor;import org.apache.ibatis.mapping.MappedStatement;import org.apac...
2019-10-12 16:47:41
2249
原创 PDF解析
iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText的安装非常方便,在http://itextpdf.com/网站上下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,...
2019-09-27 09:09:47
928
原创 Java数据源动态切换实现
1 复写JDBC框架数据路由服务package com.datasoure.mybatis;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import javax.annotation.PostConstruct;import javax.sql.DataSource;impo...
2019-09-01 11:46:43
1367
原创 Spring @Async的异常处理
楼主在前面的2篇文章中,分别介绍了Java子线程中通用的异常处理,以及Spring web应用中的异常处理。链接如下:Java子线程中的异常处理(通用)Spring web引用中的异常处理今天,要写的是被Spring @Async注解的方法中的异常处理方法。通常,如果我们要在程序中做一个耗时的操作(例如调用其他外部模块),一般会通过异步的方式执行。有这2种方法:自行生成线程...
2019-08-30 23:45:59
589
2
原创 Spring AOP 中@Pointcut的用法
格式:execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern)throws-pattern?)括号中各个pattern分别表示:修饰符匹配(modifier-pattern?) 返回值匹配(ret-type-pattern)可以为*表示任何返回值...
2019-08-30 23:39:48
243
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人