自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

9.冄2.7.號的博客

最耀眼的光芒,一种是阳光,一种是我们努力的模样!

  • 博客(34)
  • 资源 (8)
  • 收藏
  • 关注

原创 并发编程高级篇

目录线程安全synchronized&volatile同步类容器、并发类容器"Concurrent"、“CopyOnWrite”Queue生产者消费者模式Executors线程池JMS规范ActiveMQAPI讲解ActiveMQ高级主题(点对点模式/发布与订阅模式)多线程+ActiveMQ负载均衡实战并发编程学习目的线程安全多个线程多个锁对象锁的同步和异步同步:synchronized异步:asynchronized示例代码示例总结脏读示例代码示例总结

2020-08-31 14:15:07 261

原创 java多线程-线程池ThreadPoolExecutor构造方法和规则

为什么用线程池有时候,系统需要处理非常多的执行时间很短的请求,如果每一个请求都开启一个新线程的话,系统就要不断的进行线程的创建和销毁,有时花在创建和销毁线程上的时间会比线程真正执行的时间还长。而且当线程数量太多时,系统就不一定能受得了。使用线程池主要为了解决以下几个问题:通过重用线程池中的线程,来减少每个线程创建和销毁的性能开销。对线程进行一些维护和管理,比如定时开始,周期执行,并发数控制等等。ExecutorExecutor是一个接口,跟线程池有关的基本都要跟它打交道,。下面是常用得我Thre

2020-08-30 06:50:43 203

原创 多线程基础笔记

多线程的引入(了解)什么是线程线程是程序执行的一条路径,一个进程中可以包含多条线程多线程并发执行可以提高程序的效率,可以同时完成多项工作多线程的应用场景红蜘蛛同时共享屏幕给多个电脑迅雷开启多条线程一起下载QQ同时和多个人一起视频服务器同时处理多个客户端请求多线程并行和并发的区别(了解)并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。(需要多核CPU)并发是指两个任务都请求运行,而处理器只能按受一个任务,就把这两个任务安排轮流进行,由于时间间隔较短,使人感觉两个任

2020-08-30 06:21:31 99

原创 多线程基础(二)

Java程序运行原理java 命令会启动 java 虚拟机,启动 JVM,等于启动了一个应用程序,也就是启动了一个进程。该进程会自动启动一个 “主线程” ,然后主线程去调用某个类的 main 方法。所以 main方法运行在主线程中。在此之前的所有程序都是单线程的。并行和并发前者是逻辑上同时发生,指在某一个时间内同时运行多个程序。后者是物理上同时发生,指在某一个时间点同时运行多个程序。思考:jvm虚拟机的启动是单线程的还是多线程的?JVM虚拟机的启动是多线程的。原因是垃圾回收线程也要先启动,否

2020-08-30 05:34:41 113

原创 多线程基础(一)

多线程实现的第一种方式:/** * 自定义线程类:MyThread类 * */// 第一步:书写一个类继承Threadpublic class MyThread extends Thread { // 第二步:重写run()方法 public void run() { // 第三步:把线程需要执行的代码写到run()方法里面 for (int i = 0; i < 1000; i++) { System.out.println("i = " + i); } }}

2020-08-30 04:45:43 116

原创 用户登录注册案例

分析需求:用户登录注册案例。按照如下的操作,可以让我们更符号面向对象思想 A:有哪些类呢? B:每个类有哪些东西呢? C:类与类之间的关系是什么呢? 分析: A:有哪些类呢? 用户类 测试类 B:每个类有哪些东西呢? 用户类: 成员变量:用户名,密码 构造方法:无参构造 成员方法:getXxx()/setXxx() 登录,注册 假如用户类的内容比较对,将来维护起来就比较麻烦,为了更清晰的分类,我们就把用户又

2020-08-29 11:56:11 133

原创 集合 - Map

Map集合概述和特点Map接口概述将键映射到值得对象一个映射不能包含重复的键每个键最多只能映射到一个值Map接口和Collection接口的不同Map是双列的,Collection是单列的。Map的键唯一,Collection的子体系Set是唯一的。Map集合的数据结构值针对键有效,跟值无关。Collection集合的数据结构是针对元素有效。Map集合的特点将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。Map集合的功能概述Map集合的功能概述

2020-08-29 11:52:51 351

原创 集合 -set

