自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 支付宝支付快速集成实现

之前写过一篇微信支付的文章,相对来说,微信支付是比较麻烦的,申请商户号需要真实资质。支付宝就方便很多,文档和demo也相当齐全,尤其是友好的沙箱环境,可以实现支付功能的快速开发概念支付场景支付宝支付支持多种支付场景包括当面付、app支付、手机网页支付等。本文已当面付为例说明当面付-扫码支付场景简介:买家通过使用支付宝 “扫一扫” 功能,扫描商家的二维码等方式完成支付支付流程:展示二维码->扫码支付->等待回调->修改订单状态->定期对帐应用场景用户打开支付宝中的.

2020-09-30 09:59:28 1243

原创 SpringBoot实现azure blob的文件上传

Azure Blob 存储是 Microsoft 提供的适用于云的对象存储解决方案。 Blob 存储最适合存储巨量的非结构化数据准备Azure 订阅点击创建免费帐户,选择免费开始,使用微软账户注册订阅后即可试用12个月Azure 存储帐户点击创建存储帐户,根据教程即可创建一个存储账户,若没有安装azure cli,推荐直接参考【门户网站】一栏Azure门户凭据登录到 Azure...

2020-04-05 17:58:25 2088 3

原创 项目构建基础-统一结果,统一异常,统一日志

