自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 序列化和反序列化

序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送;发送方需要把这个类型数据(对象)转换为二进制字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。而我们进行跨平台存储和网络传输的方式就是IO,而我们的IO支持的数据格式就是字节数组。

2024-03-05 15:41:45 1023

原创 工作,成长,人生

选择和努力哪个重要?肯定选择呀。

2024-02-16 22:39:57 949

原创 IO流总结

从计算机结构的视角来看的话, I/O 描述了计算机系统与外部设备之间通信的过程。我们再先从应用程序的角度来解读一下 I/O。根据大学里学到的操作系统相关的知识:为了保证操作系统的稳定性和安全性,一个进程的地址空间划分为 用户空间(User space) 和内核空间(Kernel space )。平常运行的应用程序都是运行在用户空间,只有内核空间才能进行系统态级别的资源有关的操作,比如如文件管理、进程通信、内存管理等等。也就是说,我们想要进行 IO 操作,一定是要依赖内核空间的能力。

2024-02-03 00:04:59 882

原创 Redis

键-值存储数据库是一种数据库类型,其中数据以键值对的形式进行存储和访问。每个键都是唯一的,通过键可以快速检索和获取对应的值。这种存储模型类似于字典或哈希表,它提供了快速的读写访问,并且通常具有良好的扩展性和高性能。简单性:键-值存储数据库的数据模型相对简单,只需要存储键和对应的值即可,没有复杂的关系模型或结构。高性能:由于数据存储在内存中,键-值存储数据库通常具有快速的读写性能,并可以提供低延迟的数据访问。

2024-02-02 17:22:28 932

原创 01_java基础

*Java虚拟机(JVM)**是Java编程语言的关键组成部分之一,它是一个在计算机上运行Java字节码的虚拟机。JVM充当了Java程序和底层操作系统之间的中间层,提供了一种独立于硬件和操作系统的执行环境。字节码与平台无关:Java源代码在经过编译器编译后,会生成字节码文件(以.class为扩展名),而不是特定平台的机器码。这些字节码是一种与具体硬件和操作系统无关的中间代码。Java虚拟机负责将字节码解释成底层机器码并执行,因此同一份字节码可以在任何装有相应版本JVM的机器上运行。

2024-02-02 16:55:06 596

原创 01_1_java基础补充

静态变量可以被类的所有实例共享。无论⼀个类创建了多少个对象,它们都共享同⼀份静态变量。通常情况下,静态变量会被 final 关键字修饰成为常量。这个关键字很特殊,既属于程序控制,也属于类,方法和变量修饰符,还属于访问控制。2.字节码面向jvm虚拟机(.class文件)1.jvm虚拟机+jdk编译程序+jre运行。3.java语言=编译型+解释型共存。

2024-02-01 23:33:27 925

原创 分布式商城项目

⼀、《锋迷商城》项⽬介绍1.1 项⽬功能https://www.processon.com/view/link/606bde8b1e08534321fd21031.2 技术清单项⽬架构:前后端分离前端技术:vue、axios、妹⼦UI、layui、bootstrap后端技术:SpringBoot+MyBatis、RESTful、swagger服务器搭建:Linux、Nginx⼆、项⽬架构的演进分布式基于redis实现 分布式锁分布式数据库mycatredis集群数据库中间件消

2024-01-28 23:30:52 3100

原创 RESTful

SpringMVC 对 RESTful ⻛格提供了很好的⽀持,在我们定义⼀个接⼝的 URL 时,可以通过 @RequestMapping(value=“/{id}”,method=RequestMethod.GET)形式指定请求⽅式,也可使⽤特定请求⽅式的注解设定 URL。是⼀种 Web api 的标准,也就是⼀种 url 设计⻛格 / 规范。每个URL请求路径代表服务器上的唯⼀资源。使⽤不同的请求⽅式表示不同的操作。

2024-01-28 17:42:54 362

原创 生产环境搭建和部署

在apollo目录下新建apollo-configservice目录,从课件中拷贝相关文件进来(jar+zip+Dockerfile)在apollo目录下新建apollo-adminservice目录,从课件中拷贝相关文件进来(jar+zip+Dockerfile)在apollo目录下新建apollo-portal目录,从课件中拷贝相关文件进来(jar+zip+Dockerfile)自己编写或从课件中找到Dockerfile文件并像上图一样复制到对应目录中。

2024-01-24 09:59:52 1267

