自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 金融英语--Financing

1.assert type :资产类型2.lp :有限合伙人,资本方3.FIFO:先进先出4.for delivery:交付5.security type:证券类型6.fixing date:固定日,基准日7.maturity: 到期8.expiry:到期expiry date是金融产品的有效期。Maturity Date到期日期借贷方向投资者偿付债券本金或其他债务的日期,也是停止支付利息的日子。9.premium:额外费用10.underlying:潜在的 underlyingFin

2020-11-26 16:50:14 495

原创 CFD开发过程中对业务理解的偏差

NOP distribution页面,broker的NOP应按house角度查看,当前total broker NOP列仍是broker角度2、删除了需要roll的trade,重新点击compute NOP:1)没有弹出无需roll的提示,请与前端确认返回格式,显示内容应为:"No index NOP needs to rollover.”2)NOP distribution页面的数据仍然在,没有清空3、download下来的rate template中,CFD markup的值取的不对4、rat

2020-07-30 09:44:16 268

原创 giveOut 迁移总结

一.初识需求阶段2020.0528周四接到需求确定好需求,同时明白该在哪里改,这是第一步,但在此时,实际上我是没有理解到底所谓的实时指的是什么,这也是这项功能里最大的难点。问vic:1.新加一种类型的clientAccount2.对于这种类型的account,所有的trade在verify的时候会去生成一笔相反的trade和tradeEntry(如果新系统也是这样的)分析: 因为已经实现过一遍了,所以在实现的思路上基本是没有什么问题,所拆解的两步也非常合理,所得到的答案也让我在熟悉新系统时非常

2020-06-17 14:32:13 177

原创 mac 下解决端口占用问题

lsof -i tcp:9028

2020-06-09 16:47:50 131

原创 maven管理--选用本地已下载的jar来构建项目

在maven-runner里对vm options做配置:-DarchetypeCatalog=internal

2020-05-31 15:59:45 88

原创 kafka消息避免重复消费--通过uuid来实现