Set集合概述及特点Collection |--List 有序(存储顺序和取出顺序一致),可重复 |--Set 无序(存储顺序和取出顺序不一致),唯一HashSet:它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。注意:虽然Set集合的元素无序,但是,作为集合来说,它肯定有它自己的存储顺序,而你的顺序恰好和它的存储顺序一致,这代表不了有序,你可以多存储一些数据,就能看到效果。public class SetDemo { public static v

2020-08-29 11:29:17 142

原创 集合-list

Collection集合的概述Collection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。Collection集合的基本功能测

2020-08-29 10:02:39 295

原创 常见对象-Object类

Object类的概述Object:类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。每个类都直接或者间接的继承自Object类。Object类的方法:public int hashCode(): //返回该对象的哈希码值。//注意:哈希值是根据哈希算法计算出来的一个值,这个值和地址值有关,但是不是实际地址值。你可以理解为地址值。public final Class getClass(): //返回此 Object 的运行时类Class类的方法:public Strin

2020-08-29 08:51:06 139

原创 常见对象-String类

Scanner的概述和方法介绍package cn.itcast_01;/* * Scanner:用于接收键盘录入数据。 * * 前面的时候: * A:导包 * B:创建对象 * C:调用方法 * * System类下有一个静态的字段: * public static final InputStream in; 标准的输入流,对应着键盘录入。 * * InputStream is = System.in; * * class Demo { * pub

2020-08-29 08:44:17 122

原创 面向对象(三)

运动员和教练案例分析运动员和教练案例实现及测试package cn.itcast_12;/* 教练和运动员案例(学生分析然后讲解) 乒乓球运动员和篮球运动员。 乒乓球教练和篮球教练。 为了出国交流,跟乒乓球相关的人员都需要学习英语。 请用所学知识: 分析,这个案例中有哪些抽象类,哪些接口,哪些具体类。 整个分析过程,我是通过画图讲解的。 *///定义一个说英语的接口interface SpeakEnglish { //说英语 public abst

2020-08-29 06:41:26 228

原创 面向对象(三)

final关键字引入继承代码的体现由于继承中方法有一个现象:方法重写,所以,父类的功能,就会被子类给覆盖掉。有些时候,我们不想让子类去覆盖父类的功能,只能让它使用。这个时候,针对这种情况,java就提供了一个关键字:finalfinal :最终的意思。常见的是它可以修饰类、方法、变量。package cn.itcast_01;public class ZiDemo { public static void main(String[] args) { Zi zi = ne

2020-08-29 05:26:10 170 1

原创 面向对象(二)

通过API学习Math类Math类概述Math包含用于执行基本数学运算的方法由于Math类在java.lang包下,所以不需要导包Math类特点没有构造方法,因为它的成员全部是静态的。Math类讲解一个方法获取随机数public static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0​获取1-100之间的随机数public class MathDemo { public static void mai

2020-08-27 13:45:55 220

原创 面向对象

成员变量和局部变量的区别A:在类中的位置不同成员变量:在类中方法外局部变量:在方法定义中或者方法声明上B:在内存中的位置成员变量:在堆内存局部变量:在栈内存C:初始化值不同成员变量:有默认初始化值局部变量:没有默认初始化值,必须定义,赋值,然后才能使用注意事项:局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。package cn.itcast_01;public class VariableDemo { public stati

2020-08-27 06:05:54 136

原创 ServiceComb 课程

一、 ServiceComb 概述背景介绍ServiceComb 作为 Apache 开源组织下的一款微服务框架,其前身为华为云的 微服务引擎 CSE (Cloud Service Engine) 云服务。它意味着国内一款微服务框架在华为和 Apache 组织的共同努力下,随着微服务市场的火爆,一定会让越来越多的开发者所喜欢。首要原则全球首款进入 Apache 的开源微服务项目,中立、开放、标准、无商业 Lock-in开源与商业代码同源,具备零成本平滑迁移商用的能力,社区长足发展有保障技术方案

2020-08-23 15:23:34 559

原创 springcloud alibaba - (第六章~第十章)

第六章 Sleuth–链路追踪6.1 链路追踪介绍在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心,也就意味着这种架构形式也会存在一些问题:如何快速发现问题?如何判断故障影响范围?如何梳理服务依赖以及依赖的合理性?如何分析链路性能

2020-08-23 02:16:27 913

原创 springcloud alibaba - (第一章~第五章)

第一章 微服务介绍1.1 系统架构演变随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构—>垂直应用架构—>分布式架构—>SOA架构—>微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。接下来我们就来了解一下每种系统架构是什么样子的, 以及各有什么优缺点。1.1.1 单体应用架构互联网早期,一般的网站应用流量较小,只需一个应用,将所有功能代码都部署在一起

2020-08-22 09:25:10 1728

原创 GIt 最基本的常用命令 切记 ! ! !

常用命令:git statusgit add "文件"git commit -m "内容"git push origin master -->推送到远程仓库git init --> 初始化git仓库 git remote 查看远程仓库 git remote add origin "远程仓库url" --> 添加远程仓库git clone "远程仓库url" -->从远程仓库克隆到本地仓库git remote rm origin --&gt

2020-08-08 12:10:43 185

原创 基于微服务构建闪聚支付项目课程总计划

课程计划第一天闪聚支付 - 项目介绍Nacos-服务发现与配置管理第二天Mybatis-Plus闪聚支付 - 开发环境搭建第三天闪聚支付-第2章-讲义-商户注册&资质申请v1.0验证码服务使用指南第四天七牛云对象存储使用指南闪聚支付-第2章-讲义-商户注册&资质申请v1.0闪聚支付-第2章-讲义-支付参数配置v1.0第五天Redis安装指南闪聚支付-第2章-讲义-对接SaaSv1.0闪聚支付-第2章-讲义-支付参数配置v1.0.pdf第六天闪聚支付-第2

2020-08-08 09:38:47 1553

原创 Sharding-JDBC分库分表专题

概述分库分表是什么小明是一家初创电商平台的开发人员,他负责卖家模块的功能开发,其中涉及了店铺、商品的相关业务,设计如下数据库:通过以下SQL能够获取到商品相关的店铺信息、地理区域信息:SELECT p.*, r.[地理区域名称], s.[店铺名称], s.[信誉] FROM [商品信息] p LEFT JOIN [地理区域] r ON p.[产地] = r.[地理区域编码] LEFT JOIN [店铺信息] s ON p.id = s.[所属店铺] WHERE p.id = ?形成类

2020-08-08 08:49:47 529

原创 闪聚支付项目 扩展-分库分表

订单数据分库分表需求分析随着公司业务快速发展,接入的商户也越来越多,数据库中订单表的数据量猛增,由于所有表都在一个数据库中,导致服务器存储快满了,访问性能也变慢了,优化迫在眉睫。针对现状目前采用的解决方案是对订单表进行分库分表。分库分表技术参考 Sharding-jdbc专题数据库设计1、shanjupay_transaction 数据库(交易服务)会存储订单数据( pay_order表)。首先对该数据库进行分库,相同商户的数据最好不要分散,否则查询相关信息要跨库,因此以商户ID作为分片键,分片

2020-08-07 19:28:17 566

原创 闪聚支付项目-项目总结

闪聚支付是个什么样的项目?项目背景随着移动支付的盛行,商业银行、第三方支付公司、其它清算机构、消费金融公司等众多类型的机构,都在为商户提供网络(移动)支付解决方案。另一方面,用户的支付需求繁多,支付渠道已呈“碎片化”状态,并且“碎片化”程度将逐渐加深。聚合支付顾名思义就是将目前主流的支付进行整合,形成第三方支付的聚合通道,也被称为“第四方支付”。下图是聚合支付的产业结构:聚合支付不进行资金清算,因此无需支付牌照,其只是完成支付环节的信息流转和商户运营的承载,其在集合银联、支付宝、微信等主流支付方式

2020-08-07 19:01:47 5024

原创 闪聚支付 第3章-C扫B支付

需求分析C扫B的概念C扫B,即顾客(Customer)扫描商户(Business)提供的二维码来完成支付。下图是支付宝提供的C扫B业务流程:商家出示付款二维码客户打开支付宝或微信的扫一扫,扫描二维码确认支付,完成支付。C扫B支付分为两种方式:一是固定金额支付,顾客扫描后无需输入金额直接确认支付即可;另外一种是输入金额,顾客扫描后需自己输入待支付的金额,然后完成支付。什么是固定金额支付?C扫B固定金额比较常见的就是在自动售货机购买饮料时,当你选择一个饮料后屏幕会显示一个二维码,咱们扫描后

2020-08-07 15:50:46 16195

原创 RocketMQ研究及快速入门

RocketMQ介绍MQ的应用场景MQ全称为Message Queue,即消息队列, 开发中消息队列通常有如下应用场景:1、任务异步处理将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。传统方式:改造后方式:交互流程如下:订单服务发消息到消息队列。消息队列将消息发给仓储服务和物流服务。仓储服务和物流服务接收到消息进行业务处理。2、应用程序解耦合MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行解耦合。举例:上图中

2020-08-07 08:39:28 583

原创 freemarker基础&快速入门&基础指令

FreeMarker 入门FreeMarker介绍freemarker是一个用Java开发的模板引擎常用的java模板引擎还有哪些?JspFreemarkerThymeleafVelocity 等模板+数据模型=输出freemarker并不关心数据的来源,只是根据模板的内容,将数据模型在模板中显示并输出文件(通常为html,也可以生成其它格式的文本文件)1、数据模型数据模型在java中可以是基本类型也可以List、Map、Pojo等复杂类型。2、来自官方的例子:(https:

2020-08-05 18:06:15 551

原创 闪聚支付 第3章-微信支付接入指南

支付产品产品列表微信为普通商户提供如下支付产品:产品介绍详见:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=2_11、付款码支付付款码支付是用户展示微信钱包内的“刷卡条码/二维码”给商户系统扫描后直接完成支付的模式,即B扫C模式。主要应用线下面对面收银的场景。2、Native支付Native支付是商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站支付、实体店单品或订单支付、媒体

2020-08-05 08:59:21 2747 2

原创 闪聚支付 第3章-支付宝接入指南

支付产品产品列表支付宝为普通商户提供如下支付产品:产品介绍详见:https://b.alipay.com/signing/productSetV2.htm1、当面付在国内线下场景,商家可通过以下任一方式进行收款。提升商家收银效率,资金实时到账。(1)商家通过扫描线下买家支付宝钱包中的条码、二维码等方式完成支付;(2)线下买家通过使用支付宝钱包扫一扫,扫描商家的二维码等方式完成支付。2、APP支付商家APP集成支付宝提供的支付能力,在线上轻松收款:用户在商家APP消费,自动跳转支付宝

2020-08-05 06:58:39 4460

原创 闪聚支付 第2章-对接SaaS以及用户认证OAuth2.0概述

对接SaaS基础概念SaaSSaaS是Software-as-a-Service(软件即服务)的简称,它是一种通过互联网提供软件服务的模式,与传统软件相比有如下几点区别:1、SaaS软件不再是用户向软件供应商定制软件或进行二次开发,而是供应商将软件部署在自己的服务器上并通过互联网提供在线服务。2、软件供应商负责搭建一切网络设备、软硬件运行平台等基础设施,并全权负责运营和维护软件。3、用户根据实际需要通过互联网订购所需要的软件服务,按照订购服务的多少和时间长短支付费用。4、用户不需要一次性支付很

2020-08-03 23:00:56 3352

原创 闪聚支付 第2章-集成测试

测试需求通常前后端开发过程,一个模块或一个系统开发完成之后,前后端工程根据产品文档及接口定义进行前后端连调测试。第二章完成了商户注册、资质申请、支付参数配置等功能,本次测试集成对完成的业务功能进行前后端测试。前期准备商户平台应用获取登录商户信息商户登录成功,前端获取当前商户的信息。在shanjupay-merchant-service工程的MerchantServiceImpl中定义queryMerchantById方法,根据商户id查询商户信息:/** * 根据id查询商户信息 */@O

2020-08-03 12:08:01 787

原创 闪聚支付前端部署指南

部署准备本文档介绍闪聚支付项目的前端部署方式。安装Node.js1、node.js官网:https://nodejs.org/en/download/2、安装完成后,找到安装目录添加到系统环境变量中双击Path新建:通过 node-v 命令查看nodejs安装是否成功并查看安装版本。安装YarnYarn 对你的代码来说是一个包管理器, 你可以通过它使用全世界开发者的代码, 或者分享自己的代码。Yarn 做这些快捷、安全、可靠,所以你不用担心什么。通过Yarn你可以使用其他开发者针

2020-08-03 12:07:20 850

原创 闪聚支付 第2章-支付参数配置

需求概述基础概念理解应用理解支付渠道参数配置创建应用支付渠道参数配置商户应用创建需求分析系统交互流程应用创建商户服务创建应用接口(接口①)接口定义接口实现商户平台应用创建应用接口(接口②)接口定义接口实现应用查询商户服务应用查询接口接口定义接口实现商户平台应用查询接口接口定义接口实现支付渠道参数配置需求分析系统交互流程基础数据搭建交易服务工程交易服务介绍搭建工程应用绑定服务类型系统设计交易服务获取平台服务类型(接口①)接口定义接口实现商户

2020-08-03 06:39:51 3299 1

原创 闪聚支付 第2章 讲义-商户注册&资质申请

需求概述商户注册闪聚支付为商户提供聚合支付业务,线下商户和线上商户都可以使用闪聚支付平台。什么是线下和线上商户?1)线下场所支付商户使用线下场所支付的商户是指有实体经营场所的商家,也称为地面商户,一般包含酒店、餐厅、酒吧、美容、 美发、 媒体、 影楼、 家政、 艺廊、 KTV、 会所等。2)线上支付商户使用线上支付的商户是指通过互联网进行经营服务的商家,常见的有:电商网站、团购网站、旅游网站等。商户使用闪聚支付平台第一步要在平台进行注册。商户填写手机号、账号、密码、获取验证码申请注册,注册

2020-08-01 10:55:58 4450

原创 七牛云对象存储使用指南

对象存储服务简介七牛云海量存储系统(KODO)是自主研发的非结构化数据存储管理平台,支持中心和边缘存储。平台经过多年大规模用户验证已跻身先进技术行列,并广泛应用于海量数据管理的各类场景。详细介绍参考官网:https://www.qiniu.com/products/kodo产品优势高可靠业界领先的纠删码存储方案,能够提供高达 11 个 9 的数据可靠性。跨数据中心的副本冗余,能够保障服务的超高可用性。低成本无需前期投入。七牛云对象存储按需使用、按需付费的便捷性,能够有效避免存储及带宽资源的

2020-08-01 10:53:59 1764

springcloud zipkin-server nacos等相关资料及软件

springcloud zipkin-server nacos等相关资料及软件

2023-07-09

微服务架构图-最终架构图

微服务架构图-最终架构图

2023-07-07

微服务 - 多级缓存相关资料及软件

微服务 - 多级缓存相关资料及软件

2023-04-02

微服务 - 分布式缓存相关资料

微服务 - 分布式缓存相关资料

2023-04-02

服务异步通信 - RabbitMQ的高级特性 - 高级篇相关软件

服务异步通信 - RabbitMQ的高级特性 - 高级篇相关软件

2023-04-02

微服务保护相关资料及软件

微服务保护相关资料及软件

2023-04-02

分布式事务相关资料及软件

分布式事务相关资料及软件

2023-04-01

mq-advanced-demo

mq-advanced-demo

2023-03-27

mq-demo 初始代码

mq-demo 初始代码

2023-03-27

docker相关资料,包括相关软件

docker相关资料,包括相关软件

2023-03-26

2.Vue2+Vue3相关资料

2.Vue2+Vue3相关资料

2023-03-21

node.js相关资料

node.js相关资料

2022-12-25

SpringCloud相关资料

SpringCloud相关资料

2022-11-25

jmeter-性能工具-压力测试工具

jmeter-性能工具-压力测试工具

2022-04-30

闪聚资料.zip项目资料

项目资料,包括:nacos服务注册中心和配置文件、mybatis-plus代码生成器、redis相关软件及资料、rocketmq消息队列、验证码服务、闪聚平台web项目、一些数据库脚本文件等

2020-08-08

shanjupay-web.zip

闪聚前端

2020-08-03

shanjupay_saas.sql

“shanjupay_saas.sql” 脚本导入SaaS系统数据库,里面包括两个数据库表,关于项目所使用到的数据库表

2020-08-03

shanjupay-init.sql

闪聚sql文件,项目sql文件,初始SQL,没有数据,只有表结构,没有数据,只有表结构,没有数据,只有表结构

2020-07-31

xx健康项目资料.zip

redis相关资料、zookeeper相关资料、项目中使用到的sql文件 该项目启动依赖redis缓存数据库和zookeeper,另外还有报表相关的软件和资料

2020-07-28

rabbitmq.zip

里面包括rabbitmq-server-3.6.5-1.noarch.rpm安装包、erlang-18.3-1.el7.centos.x86_64.rpm安装包等相关资料

2020-07-06

集合总结图.png

集合总结图!超详细!大神总结! 必下载资源!

2019-09-14

空空如也

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

TA关注的人

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