原创 项目分层/分包总结

(1)继承 BaseMapper,BaseMapper 接口是 MyBatis Plus 提供的通用 Mapper 接口,用于执行常用的 CRUD 操作,包括插入、更新、删除和查询等操作,继承该接口后,能够自动获得数据库常用操作的方法,而不用在mapper内编写。存放数据库函数,与DAO层中的方法映射,可通过终端命令生成,也可自行编写(工作量较大),在调用DAO方法则会实际执行mapper层对应的数据库方法,是对数据库curd的接口桥梁,同时也需要增加mapper扫描以完成识别。DVO/VO 返回对象包。

2024-01-23 23:17:49 1045

原创 09_充值/提现

在用户中心定义生成充值数据接口:1、接口描述​ 1)接收用户填写的充值数据​ 2)用户中心保存充值信息​ 3)请求存管代理生成签名数据​ 4)将签名数据返回给前端2、接口定义/*** 生成充值请求数据* @param amount 充值金额* @param callbackURL 回调地址* @return*/@Override@ApiOperation("生成充值请求数据")

2024-01-21 18:50:21 1367

原创 七牛云作为文件存储源使用文件服务

文件服务是我们抽取出来的专门用于处理文件上传、下载的微服务,可以为万信金融P2P项目的各个业务模块提供文件服务。该服务默认采用七牛云作为文件存储源,将来也会和百度云、阿里云做对接,成为一个通用的、独立的文件微服务。

2024-01-21 18:35:57 495

原创 身份认证API

用户中心请求百度AI识别身份证,在用户中心定义识别身份证照片接口:1、接口描述如下1)前端提交身份证照片到用户中心2)用户中心请求百度AI进行身份证识别3)百度AI返回识别结果给用户中心4)用户中心响应前端返回识别结果2、接口定义如下/*** 提交身份证图片给百度AI进行识别* @param file 被上传的文件* @param flag 身份证正反面 取值front 或 back* @return Map集合 识别成功后把身份证上的姓名和身份证号存到map中返回*/

2024-01-21 18:27:28 951

原创 08_用户还款

