自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

痞子王的博客

技术人生杂谈

  • 博客(240)
  • 资源 (6)
  • 收藏
  • 关注

原创 K8s基础

Kubernetes是一个可以移植、可扩展的开源平台,使用 声明式的配置 并依据配置信息自动地。在所有的容器编排工具中(类似的还有 docker swarm / mesos等),Kubernetes的生态系统更大、增长更快,有更多的支持、服务和工具可供用户选择。Kubernetes的名字起源于希腊语,含义是 舵手、领航员、向导。Google于2014年将Brog系统开源为Kubernetes。

2023-11-30 23:55:50 492

原创 解决Parameter ‘xxxList‘ not found. Available parameters are [Collection,list]

造成这个错误的主要原因写法错误

2022-06-07 11:07:12 881 1

原创 java实现绘制命令行二叉树

题目描述二叉树是一种基本的数据结构,它要么为空,要么由根节点,左子树和右子树组成,同时左子树和右子树也分别是二叉树。当一颗二叉树高度为m-1m−1时,则共有mm层。除mm层外,其他各层的结点数都达到最大,且结点节点都在第mm层时,这就是一个满二叉树。现在,需要你用程序来绘制一棵二叉树,它由一颗满二叉树去掉若干结点而成。对于一颗满二叉树,我们需要按照以下要求绘制:1、结点用小写字母“o”表示,对于一个父亲结点,用“/”连接左子树,同样用“\”连接右子树。2、定义[i,j[i,j]为位于第ii行第jj

2022-05-15 20:51:14 341

原创 图的基本思想和实现

图的基础概念

2022-05-11 22:13:28 260

原创 红黑树实现

红黑树-特殊的二叉搜索树红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树。红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值。# 特殊的特征除了具备该特性之外,红黑树还包括许多额外的信息。每个节点或者是黑色,或者是红色。根节点是黑色。每个叶子节点是黑色。 注意:这里叶子节点,是指为空的叶子节点!如果一个节点是红色的,则它的子节点必须是黑色的。从一个节点到该节点的

2022-05-08 22:19:28 591 1

原创 线性表(链表)

线性表#学习目标掌握线性表基础思想、优缺点、常见分类,能复述;能使用java代码实现线性表创建,元素插入、删除、元素修改、查找;完成一道相关题目。#基础思想、优缺点1.基础思想在内存中可以非连续存储,提高空间利用率,理论上其大小是内容能使用空间的大小(非连续);2.优缺点优点:空间无限制插入元素、删除元素很快缺点:查找速度很慢。#常见分类**单向链表:**一个节点只指向下一个节点**双向链表:**一个节点同时包含下一个节点和上一个节点的引用(指针)**环形链表:**

2022-05-07 17:30:00 145

原创 查找二叉树

二叉搜索树Binary Search Tree 能够用于快速查找的存储数据结构,左子树值<根节点值<右子树值# 定义它或者是一棵空树,或者是具有下列性质的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。# 遍历以遍历根节点的顺序来定义前序遍历:根-左-右中序遍历:左-根-右 —>遍历结果为有序递增序列后序遍历:左-右-根

2022-05-06 22:28:08 566

原创 平衡二叉树

平衡二叉树Balanced Binary Tree,左右子树高度差不超过1,因此能够保证很好的插入和查找效率# 定义左右子树高度差不超过1左右子树也是平衡二叉树空二叉树是平衡二叉树#实现节点定义package com.piziwang.tree.avltree;/** * 平衡二叉树 Balance Binary Tree * @author PIZIWANG * @date 2022-05-05 21:37 **/public class AVLTree&lt

2022-05-06 22:27:09 604

原创 java类加载器-类加载的过程

类加载器-类加载的过程类加载器 java->class文件(编译后的字节码文件),负责将class文件加载进内存中1.类在什么时候会被加载到内存中?触感见类的实例(对象)掉用类的类方法(静态方法)访问类活着呢接口的类变量,或者为该类变量赋值(静态变量)使用反射的方式来强制创建某个类或接口对应的java.lang.Class对象初始化某个类的子类(子类依赖父类)直接试用java.exe命令来运行某个主类用到就加载,不用不加载2.类加载过程加载通过包名 + 类

2022-04-06 22:47:31 1157

原创 java时间日期类

时间日期类日期类1.规定计算机中的起始时间: 1970年1月1日 00:00:00(c语言的诞生时间)long time = System.currentTimeMillis()->时间原点到当前时间过去的毫秒数北京时间需要在世界标准时间上加8小时。2.Date类概述和构造方法和成员方法Date 代表了一个特定的时间,精确到毫秒构造方法://创建一个Date对象,表示默认时间Date date1 = new Date();//表示电脑中当前时间//创建要给对象,表示默认时间

2022-04-05 12:00:28 404

原创 二分查找基础算法

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-04-04 23:19:18 288

原创 递归基础算法

递归算法1. 递归【应用】递归的介绍以编程的角度来看,递归指的是方法定义中调用方法本身的现象把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算递归的基本使用public class MyFactorialDemo2 { public static void main(String[] args) { int sum = getSum(100); System.out.

2022-04-02 23:22:14 112

原创 快速排序基础算法

快速排序一、算法描述每一轮排序选择一个基准点(pivot)进行分区让小于基准点的元素的进入一个分区,大于基准点的元素的进入另一个分区当分区完成时,基准点元素的位置就是其最终位置在子分区内重复以上过程,直至子分区元素个数少于等于 1,这体现的是分而治之的思想 (divide-and-conquer)从以上描述可以看出,一个关键在于分区算法,常见的有洛穆托分区方案、双边循环分区方案、霍尔分区方案二、单边循环快排(lomuto 洛穆托分区方案)选择最右元素作为基准点元素j 指针

2022-04-01 21:59:39 124

原创 插入排序算法

插入排序1.插入排序规则划分两个子序列,有序的和无序的;从无序序列中取出一个元素,插入到有序序列(保证顺序)。扩大有序子序列,减小无序子序列;重复以上步骤.public static void insert(int[] a){ //i 代表待插入元素的索引,1个元素默认有序 for(int i = 1;i< a.length;i++){ int t = a[i];//代表插入的元素值 int j=i-1;//代表已排序子序列的元素索引

2022-03-31 23:55:39 327

原创 选择排序算法

选择排序1.选择排序规则先找出未排序序列中的最值元素;将找出元素放入已排序序列;在未排序序列中再次重复执行前两步操作;未排序序列长度为0,结束排序。public static void selection(int[] a){ for(int i = 0;i < a.length-1;i++){ //i代表每轮选择最小元素要交换到的目标索引(这个位置的元素这轮要有序) int s = i; for(int j=s+1;j<a.

2022-03-30 23:02:51 170

原创 冒泡排序算法

冒泡排序,及两类冒泡排序优化

2022-03-30 22:59:39 178

原创 多线程初步

一、多线程基本概念1.并发和并行并行:在多个cpu中同时进行,任务不中断并发:多个任务在一个cpu中切换执行,任务会中断(挂起、继续和终止)2.进程和线程进程:正在运行的软件独立性:进程是独立运行的基本单位,同时也是系统分配资源和调度的独立单位动态性:实质是程序的一次执行过程,进程是动态产生、动态消亡的。并发性:任何进程和其它进程一起并发执行线程:进程中的单个顺序控制流,是一条执行路径。单线程:一个进程中如果只有一条执行路径,则称为单线程程序。多线程:一个进程如果有多条执行路径,则称

2022-03-29 22:57:34 96

转载 23种常用设计模式

23种常用设计模式记录一下这常用的23 种设计模式,以方便日后复习和查阅分类设计模式简述一句话归纳目的生活案例创建型设计模式 (简单来说就是用来创建对象的)工厂模式(Factory Pattern)不同条件下创建不同实例产品标准化,生产更高效封装创建细节实体工厂单例模式(Singleton Pattern)保证一个类仅有一个实例,并且提供一个全局访问点世上只有一个我保证独一无二CEO原型模式(Prototype Pattern)通过拷贝原型创

2022-02-15 09:16:58 122

转载 Vue基础学习

引自:https://mrbird.cc/Vue-Learn-Note.html mrbird大佬博客Vue 入门<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>todoList</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue

2022-01-17 11:33:19 91

原创 spring security基本概念

1.基本概念1.1什么是认证认证:判断一个用户的身份是否合法的过程。二维码登录、刷脸、密码都算。1.2什么是会话为了避免用户的每次操作都需要进行认证,可以将用户的信息保存在会话中,常见的有基于session的方式,基于token的方式。session方式:①用户登录成功,服务器会创建一个session,并返回给客户端ssid,存储在客户端cookie中,用户访问会携带ssid,服务器进行比较。token方式:①用户认证成功后,服务端生成一个token发给客户端(服务端不存储token,通过生

2021-07-23 17:44:58 197

原创 服务器重启后docker 停止

1.重启docker service docker stop systemctl stop docker systemctl start docker 2.启动容器docker ps docker run onlyoffice/document

2021-03-22 11:53:26 382

原创 从零实现centos7快速部署php环境网站

工作需要,需要在局域网部署kodbox文件服务系统,方便小伙伴们共享文件和保存部门资源。之前一直使用windows环境部署,有一次软件奔溃直接导致资源部分遗失,本次考虑部署在本地虚拟机linux系统下。一、软件版本虚拟机软件:VMware Workstation pro 15服务器操作系统:centos 7.3管理面板:宝塔面板系统软件:kodbox 1.09二、虚拟机安装及配置1.下载VMware Workstation pro 15(需要资源的同学可以私信我)2.正常安装。3.POJI

2020-12-01 17:18:44 524

原创 关于中小学编程教育的一些看法

最近几年中小学编程教育越来越火,这是一件好事,因为人们开始逐渐重视在基础教育阶段有意识的引入计算机科学中的知识。这对于提升全民科学素质是非常重要的。一个有科学素养的民众才不至于轻信和盲目。自2017年国务院发布《新一代人工智能发展规划》之后,给编程教育又带来了一次新高潮,各种教育机构、学校遍地开花,效果到底如何?学生接受程度到底又怎么样呢?我自2012年作为受教育者开始正规的编程学习,2016年...

2020-04-09 10:42:11 1816

原创 多功能室预约系统:java+vue+bootstrap+Echarts+spring boot+spring mvc+mysql+mybatis

一、项目背景单位有很多多功能室,随着各种业务的开展,使用频次逐步上升,每个房间需要配备一个专业的管理人员,为了能更好的协调多功能室的使用和资源调用,需要实现这样一个系统。二、需求单点登录,接入单位总应用平台。权限管理,不同身份和角色的管理人员和应用人员具有不同的权限。可以预览空间预约开始时间之前短信通知。预约支持时间段、周期性预约、设备选择、特殊需求说明。三、技术选型因为用户...

2020-04-06 23:39:01 1059

原创 vue+webView+bootstrap实现珠珠窗帘计算器

一、项目背景家里出售一种用珠子串起来的门帘,其中有一种是半截的,而且下半截需要有弧度,但是每个顾客家的门框的宽度和高度都不太一样,因此每次计算每一串珠子的长度是非常麻烦的一件事情,所以才有了做这样一个计算器的需求。二、需求能够计算出每一串珠子的长度支持门帘高度、门帘总宽度、最短串和等长串数据修改。实现长度效果预览。能够支持珠子样式搭配和预览(待实现)。三、技术选型考虑家里爸妈用...

2020-03-24 20:59:47 597

原创 数据结构:链表(洛谷P3613题解)

一、链表的特点链表可以用来处理数据下标不连续,数据长度动态增加的情况。常见的有单向链表、双向链表和环形链表,本文记载单向链表的实现。单向链表中,有显式的域,data用来存储该节点的数据,next指针指向下一个节点的地址,节点地址就是该节点在内存中的地址。二、链表的实现本文中采用c++实现链表的基本结构。1.节点的基本结构struct Node{ int data;//数据类型根据需...

2020-03-21 14:27:42 1784

原创 02防止恶意刷单

2.防止恶意刷单在生产场景下,很有可能会存在某些用户恶意刷单的情况出现。这样的操作对于系统而言,会导致业务出错、脏数据、后端访问压力大等问题的出现。一般要解决这个问题的话,需要前端进行控制,同时后端也需要进行控制。后端实现可以通过Redis incrde 原子性递增来进行解决。2.1 更新秒杀服务下单2.2 防重方法实现//防止重复提交private String preventRe...

2020-03-15 21:59:59 3171

原创 1.秒杀异步下单

1.秒杀异步下单用户在下单的时候,需要基于JWT令牌信息进行登陆人信息认证,确定当前订单是属于谁的。针对秒杀的特殊业务场景,仅仅依靠对象缓存或者页面静态化等技术去解决服务端压力还是远远不够。对于数据库压力还是很大,所以需要异步下单,异步是最好的解决办法,但会带来一些额外的程序上的复杂性。1.1 秒杀服务-下单实现1)将tokenDecode工具类放入秒杀服务并声明Bean2)更新秒杀服务...

2020-03-15 21:58:48 1717

原创 04加载秒杀商品实现

3.4 加载秒杀商品实现当前已经完成了秒杀时间段菜单的显示,那么当用户在切换不同的时间段的时候,需要按照用户所选择的时间去显示相对应时间段下的秒杀商品3.4.1 秒杀服务-查询秒杀商品列表@RestController@RequestMapping("/seckillgoods")public class SecKillGoodsController { @Autowired...

2020-03-15 21:55:43 197

原创 使用cmd命令笔记本电池查看电池寿命

windows系统有个 powercfg命令,打开cmd,然后输入:powercfg /? 查看命令提示使用powercfg /batteryreport命令生成电池使用情况报告,里面可以看到Design capacity(电池设计容量), Full charge capacity(现在电池充满的容量),来判断 电池损耗情况。打开本地文件系统,找到路径...

2020-03-14 22:25:10 14724

原创 03秒杀商品-首页

3.秒杀商品-首页秒杀商品首页会显示处于秒杀中以及未开始秒杀的商品。3.1 秒杀首页实现分析秒杀首页需要显示不同时间段的秒杀商品信息,然后当用户选择不同的时间段,查询该时间段下的秒杀商品,实现过程分为两大过程:1) 加载时间菜单2)加载时间菜单下秒杀商品信息3.1.1 加载时间菜单分析每2个小时就会切换一次抢购活动,所以商品发布的时候,我们将时间定格在2小时内抢购,每次发布商品...

2020-03-14 22:06:46 239

原创 02秒杀商品存入缓存

2.秒杀商品存入缓存秒杀商品由B端存入Mysql,设置定时任务,每隔一段时间就从Mysql中将符合条件的数据从Mysql中查询出来并存入缓存中,redis以Hash类型进行数据存储。2.1 秒杀服务搭建1)新建服务changgou_service_seckill2)添加依赖信息,详情如下: <dependencies> <dependency>...

2020-03-14 22:03:19 550 2

原创 1.秒杀业务分析

1.秒杀业务分析1 秒杀业务分析1.1 需求分析所谓“秒杀”,就是网络卖家发布一些超低价格的商品,所有买家在同一时间网上抢购的一种销售方式。通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动。由于商品价格低廉,往往一上架就被抢购一空,有时只用一秒钟。秒杀商品通常有两种限制:库存限制、时间限制。需求:(1)秒杀频道首页列出秒杀商品(4)点击立即抢购实现秒杀下单,下单时扣减库存。当...

2020-03-14 22:01:22 714

原创 03确认收货与自动收货

3.确认收货与自动收货3.1自动收货3.1.1需求分析与实现思路当物流公司将货物送到了用户收货地址之后,需要用户点击确认收货,当用户点击了确认收货之后,会修改订单状态为已完成3.1.2 代码实现(1)OrderController新增方法/*** 确认收货* @param orderId 订单号* @param operator 操作者* @return*/@PutMapp...

2020-03-13 23:47:32 4241

原创 02订单批量发货

2.订单批量发货2.1 批量发货业务逻辑2.1.1 需求分析实现批量发货的业务逻辑2.1.2 代码实现(1)OrderController新增方法@PostMapping("/batchSend") public Result batchSend(@RequestBody List<Order> orders){ orderService.batc...

2020-03-13 23:45:28 787

原创 1.超时未支付订单处理

1.超时未支付订单处理1.1 需求分析超过限定时间并未支付的订单,我们需要进行超时订单的处理:先调用微信支付api,查询该订单的支付状态。如果未支付调用关闭订单的api,并修改订单状态为已关闭,并回滚库存数。如果该订单已经支付,则做补偿操作(修改订单状态和记录)。1.2 实现思路如何获取超过限定时间的订单?我们可以使用延迟消息队列(死信队列)来实现。所谓延迟消息队列,就是消息的生产者发送的...

2020-03-12 23:56:55 7146

原创 04推送支付通知

4.推送支付通知4.1 需求分析当用户完成扫码支付后,跳转到支付成功页面4.2 服务端推送方案我们需要将支付的结果通知前端页面,其实就是我们通过所说的服务器端推送,主要有三种实现方案(1)Ajax 短轮询 Ajax 轮询主要通过页面端的 JS 定时异步刷新任务来实现数据的加载如果我们使用ajax短轮询方式,需要后端提供方法,通过调用微信支付接口实现根据订单号查询支付状态的方法(参见查询...

2020-03-10 22:41:52 1629

原创 03支付回调逻辑处理

3.支付回调逻辑处理3.1 需求分析在完成支付后,修改订单状态为已支付,并记录订单日志。3.2 实现思路(1)接受微信支付平台的回调信息(xml)<xml><appid><![CDATA[wx8397f8696b538317]]></appid><bank_type><![CDATA[CFT]]></bank...

2020-03-10 22:40:49 1227

原创 02微信支付二维码

2.微信支付二维码2.1 需求分析用户在提交订单后,如果是选择支付方式为微信支付,那应该跳转到微信支付二维码页面,用户扫描二维码可以进行支付,金额与订单金额相同。2.2 实现思路前端页面向后端传递订单号,后端根据订单号查询订单,检查是否为当前用户的未支付订单,如果是则根据订单号和金额生成支付url返给前端,前端得到支付url生成支付二维码。2.3 代码实现2.3.1 提交订单跳转支付...

2020-03-09 23:45:27 2146

原创 财务自由之路读书笔记

刚好一个漫长假期加上工作变动,让我开始静下心来思考自己这么多年来得财务问题,那些一向被我奉认为真理得知识给我究竟带来了多少可怕得后果。从过去得二十多年,包含其中自己开始工作并赚取酬劳得三年多,自己得经济状况可谓越来越差,目前为止甚至不及刚上大学的我手头宽裕。我总是认为当我开始挣钱甚至于开始挣大钱的时候,我的经济状况一定会好转的。但是事实总是和我开玩笑,我目前的情况恰好印证了这一点。我是一个缺乏理...

2020-03-08 19:32:01 1508

WGF300更新.zip3d打印机切片控制一体软件

支持双头打印

2021-04-27

java程序转换成exe程序exe4j

exe4j打包程序,jar包直接转换成exe程序

2021-04-27

17scmjfxqdmbq.zip

可以方便的查看17素材网的jquery源码,用了爽歪歪。不需要再想破脑袋在网上乱找资源了,我给自己留个底子,怕丢掉。

2020-06-03

fescar-server-0.4.2.zip

Seata(原名Fescar) 是阿里18年开源的分布式事务的框架。Fescar的开源对分布式事务框架领域影响很大。作为开源大户,Fescar来自阿里的GTS,经历了好几次双十一的考验,一经开源便颇受关注。后来Fescar改名为Seata。解决分布式事务控制

2020-02-13

starter-canal-0.0.1-SNAPSHOT.jar

canal导入maven依赖失败需要本地安装的jar包,详细的安装教程见我的一片博文,全当一起研究。mvn install:install-file -DgroupId=com.xpand -DartifactId=starter-canal -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar -Dfile=E:\starter-canal-0.0.1-SNAPSHOT.jar

2020-02-10

rabbitmq.zip

rabbitMQ相关

2019-12-24

空空如也

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

TA关注的人

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