尚硅谷王泽Sharding-Sphere
Apache ShardingSphere1. 基本概念什么是 Sharding SphereApache ShardingSphere(Incubator) 是一套开源的分布式数据库中间件解决方案组成的生 态圈,它由 Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar(规划中)这 3 款相互 独立,却又能够混合部署配合使用的产品组成。它们均提供标准化的数据分片、分布式事 务和数据库治理功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。
ShardingSphere 定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系 型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。它通过关注不变,进 而抓住事物本质。关系型数据库当今依然占有巨大市场,是各个公司核心业务的基石,未 来也难于撼动,我们目前阶段更加关注在原有基础上的增量,而非颠覆。
什么是分库分表数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展, 库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改 ...
手写LinkList
链表目的
链表的介绍
手写单链表&双链表
LinkedList 源码阅读
LinkedList 并发修改异常
LinkedList 多线程安全问题的产生和解决
一、ArrayList引发的思考
优点:查询快
缺点
1、增删慢,消耗cpu的性能
情况一、指定索引上的添加
情况二、如果原数组中的元素已经不够了
2、比较浪费内存空间
有没有一种数据结构可以用多少个空间就申请多少个空间,并且又能够提高他的增删速度呢?
二、链表链表的分类:单链表,双链表,循环链表
链表:由链将一个个元素连接,每一个元素我们通常将其称之为Node 节点
Node 节点:由两部分组成
数据值的变量
Node next 用来存放下一个节点的Node 对象
链表和数组的区别
链表查询慢(因为链表没有索引),但是增删快,
三、自定义单向链表设计接口
目的:为了体系的完整,以及代码的复用,设计出以下结构
需要实现的方法
1234567891011public int si ...
容器管理工具
3 容器管理工具Rancher3.1 什么是Rancher Rancher是一个开源的企业级全栈化容器部署及管理平台。Rancher为容器提供一揽 子基础架构服务:CNI兼容的网络服务、存储服务、主机管理、负载均衡、防护墙…… Rancher让上述服务跨越公有云、私有云、虚拟机、物理机环境运行,真正实现一键式应 用部署和管理。
3.2 Rancher安装(1)下载Rancher 镜像
1docker pull rancher/server
(2)创建Rancher容器
1docker run -di --name=rancher -p 9090:8080 rancher/server
(3)在浏览器输入地址: http://192.168.184.136:9090 即可看到高端大气的欢迎页
点击Got It 进入主界面
(4)切换至中文界面
点击右下角的English 在弹出菜单中选择中
切换后我们就可以看到亲切的中文界面啦~
3.3 Rancher初始化3.3.1 添加环境Rancher 支持将资源分组归属到多个环境。 每个环境具有自己独立的基础架构资源及服 务 ...
手写ArrayList
1. ArrayList集合底层数据结构
ArrayList集合介绍
List 接口的可调整大小的数组实现。
数组:一旦初始化长度就不可以发生改变
数组结构介绍
增删慢:每次删除元素,都需要更改数组长度、拷贝以及移动元素位置。
查询快:由于数组在内存中是一块连续空间,因此可以根据地址+索引的方式快速获取对应位置上的元素。
2. ArrayList继承关系2.1 Serializable标记性接口
介绍 类的序列化由实现java.io.Serializable接口的类启用。 不实现此接口的类将不会使任何状态序列化或反 序列化。 可序列化类的所有子类型都是可序列化的。 序列化接口没有方法或字段,仅用于标识可串行化的语 义。
序列化:将对象的数据写入到文件(写对象)
反序列化:将文件中对象的数据读取出来(读对象) 2. Serializable源码介绍
Serializable源码介绍
12public interface Serializable { }
案例: 通过序列化流序列化和反序列化集合
1234567891011121 ...
EasyExcel处理Excel
一、Excel导入导出的应用场景1、数据导入:减轻录入工作量
2、数据导出:统计信息归档
3、数据传输:异构系统之间数据传输
二、EasyExcel简介1、EasyExcel特点
Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。
EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。
EasyExcel采用一行一行的解析模式,并将一行的解析结果以观察者的模式通知处理(AnalysisEventListener)。
三、创建项目,实现EasyExcel对Excel写操作1、创建一个普通的maven项目项目名:excel-easydemo
2、pom中引入xml相关依赖1234567<dependencies> <!-- htt ...
文件下载
JavaWeb方式文件下载需求:
1. 页面显示超链接
2. 点击超链接后弹出下载提示框
3. 完成图片文件下载
1234567891011121314151617181920212223242526272829303132@RequestMapping("/download")public void downLoad(HttpServletRequest request, HttpServletResponse response) throws IOException { String filename = request.getParameter("filename"); System.out.println(filename); // String realPath = this.getClass().getResource("/static/"+filename).getPath();不支持中文 String realPath = new ClassPathResou ...
更新apt源头
123456# 查看linux中版本信息cat /etc/issuecat /proc/version uname -a
镜像加速CentOS系统
1、先安装wget命令及备份原文件:
yum install -y wget && mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/
备注:海外节点用阿里云,国内节点阿里或163都可以.
CentOS 6
阿里源:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
163源:wget -O /etc/yum.repos.d/CentOS-Base.rep ...
Springboot自定义异常
一、什么是统一异常处理1、制造异常除以0
1int a = 10/0;
2、什么是统一异常处理我们想让异常结果也显示为统一的返回结果对象,并且统一处理系统的异常信息,那么需要统一异常处理
二、统一异常处理1、创建统一异常处理器在service-base中创建统一异常处理类GlobalExceptionHandler.java:
12345678910111213/** * 统一异常处理类 */ @ControllerAdvicepublic class GlobalExceptionHandler { @ExceptionHandler(Exception.class) @ResponseBody public R error(Exception e){ e.printStackTrace(); return R.error(); }}
2、测试返回统一错误结果
三、处理特定异常1、添加异常处理方法GlobalExceptionHandler.java中添加
123456@Excepti ...
手摸手一步一步搭建GitLab服务器
Gitlab代码托管服务器安装Gitlab简介
官网: https://about.gitlab.com/
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的 web服务
GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(基于MIT协议),与Github类似, 可以注册用户,任意提交你的代码,添加SSHKey等等。不同的是,GitLab是可以部署到自己的服务器 上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的智慧总放 在别人的服务器上吧?简单来说可把GitLab看作个人版的GitHub。
Gitlab安装
安装相关依赖
yum -y install policycoreutils openssh-server openssh-clients postfix
启动ssh服务&设置为开机启动
systemctl enable sshd && sudo systemctl start sshd
设置postfix开机自启,并启动,postfix支持git ...
支付宝支付Api
1.蚂蚁金服文档地址文档入口:https://opendocs.alipay.com/open/270
沙箱文档入口:https://opendocs.alipay.com/open/200/105311
2.支付流程
2.1 首页开发服务中找到沙箱
2.2 页面中找到进入沙箱环境
2.3 生成RSA密钥进入沙箱应用之后可以看到信息配置部分需要设置RSA2(SHA256)密钥,因为文档很详细了,我就不写了
具体步骤: https://opendocs.alipay.com/open/291/105971
3.支付功能移植到项目官方Demo:https://opendocs.alipay.com/open/270/106291
官方Demo是使用jsp处理和响应请求的,有兴趣自己下载下来测试下,我这直接整合到Springboot里用Controller处理了
①加入支付功能相关依赖参考文档:https://docs.open.alipay.com/54/103419
12345<dependency> <groupId>com.alipay.sdk< ...









