发表于: 2017-09-19 23:26:30
1 714
【今日完成】
昨天听了老大的课,是专门讲金融行业知识的。笔记如下:
金融行业主要有几块领域:支付,P2P,现金贷,区块链
说明:支付是类似支付宝的,P2P是个人对个人的借贷,现金贷是个人的小额贷款,区块链是比特币那一块
行业知识背景
账户体系:实名认证——————身份证(第三方API接口验证名字与号码,查询一次很贵,2元)
手机号——现在手机号都是实名认证
邮箱
支付分为:
快捷支付
网关支付
实名认证后一般会绑卡
提现:风险大的一步操作,支付宝一般小额是2小时到账,大额审核时间更长。
P2P======人对人
年化率:年化利率是通过产品的固有收益率折现到全年的利率。
借贷一般会定期还利息(一月一次),怕跑路
抵押房产,一般会打折6或8折(为了规避抵押物降价风险)
资金错位,时间错位。
资金池——————>债权预备———>国家不允许做大
有了资金池,可以在无债权的情况下先准备好。一旦有债权,可以立即调用资金。
第三方托管
先有债券,再融资
信息平台不管钱1:发布信息 2:服务——————>借贷双方直接
虽然以上方法看似密不透风,但也要提防虚假标
数字精度
有四位,展示2位
筹款进行中时,利息也是要算的,不然没人会第一个投
第一笔的福利要有,来鼓励第一个投的人
最后一笔保证不超买超卖,一定要控制
金融系统一定一定会有人恶意攻击,所以要安全。也要稳,绝对不能宕机。
=======================================================================================
今天搭建了RMI的DEMO:
首先RMI,必须有服务端与客户端。
下面是服务端的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="serviceExporter" class="org.springframework.remoting.rmi.RmiServiceExporter">
<property name="serviceName" value="ITestMethod" />
<property name="service" ref="Example" />
<property name="serviceInterface" value="Service.ITestMethod" />
<!--<property name="registryPort" value="8080" />-->
<!-- <property name="servicePort" value="8088" />-->
</bean>
<bean id="Example" class="Service.Example" />
</beans>
这是服务端的代码。可以看到这个Demo是以多线程来模拟远程。
当启动服务端,服务端会以一个线程的形式默默的服务。
package core;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class RmiServer {
public static void main(String[] args) throws InterruptedException {
new ClassPathXmlApplicationContext("server.xml");
Object lock = new Object();
synchronized (lock) {
lock.wait();
}
}
}
以下是客户端的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="Example" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<property name="serviceUrl" value="rmi://localhost:1099/ITestMethod" />
<property name="serviceInterface" value="Service.ITestMethod" />
</bean>
</beans>
这是客户端的代码。
可以看到这里是用反射来获取实例,然后调用其方法。
单从代码看,看不出来是本地调用还是远程调用,这说明Spring封装的很好。
package core;
import Service.ITestMethod;
import org.apache.log4j.Logger;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class RmiClient {
private static final Logger LOG = Logger.getLogger(RmiClient.class);
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"client.xml");
ITestMethod testMethod = (ITestMethod) ctx.getBean("Example");
String result = testMethod.sayHi("龚剑飞");
LOG.info(result);
}
}
看看结果:
首先不启动服务端,先启动客户端:
不出意外,报了错,连接被拒绝。
再来试试正常情况:
先启动服务端
端口是1099,正常启动
再在客户端调用方法
打印出了方法返回值,可见调用成功
【今日收获】
听了老大的金融课,对金融行业有了了解
调好了Demo,成功实现了RMI
【明日计划】
明天准备请假
【遇到问题】
无
【任务进度】
无延期风险
还没拆好禅道
评论