在什么情况下会出现消息重复消费?一般来说,重复消费会在两种情况下出现。1.消息在发往a机器后,再次发往b机器,导致消费两次。2.消息往a机器发两次。怎么处理?对于第一种情况,只需要根据数据的特点做对应的分区即可,保证该类型的消息只会往a机器发送KafkaListSender<Journal> sender = new KafkaListSender<>(KafkaTopicConfig.getTopic(companyId, KafkaTopicConfig.TopicK

2020-05-19 15:47:27 1155

原创 从零深入多线程--线程的基础操作1

线程基本概念进程:后台每一个exe程序就是进程线程:进程中对立运行的子任务,比如qq里同时又聊天,视频,下载,就是三种线程,具体的数量不同,线程的数量也不同。多线程的优势:在不同的任务间切换可以提高cpu的利用率线程启动...

2020-05-16 17:51:46 74

原创 java里实体类的命名方式(VO,BO,PO)

VO(value object) 值对象通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。BO(business object) 业务对象从业务模型的角度看,见UML元件领域模型中的领域对象。封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。PO(persistant object) 持久对象在o/r映射的时候出现的概念,如果没有o/r映射,没有

2020-05-09 14:16:11 3267

原创 问题解决---切换到新项目,前一个月的难题

1.分布式项目,common包没有更新。

2020-05-09 14:09:02 82

原创 初识stunnel

是一款可以加密网络数据的TCP连接这是互联网金融公司为了保障数据安全所做的一项工作:在数据的收发双方都搭建stunnel,对所传输数据加密,保障数据安全。加密过程:它采用Client/Server模式,将Client端的网络数据采用SSL(Secure Sockets Layer)加密后,安全的传输到指定的Server端再进行解密还原,然后再发送到访问的服务器。在加密传输过程中,可充分确保数据的安全性,我们只要把Server端程序安装在局域网外面的一台服务器上,即可保证传输的数据在局域网内是安全的。

2020-05-09 10:25:54 489

原创 重读需求文档--为什么最开始我表现得特别菜?

eodRatea. The current FX EOD rate page will have to include the new CFDs products so that Ops can import the CFD EOD rate into Falcon.b. Ops should also be able to manually add the EOD rate for CFD ...

2020-05-08 14:11:20 291

原创 如何快速从fastjason快速转换到jackson

我对fastjason的两种用法:JSON.toJSONStringJSON.parseObject自己的JasonUtil工具栏public class JsonUtil {public static final ObjectMapper MAPPER = new ObjectMapper();public static String toJson(Object o) { ...

2020-05-07 14:19:31 287

原创 线上问题解决--如何从一堆数据中将一条错误数据筛选出来

第一步:问题的定性。问题出在哪里,客户表示缺失了一条rule,但这条rule本身就不应该存在,它所对应的数据就不存在。 由此得到,问题出在了数据计算上。第二步:问题细化。数据计算理论上来说不会有大问题,因为包括测试和uat,再加上prod,前前后后得有三个月,都没出问题的情况下,突然跟我说数据有问题,我也不知道该从什么地方下手,但可以做的是从错误的数据开始,倒推到源头,看是哪个...

2020-05-07 13:46:17 644

原创 并发编程--思路梳理

学习任何一种知识都是要有一定体系的,并发编程就知识量来说,完全可以自成一体,没有一本好的书来作为老师,肯定是不行的。我选择了四本《Java多线程编程核心技术》,《实战Java高并发程序设计》,《Java并发编程的艺术》,《Java并发编程实战(中文版)》。首先,梳理一下,自己接触过哪些与线程相关的东西。runnable接口和Thread类(Thread实现了Runnable,提供了一些方法和...

2020-04-27 19:31:48 130

原创 阿里java开发手册-泰山版--阅读摘记(工程结构和设计规约)

应用分层分层处理异常二方库依赖升级:到底在代码层面要变多少,在git上的变更还不够吗服务器设计规约我觉得很合理,但基本没人这么干比如系统里的roll过程时序图。。。烦,除了源码,我完全不想碰...

2020-04-26 19:00:17 352

原创 阿里java开发手册-泰山版--阅读摘记(数据库)

建表规约我基本上都采用了string,仔细想想,性能不好。索引规约唯一索引的建立,只要是合理的,不要嫌多很可惜,我的varchar基本都在2,30左右SQL1,*,列名。前两者基本一样,都会在运行过程中自己去做优化。ORM映射如果没有SQL,或者是自动生成的SQL,也是一样的,当然实体类的字段上必须做映射越来越感觉这种自动生成的SQL真的好用不...

2020-04-26 18:36:47 168

原创 阿里java开发手册-泰山版--阅读摘记(测试和安全规约)

单元测试如果是面向大众开放的软件,必须要符合如下规定当然,大部分代码并不符合,往往只是符合一部分条件即可设定回滚机制,都已经进入了数据库,还回滚?部署很理解,测试环境不都是随便造吗个人觉得,测试这一块,还是可以的,虽然依赖繁多,但基本上都可以用xml的配置来解决安全规约这是设计层面的问题吧sql注入会在什么情况下遇到,硬编码,如果是占位符,还有对象的话,基本不会出现...

2020-04-26 17:47:48 138

原创 阿里java开发手册-泰山版--阅读摘记(异常日志)

异常处理方法的调用者有义务对黑盒的结果做审查optional.of有些框架继承了log4j?会将我们自己的日志做二次打印?不要输出无效日志,不要输出错误级别的日志说明:大量地输出无效日志,不利于系统性能提升,也不利于快速定位错误点。记录日志时请思考:这些日志真的有人看吗?看到这条日志你能做什么?能不能给问题排查带来好处?日志输出的时候注意结合其他同事的习惯,譬如我司只输出e...

2020-04-26 17:18:31 105

原创 阿里java开发手册-泰山版--阅读摘记(编程规约2)

日期时间集合处理hashcode方法实际上是在根据对象的地址和字段的属性值来获得一个映射值----散列值,equals也是在比较这个散列值优秀的代码stream操作转换为map时需要注意这个我还没碰着过,基本是都是基于value定制化的key,很少有key有但value没有的情况,但确实存在多线程的情况吗,目前没有想到这种场景这个我用过,但实际上使用的时候都是在做一个拼...

2020-04-26 16:41:13 164

原创 双重锁单例模式

不忘初心,思考梦开始的地方普通的懒汉式和饿汉式都不用管简单实现一下线程安全的方式public class Singleton { private static Singleton instance; private Singleton() { } // 线程安全的懒汉模式 public synchronize...

2020-04-26 14:26:20 685

原创 java8--Supplier

作用:实例化对象,基本可以看做工厂类,自己的类写起来比较麻烦,但对于string等原生的类就比较好用了。Supplier<Optional<String>> supplier supplier.get().ifPresent(....)()->Optional<String>Optional.of("RATE"+ "#"+ ...

2020-04-26 10:01:07 106

原创 阿里java开发手册-泰山版--阅读摘记(编程规约1)

1.命名风格abstract 通常用于业务逻辑类,base则是实体类,VO类我在之前的业务中好像有这么干过,仔细找了一下,发现好像是未遂。。。private boolean notExecutionOnly=true;这里实际上在说三种情况:1.普通方法命名太过简单,直接写为get/set,如果类里有字段,可能会造成误读。2.一个方法里的两个if(局部代码块)里面,局部变量在命名时不...

2020-04-24 17:10:04 257

原创 我不理解的多线程技巧

该不会真的有人以为使用了锁就能高枕无忧了吧以下案例是在一个公共方法里的设计,功能是从redis里获取数据,显然该方法会在多线程的情况下使用到,这里采用了一个设计,我不是很理解。rate = (Double) eodRateLocalCache.get(cacheKey+"#"+EodContex.EOD_BEGIN_TIME.get());这里的get方法是在干嘛?获取当前线程?不是,这里...

2020-04-24 15:25:29 112

原创 理解CountDownLatch(闭锁)的几种使用方式

1.原理CountDownLatch是Spring框架中原生的一个同步辅助类,它允许一个或多个线程一直等待直到其他线程执行完毕才开始执行。计数器通过使用锁(共享锁、排它锁)实现。并行的过程概述,被加锁的往往是一个很长的方法,方法里每一个唯一资源(单例对象,final对象)都是一个wait点,每次只能让一个跑,这个跑过去后会继续跑几步,然后断点就会回到下一个,即新的线程就开始跑了2.使用概述...

2020-04-24 09:47:57 1330

原创 一次很简单的代码优化--lamda的使用与不用

这里我使用了4次lamda来完成一项很简单的功能//将F40USD,F40SGD,转换为F40EUR因为F40EUR需要作为最终的输出不难看出,下面代码最大的问题就是挤在一堆,没有层次感,这也是lamda表达式的特点,大多数时候是优点(快)。处理ifelse比较多的时候就不要去用了 newError=error.stream().filter(s -> !t0CurrencySy...

2020-04-23 17:45:23 127

原创 java网络编程初探

首先理解一个基本设计:当一个方法使用不仅仅是在一个类,就需要考虑到一个很简单的设计。如果涉及到多种变化,实现之前的差别很大,接口是一个非常好的选择,接口使用地好能极大程度上减少ifelse的使用。如果各个组件之前完全平行,这个时候抽象出一个父类,也是很实用的,父类最大的优点在于,实现已经写好了,直接用就行(关键点就在于变与不变的比例到底有多少)。比如以下代码:AbstractStatem...

2020-04-21 19:49:04 86

原创 从架构上来理解redis缓存和本地缓存的关系

redis缓存和本地缓存混用是一种非常实用的实践方式。优点:极大地降低了redis的读写频率,特别是处理特别耗时的业务逻辑(大于1分钟)。缺点:会产生一定的延时,这个延时具体的影响将会根据业务的差别而定。一般来说,如果不涉及金钱交易,那可以防止99%以上的问题,就算是成功了。问题:在什么情况下会频繁出问题。本地缓存时间设置为15分钟。。。有病吧除了某些模块,可能业务处理确实需要5分钟以上...

2020-04-21 10:18:41 2856

原创 业务梳理--故障解决

一.integral1.1:TradeCapture duplication解决方案:每一条通过integral进入的trade,17(ExecID)属性是唯一的,把这个属性改一下就不会出现这个问题了二.journal–cashBalance2.1:cashBalance里面的数据缺了financing feecashBalance是在earth模块里生成的,里面的初始数据是postin...

2020-04-03 16:47:46 239

原创 compartor的简单使用

用于排序private static final String Format = "%d %s"; private final Comparator<FXAccount> FXAccountComparator = (a1, a2) -> { FXAccount defaultFxPbAccount = getDefaultFxPbAccount();...

2020-03-30 14:48:06 166

原创 集合工具栏的使用

同一个key下挂载多个对象:ArrayListMultimap<String, PLPosition> plPositionMap = MapUtil.toMultimap(plPositions, position -> {return position.getContractDesc();});

2020-03-27 17:29:59 91

原创 linux下命令的快捷使用

sudo cp src/redis-cli /usr/local/bin/将各个应用中的指令复制到快捷目录下

2020-03-21 15:03:35 47

原创 缓存问题--栈堆分析

如果有缓存,就不要对数据进行重复行操作,否则该缓存因为一直不会被销毁(因为一直有被引用到),会让人很崩溃的.原理:常见的对象的地址会放在堆空间,如果是局部变量,在使用完之后就会被销毁掉,在前端不断传入重复行操作时也不会出问题.这次的现象是,本来我只是在缓存方法的外面将拿到的数据的值放大了一百倍,理论上来说跟被缓存对象已经没有关系,但实际上这个值在随着被前端调用的次数成线性级迅速膨胀.根源就...

2020-03-14 17:59:59 89

原创 问题解决---特殊模块的部署思路

问题描述:项目里有一个模块无法启动,而且在代码里可以看到,报错信息与真实的代码逻辑有出入–最终读取的文件名为是initiator而不是application.yml.猜想:在jekins部署时,将参数传入,做了对应的修改,因此只需要跟运维对接即可排查到第一次尝试:部署时发现运维对这个参数也不了解,同时在jekins上无法找到,修改里jekins部署配置与其他机器完全相同后问题还是存在....

2020-02-27 12:00:17 140

原创 velocity模板引擎学习

一、集成 <dependency> 2 <groupId>org.apache.velocity</groupId> 3 <artifactId>velocity</artifactId> 4 <version>1.7</version&g...

2020-02-26 10:32:31 135

原创 文件上传下载--动态数据的填充与解析

参考资料:(我在写的时候加入了当前项目里前任的用法)https://www.cnblogs.com/janson071/p/10119935.html返回值:return new ResponseEntity<>(bytes, headers, HttpStatus.CREATED);构造器--org.springframework.httppublic ResponseEn...

2020-02-25 16:28:19 129

原创 解决一个思维惯性问题

在项目里面,常见的insert语句是mybatis自动生成的,我在使用过程中除了小部分也直接看到里手写的语句,大部分还是自动生成的.在一次需求中,消息的发送是正常的,但消息的消费端出里问题,我仔细看了看,并咩有找到改变我字段的逻辑,最后发现这里的持久层是手写的sql,而不是自动生成的,所以字段上加的注解没有起到作用。...

2020-02-25 10:35:20 151

原创 分支管理经验---需求开发的分支选择

原则:实现当前的功能选择版本比较低的代码作为开发的基础会更合适理由:你并不能确定哪个需求会先上,如果出现冲突,你能做的只有手动将要上的代码加到新分支里去.分支和tag的选择分支用于开发,要一眼就能看出来对应哪个需求tag用于版本部署,时间作为tag的名称是比较合适的....

2020-02-24 14:29:13 359

原创 数据结构与算法——3从简单的迭代讨论时间复杂度

不好的算法f(n)=f(n-1)+f(n-2) 复杂度在于方法的调用次数2^n好的算法-----显然,还可以用公式进行表示,复杂度为O(1).时间复杂度估算程序指令的执行次数(假设每个指令的执行时间上一样的!!)在估算时.不考虑逻辑判断然后去分析代码里的执行次数----log2(n),3n+1忽略常数---O(1)系数---O(n)对数阶都是---O(log(n)) ...

2020-02-24 09:10:31 1247

原创 数据结构与算法——2课程规划

step1——学习常见经典的数据结构:二叉树、哈希表、triestep2——学习更高级的数据结构:并查集、图、跳表、排序、KMP、贪心、分治.step3——leetcode算法真题...

2020-02-23 14:45:18 102

原创 数据结构与算法——1为什么要学习数据结构与算法

一个问题数据结构与算法到底用在哪里:在平时开发,在整个项目阶段都用不到?用在面试,大型企业一定会面试到数据结构与算法.这基本可以代表一个程序员的潜力.不用数据结构与算法的根本原因在于大量的第三方工具和底层框架--这里有大量的算法.海量用户与数据的处理一定会涉及到数据结构与算法--这正是大公司的需求.学习数据结构的好处写出性能更加优秀的代码快速学习新技术--大数据--人工智能--v...

2020-02-23 14:31:39 131

空空如也

空空如也

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

TA关注的人

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