统一结果返回目前的前后端开发大部分数据的传输格式都是json,因此定义一个统一规范的数据格式有利于前后端的交互与UI的展示。统一结果的一般形式是否响应成功;响应状态码;状态码描述;响应数据其他标识符结果类枚举前三者可定义结果枚举,如:success,code,message@Getterpublic enum ResultCodeEnum { SUCCES...

2020-04-05 17:57:41 160

原创 微信JSAPI支付(二)代码重构之统一下单,查询,下载等功能实现

前一篇介绍了如何实现微信的统一下单,但在实际生产中,不建议直接使用。开发中的代码,需要可移植,低耦合。因此,特地重构了关于微信支付的代码,希望为感兴趣的朋友能提供一些帮助。重构步骤配置类注入1.新建实体类,封装微信公众平台的配置参数@Datapublic class WCPConfigParams { // 公众号id private String appId; ...

2020-04-05 17:55:28 642 1

原创 redis安裝并与SpringBoot整合

Redis安装远程连接工具可以使用xshell,crt,MobaXterm等连接工具我这里使用xshell,使用教育版即可,推荐直接在官网登记下载打开后,文件->新建,创建一个新的会话属性,录入服务器的IP,点击连接后输入登录的用户名密码即可连接并安装安装来源推荐直接使用官网的下载路径即可,里面有详细的安装步骤推荐安装到opt目录下,下面是我的安装流程su root /...

2020-04-05 17:54:05 77

原创 数据结构与算法---常见排序

之前看了一点关于数据结构和算法的文章,这是个充满魅力的领域,想简单总结分享一下冒泡排序从小到大:初始化两个指针,分别指向第一个元素(索引0)和第二个元素(索引1);比较相邻两个元素的大小,若右侧的元素(index+1)小于左侧(index),则交换位置,否则不变;指针同时右移一个单位;重复第二步,直到到达数组末尾;末尾索引减一(已是最大),重复1,2,3,直到无须交换;冒泡...

2020-04-05 17:53:19 300

原创 微信JSAPI支付(一)统一下单

开发准备参考文档 JSAPI支付开发文档支付方式目前微信主流的支付方式有以下6种方式说明付款码支付付款码支付是用户展示微信钱包内的“刷卡条码/二维码”给商户系统扫描后直接完成支付的模式。主要应用线下面对面收银的场景。Native支付Native支付是商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站支付、实体店...

2020-04-05 17:52:31 2859

原创 微信公众号快速开发(四)微信网页授权

引入授权OAuth2概念引入OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 2.0(即完全废止了OAuth1.0)。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用代表用户获得访问的权限。以上来自百度百科,即OAuth由Resourse Owner(资源所有者),Client(客户...

2020-04-05 17:51:46 338

原创 微信公众号快速开发(三)多种消息类型处理

之前介绍了自动回复,下面介绍一些常见的消息处理样式开始开发——关键字回复功能描述当我们公众号发送一些关键词的时候,公众号会回复自动回复有关关键词的信息。实现思路消息类型为文本样式接收的客服端消息中要包含该关键字代码开发为便于扩展,将消息处理的方法写到服务层,新建收发信息的dto一、便于扩展为不同类型的消息,修改收发消息的封装,改用dto模式基础消息实体类@Da...

2020-04-05 17:50:57 770

原创 微信公众号快速开发(二)项目搭建与被动回复

工具:idea2018,jdk1.8,框架:springboot+thymeleaf基础搭建说明,本项目着力于快速开发,前端页面只做最基本的页面跳转和参数校验。若是需要前后端分离,可参考一些开源的项目,如givebest/node.js-wechat-js-sdk准备一、测试/正式账号公众平台测试账号,根据上一篇注册即可二、web开发者工具,拖至文末,选择适配版本下载即可。(因为微信...

2020-04-05 17:50:08 173

原创 微信公众号快速开发(一)开发者与公众号平台接入

引入由于微信的庞大基数,微信公众号成为我们更为轻量便捷综合的平台入口。我们可以与订阅的公众平台查询信息,订购服务,购买商品,掌握微信公众号平台的开发,也是一个开发者的基本经历。写下这篇文章希望能与感兴趣的人一起探索。公众平台的分类进入平台官方地址:微信公众平台主要分为以下四类:功能举例服务号为企业和组织提供更强大的业务服务与用户管理能力,主要偏向服务类交互123...

2020-04-05 17:47:41 820

原创 Docker安装RabbitMq

docker的安装使用可参考上篇文章Docker安装与Nginx映射配置RabbitMq说明RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而聚类和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。–[维基百科]RabbitMq使用RabbitMq在...

2020-04-05 17:44:58 160

原创 Docker安装与Nginx映射配置

环境:aliyun centos7.14安装Docker安装yum install docker检查docker -v服务systemctl status docker // docker状态systemctl stop docker // 停止systemctl start docker // 启动systemctl restart docker /...

2020-04-05 17:44:07 971

原创 阿里云部署博客hexo+git+nginx

部署环境:阿里云centos7.3,本地win10检查端口访问权限实列列表->操作->更多->网络和安全组->安全组配置,点击配置规则,查看是否开放了4000和80端口没有配置的直接点击右上角的【添加安全组规则】即可,授权对象一般配置0.0.0.0/0,即对所有访问者开放。环境搭建推荐直接使用命令安装,也可以去官网下载tar包然后解压。安装gityum ...

2020-04-05 17:42:23 324

原创 记一次购买阿里云服务器的过程

做了有一段时间开发了,很想搭建属于自己一个属于自己域名的博客,也想将自己的项目部署到线上,测试实际的性能。所一脑子一热买了服务器,为了省去后来人纠结的选择,简要的记录了一下流程我是先注册了域名,再购买的服务器。至于为什么,当然时便宜了。域名首先登录阿里云,。网页的话直接在搜索框输入自己想要的域名即可(不知道有没有和我一样,起名字要想半天…)我这里是使用的手机app,在【控制台-域名...

2020-04-05 17:41:26 241

原创 彻底弄清SpringSecurity登录原理及开发步骤

SpringBoot+Vue之SpringSecurity登录与授权(一)工具:idea2018,springboot 2.1.4,springsecurity 5.1.5简介SpringSecurity是Spring下的一个安全框架,与shiro 类似,一般用于用户认证(Authentication)和用户授权(Authorization)两个部分,常与与SpringBoot相整合。...

2019-05-02 23:19:37 2198

原创 SpringBoot+Vue之分页操作

springboot–表格操作02以上一篇表格操作为基础,加入分页操作,完善核心代码。上篇详情CRUD与文件导入导出。流程后端开发1、定义分页查询统一返回的实体类(RespPageEntity.java)@Datapublic class RespPageEntity { private List<?> data; private Long total...

2019-04-28 20:44:11 2710 2

原创 SpringBoot+Vue之表格的CRUD与导入导出

SpringBoot+Vue–表格操作工具环境:jdk1.8,myql5.7,webstorm2018, idea2018,SQLyog,postman该项目推荐刚入门springboot开发的朋友们练手使用业务简介创建一个页面,展示玩家信息,支持玩家的增删查改,并支持页面表格的导入导出。目的梳理业务逻辑和开发流程,理解并独立开发。步骤尽量简要效果预览开发流程创建数据库脚本...

2019-04-27 00:11:15 5551 5

原创 CAS导致的ABA问题及解决

Java并发–非阻塞同步CAS问题引入在并发问题中,最先想到的无疑是互斥同步,但线程阻塞和唤醒带来了很大的性能问题,同步锁的核心无非是防止共享变量并发修改带来的问题,但不是任何时候都有这样的竞争关系。什么是CASCAS,比较并交换(Compare-and-Swap,CAS),如果期望值和主内存值一样,则交换要更新的值,也称乐观锁。如线程甲从主内存中拷贝了变量A为1,在自己的线程中将副...

2019-04-24 22:10:05 467

原创 Redis概述与常用指令

Redis使用二-指令环境:redis-5.0.3,centos605概述Redis是一个高速的nosql内存数据库,本质是内存中的数据结构存储系统,存储形式为K-V对键(Key)类型为String字符串,值(Value)支持5种类型:字符串、列表、集合、散列表、有序集合Redis的数据正常操作存取在内存,也支持持久化(如硬盘),通过复制提高读性能,分片提高写性能。Redis的数...

2019-04-24 00:05:32 74

原创 Redis淘汰策略

Redis淘汰策略Redis有6大淘汰策略策略描述volatile-lru从已设置过期时间的K-V集和中优先对最近最少使用(less recently used)的数据淘汰volatile-ttl从已设置过期时间的K-V集和中优先对剩余时间短(time to live)的数据淘汰volatile-random从已设置过期时间的K-V集和中随机选择数据淘汰...

2019-04-22 22:16:11 96

原创 SpringBoot之全局异常处理

异常处理问题分析异常如何处理问题引入针对代码中的异常,常规有两种处理方式,一种throws直接抛出,另一种try…catch捕获。在java项目中,有可能存在人为逻辑的异常,也可能为取得异常的详情,或是保证程序在异常时继续向下执行,会采用第二种处理方式。但是,代码中每一处异常都来捕获,会使代码什么冗余且不利于维护。解决思路定义一个全局异常处理类,返回统一规范的异常...

2019-04-21 21:46:04 199

原创 多线程下指令重排与DCL单列模式

指令重排简述1、JMM内存模型三大特性包括原子性,可见性,有序性。详细请看https://blog.csdn.net/weixin_40141790/article/details/89342153。2、指令重排是相对有序性来说的,指在程序执行过程中, 为了性能考虑, 编译器和CPU可能会对指令重新排序。单线程模式下只有一个执行引擎,不存在竞争,所有的操作都是有有序的,不影响最后的执行结果。...

2019-04-19 20:40:41 522

原创 Java NIO原理及简单拷贝实列

NIO原理及使用运行环境:idea2018,jdk11简述1、比较IONIO数据处理字节或字符流(stream)块(channel)方向单向(InputStream/OutputStream)双向(读写)2、NIO(Non-blocking I/O),非阻塞IO,也可以理解为新IO(new I/O)。相对于传统的IO以字节或字符或单位传输,NI...

2019-04-19 12:49:34 172

原创 centos6配置静态ip,百分百可行

Centos6配置静态网络centos6.5,vmware15步骤设置NAT模式1、虚拟机-设置2、网络是配置-NAT模式3、编辑-虚拟网络配置4、更改设置( c )5、选择NAT模式,设置子网IP,我这里设置为192.168.1.06、NAT设置,更具子网IP,这里的网关设置为192.168.1.27、打开虚拟机,开始配置文件修改网络配置文件1、网络文件夹c...

2019-04-17 17:37:40 169 1

原创 关于Java内存模型的三大特性

关于Java内存模型的三大特性Java在面对跨平台问题时,重要的一项就是解决硬件和操作系统内存之间的访问。Java内存模型简要工作逻辑如下图:cpu的处理速度远快于内存的读写速度,因此Java采用高速缓存建立其桥梁。其中protocal协议是为了保证多个进程访问cpu主内存时,多个缓存与主内存数据一致性。当线程需要使用变量数据时,需要从主内存中拷贝一个副本到自己的缓存中...

2019-04-16 21:05:19 936 1

原创 Map之HashMap源码浅析-扩容

HashMap源码浅析jdk11,工具idea一、存储结构入口:Ctrl+N查找到hashmap源码,找到静态内部类/** * Basic hash bin node, used for most entries. (See below for * TreeNode subclass, and in LinkedHashMap for its Entry subc...

2019-04-15 21:35:45 194

原创 在IDEA中新建Servlet

在IDEA中新建Servlet1.file新建project,建议选Javaee,如下图2.新建module,选择同project。在web-inf目录下新建两个目录,classes和lib(使用new servlet也可以)。classes里放编译文件,lib一般用于导包上图中,工程名为MyWebProject,该工程部署时,在webapps目录下就会有一个MyWebProject的...

2019-01-20 20:45:17 3609

空空如也

空空如也

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

TA关注的人

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