满标放款审核通过后,就意味着交易已经达成。借款人以后就需要按照借款时约定的还款方式,在还款日当天将应还本息通过平台归还给投资人,这叫用户还款。借款人应该在临近还款日时,把应还的金额充值到平台账户中,平台在还款日当天会自动进行扣款。1 、接口描述根据日期查询所有到期的还款计划2 、接口定义/*** 查询到期还款计划* @param date 格式为:yyyy-MM-dd* @return。

2024-01-19 00:34:08 818

原创 Elastic-Job分布式任务调度

当前软件的架构已经开始向分布式架构转变,将单体结构拆分为若干服务,服务之间通过网络交互来完成业务处理。在分布式架构下,一个服务往往会部署多个实例来运行我们的业务,如果在这种分布式系统环境下运行任务调度,我们称之为分布式任务调度。将任务调度程序分布式构建,这样就可以具有分布式系统的特点,并且提高任务的调度处理能力:1、并行任务调度并行任务调度实现靠多线程,如果有大量任务需要调度,此时光靠多线程就会有瓶颈了,因为一台计算机CPU的处理能力是有限的。

2024-01-19 00:25:53 1664

原创 07_投标放款

1 、接口描述1 )根据标的id查询标的信息2 )获取标的剩余可投额度3 )获取标的已投记录数2 、接口定义/*** 通过ids获取多个标的* @return@Override@ApiOperation("通过ids获取多个标的")在交易中心定义保存投标信息接口:1 、接口描述1 )接受用户填写的投标信息2 )交易中心校验投资金额是否符合平台允许最小投资金额3 )校验用户余额是否大于投资金额4 )校验投资金额是否小于等于标的可投金额。

2024-01-19 00:22:06 542

原创 06_发标/快速检索

在wanxinp2p-api工程中新建一个transaction包,在该包中定义一个TransactionApi接口,在该接口中定义一个发标的方法:/*** <P>* 交易中心服务API* </p>/*** 借款人发标* @return在wanxinp2p-transaction-service工程中,定义TransactionController类实现createProject方法:@Api(value = "交易中心服务", tags = "transaction")

2024-01-18 19:01:58 980

原创 分布式分库分表

Sharding-JDBC可以进行分库分表,同时又可以解决分库分表带来的问题,它的核心功能是:数据分片和读写分离。

2024-01-18 18:01:48 1283

原创 分布式事务总结

​ 通过上面我们已经学习了CAP理论的相关知识,CAP是一个已经被证实的理论:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容忍性(Partition tolerance)这三项中的两项。它可以作为我们进行架构设计、技术选型的考量标准。

2024-01-18 17:46:10 2728

原创 UAA+JWT实现登录

​ UAA服务是P2P平台中的统一认证中心,集认证和授权功能于一身,采用Spring Security整合OAuth2.0实现**授权服务器(认证服务器)**角色,同时使用JWT令牌技术来存储和传递用户信息。UAA服务中的Spring Security相关配置和代码最为基础设施直接提供给大家,不再讲解。我们重点关注以下两个功能:​(1)UAA服务给接入方提供了用户认证并返回令牌的接口。​(2)UAA服务在认证过程中,它需要调用统一账号服务来完成c端以及b端用户的实际验证。

2024-01-18 17:37:12 2110

原创 0.3门槛系统总结SpringCloud+SSM(一文搞清)

wanxinp2p:这是整个项目的父工程,管理依赖环境wanxinp2p-api : 存放整个项目的API( 接口+各种实体类 )wanxinp2p-common: 存放整个项目的通用组件( 各种业务封装类+工具类 )wanxinp2p-gateway-service :网关微服务,端口号 53010wanxinp2p-consumer-service:用户中心微服务,端口号 53050。

2024-01-18 17:30:57 385

原创 金融项目报错

依赖里有错。

2024-01-17 18:04:24 377

原创 短信验证码服务

如果嫌麻烦,可以把短信验证码功能关掉(sms.enable=false),此时会开启密码登录模式(登录密码就是验证码),直接使用手机号作为验证码即可登录,因为在注册功能中,默认会把手机号作为登录密码保存到数据库中。访问路径:http://localhost:56085/sailing / verify?​ 由于统一账户服务(wanxinp2p-account-service)需要使用短信验证码功能,因此需要使用sailing服务,接入很方便,只需在Apollo上进行相关配置即可。

2024-01-17 16:01:22 503

原创 应用配置中心Apollo

​ 配置是程序员最熟悉的代码之一,每天如影随形的陪伴着我们,也伴随着应用的整个生命周期。我们为什么要在应用程序中使用配置呢?主要用于提升应用程序的灵活性、可扩展性和可维护性。常见的配置形式有:环境变量启动参数配置文件,例如:xxx.xml、xxx.properties、xxx.yml等Shell脚本,例如:xxx.bat、xxx.sh等基于数据库,就是把配置信息持久化到数据库中Disconf。

2024-01-16 22:05:22 2326

原创 05_开户_02

在wanxinp2p-api工程中的ConsumerAPI接口中新增createConsumer方法:/*** 生成开户请求数据* @param consumerRequest 开户信息* @return在wanxinp2p-consumer-service工程的ConsumerController类中实现该方法:@Override@ApiOperation("生成开户请求数据")

2024-01-16 19:40:23 1105

原创 04_异常处理机制

一. 概述我们在编码过程中一定是要处理异常的,传统异常处理方式存在一些问题:项目中会有很多地方都要进行异常处理,编码麻烦,代码冗余,不易维护异常处理的方式不统一错误提示信息不统一,不友好为了解决上述问题,我们在P2P项目中设计了一套好用的异常处理机制:自定义异常类,自定义错误代码和提示信息(统一且友好)各层只抛异常(建议在业务层),不做异常处理异常捕获和处理统一交给SpringMVC的全局异常捕获类响应给前端的错误提示信息进行统一封装。

2024-01-16 18:30:29 362

原创 03_统一账户服务

开户是指借款用户和投资用户在交易前都需要在银行存管系统开通个人存管账户,在开户前借款用户和投资用户还需要在万信金融平台注册为平台的用户,本章节讲解从用户注册到用户开户的整个过程。在统一账号服务中定义获取验证码接口:1 、接口描述如下:1 )获取手机号2 )向验证码服务请求发送验证码并得到响应3 )响应前端验证码发送结果(成功或失败)2 、接口定义如下:/*** 获取手机验证码* @param mobile 手机号* @return@Slf4j。

2024-01-16 16:38:45 697

原创 02_开发环境搭建

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(https://swagger.io/)。使得前后端分离开发更加方便,有利于团队协作接口的文档在线自动生成,降低后端开发人员编写接口文档的负担功能测试Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。

2024-01-16 15:56:27 950

原创 01_分布式金融项目介绍

本次课程开发的万信金融是一款面向互联网大众提供的理财服务和个人消费信贷服务的金融平台,依托大数据风控技术,为用户提供方便、快捷、安心的P2P金融服务。本项目包括交易平台和业务支撑两个部分,交易平台主要实现理财服务,包括:借钱、出借等模块,业务支撑包括:标的管理、对账管理、风控管理等模块。项目采用先进的互联网技术进行研发,保证了P2P双方交易的安全性、快捷性及稳定性。

2024-01-16 15:13:11 807

原创 服务注册与发现

官网:https://nacos.io/zh-cn/docs/what-is-nacos.htmlNacos /nɑ:kəʊs/ 是Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。服务发现——服务注册与发现中心配置管理——分布式配置中心nacos的服务由三元组唯一确定 (namespace、group、servicename)namespace:默认值为public。

2024-01-15 16:29:47 994

原创 为什么需要微服务架构及其思想

Java ----- web系统-----互联网项目(高并发、高性能、高可用)为了解决高并发问题,我们的Tomcat采用了集群部署,但是每个Tomcat节点上不是的依然是单体项目(虽然是前后端分离,但是后端采用的是单体开发——所有的接口都在同一个项目中)

2024-01-15 15:13:46 1032

原创 【无标题】

pdf转md: https://pdf2md.morethan.io/图标库:https://www.iconfont.cn/

2024-01-14 21:45:38 405

原创 搜索引擎全面总结

所谓搜索引擎,就是根据用户需求与一定算法,运用特定策略从互联网检索出指定的信息反馈给用户的一门检索技术。搜索引擎依托于多种技术,如网络爬虫技术、检索排序技术、网页处理技术、大数据处理技术、自然语言处理技术等,为信息检索用户提供快速、高相关性的信息服务。搜索引擎技术的核心模块一般包括爬虫、索引、检索和排序等,同时可添加其他一系列辅助模块,以为用户创造更好的网络使用环境搜索方式。

2024-01-14 21:39:52 1592

原创 分布式锁全面总结

Redisson在基于NIO的Netty框架上,充分的利用了Redis键值数据库提供的一系列优势,在Java实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作1 、互斥性和我们本地锁一样互斥性是最基本,但是分布式锁需要保证在不同节点的不同线程的互斥。2 、可重入性。

2024-01-14 20:29:34 901

原创 Redis全面总结

Redis是一个 用C语言开发的、基于内存结构进行键值对存储的、高性能非关系型数据库 数据库。

2024-01-14 15:35:33 969

原创 Java企业级项目开发

优点:将对静态资源的访问和对接⼝的访问进⾏分离,Tomcat服务器只负责数据服务的访问。根据项⽬功能分析数据实体(数据实体,就是应⽤系统中要存储的数据对象)前后端分离:前端和后端分离开发和部署(前后端部署在不同的服务器)前后端都部署在同⼀台服务器上(前后端代码都在同⼀个应⽤中)记录数据设计的版本-数据库模型版本的管理(模型版本)​ 商品(商品id、商品名称、商品描述,特征)需求分析(需求采集、需求分析)---->甲⽅。​ 商品、订单、购物⻋、⽤户、评价、地址…提取数据实体的数据项(数据对象的属性)

2024-01-14 00:45:12 694

原创 Java集合总结

​ 对象容器,用于存放对象。

2024-01-14 00:42:15 886

原创 常用类总结

Object类String。

2024-01-14 00:30:44 367

原创 面向对象总结

例如动物不是客观存在的,不完整的类,此类不能new对象未来更多面向接口编程,先定义接口表示出来,定义规范,再写实现类统一的接口文档。

2024-01-14 00:26:30 936 1

原创 MVC总结

MVC又称为编程模式,是一种软件设计思想,将数据操作、页面展示、业务逻辑分为三个层级(模 块),独立完成,相互调用。

2024-01-14 00:17:02 421 1

基于ssm的交友java系统,可用于毕设参考

基于ssm的交友java系统源码+sql+文档

2024-01-16

基于ssm的物业管理系统

基于ssm的物业管理系统ppt+源码+部署文档

2024-01-16

基于ssm的安保服务监管java系统

基于ssm的安保服务监管java系统源码+ppt

2024-01-16

空空如也

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

TA关注的人

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