自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 spring boot 整合 阿里云oss上传

Spring Boot 整合 阿里云OSS上传OSS申请和配置1. 注册登录2.开通以及配置springboot整合使用1. 进入我们springboot的项目中,导入oss相关依赖2. 再配置文件中添加相关信息3. 书写获取配置信息的java文件,建立properties包(导入依赖,否则无法识别这个包)4. 整合oss,书写相关java文件1. 文件常量java文件 FileConstants.java2. 文件操作工具类 OssFileUtils.java3. 阿里云 对象云存储工具类 OssUti

2020-08-09 11:39:27 531

原创 spring boot 缓存应用实例讲解

最近在做springboot的一个项目,用到缓存做登录验证(这块也可用Redis),学到了一些新知识,想和大家分享一下。一、创建springboot项目个人认为创建spring boot项目最快的地方就是访问spring.io官网,从官网创建,里面的一些基础配置都给我们配置好了,直接添加即可。首先我们通过QUICKSTART进入点击start.spring.io,进入springboot的搭建界面,进行配置选择成功以后直接下载,下载直接解压,导入maven项目(在这里我用的IDEA工具).

2020-07-29 10:57:05 1436

原创 阿里巴巴Java开发手册(华山版)
原力计划

这是第二次研读阿里规约,这本书对我们的编码规范影响非常深远,希望大家可以参考哦。前 言《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结, 经历了多次大规模一线实战的检验及不断完善, 公开到业界后,众多社区开发者踊跃参与,共同打磨完善, 系统化地整理成册。现代软件行业的高速发展对开发者的综合素质要求越来越高, 因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如: 数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险; 工程结构混乱导致后续维护艰难;没.

2020-07-05 13:31:35 3591

原创 开始我的第一个基于uni-app的微信小程序开发

微信小程序uni-app开发工具创建uni-app项目运行项目页面显示以及调试uni-appuni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。uni-app官网链接: https://uniapp.dcloud.io/开发工具HBuilderX: 点击下载微信开发者工具:调试预览工具。点击下载创建uni-app项目文件–>新

2020-06-15 23:46:56 3447

原创 基于ssm和Thymeleaf的在线考试系统----独立开发
原力计划

近几天自己搞了个在线考试系统,功能已经实现,现在分享给大家,希望对大家有帮助。github链接: https://github.com/TianEn-Zhao/qcby在线演示在线考试系统技术栈选型功能介绍具体页面演示技术栈选型JDK版本:1.8Maven版本:3.5.3本次项目使用java框架:spring + springmvc + mybatis数据库使用版本为 mysql 5.7前端使用 layui框架开发工具为 IntelliJ IDEA 2020.1 、NavicatL.

2020-06-08 13:29:45 3533

原创 有了Mybatis自带分页插件我就再也没有自己写过
原力计划

一、在ssm项目中引入依赖,数据库版本是mysql 5.7<!-- mabatis分页插件 --> <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pageh

2020-06-05 11:27:30 3409

原创 详细介绍使用java实现微信支付功能

我已经将项目放在了GitHub上,可供参考,我也是参考学长留下来的,受益匪浅。GitHub链接: https://github.com/TianEn-Zhao/wxpay这个项目我是整合在ssm框架中来实现的。数据库使用的是mysql 5.7,数据库文件已放在了项目中,可运行到自己数据库本地。我们看具体的流程是怎样的:业务流程时序图相关sdk我们可以在官方文档中下载一、项目目录文件浏览二、运行整个项目查看我们可以看到整个支付功能已经实现了。三、分析运行的流程当然这里面

2020-06-04 17:31:46 3426

原创 详解:配置VS Code远程开发工具,工作效率提升N倍
原力计划

传统的远程开发大家都知道我是从事后台服务器开发工作的,主力语言是C/C++。我们的服务端程序一般都是跑在 Linux 服务器上面,传统的开发流程是在 window 或 Mac 的 IDE 环境编写代码,然后用 ftp 或 sync 同步代码到开发机上编译,程序或服务最终发布到测试或生产环境运行。我们可能是这么干的:在本地 Windows 和 Linux 云开发机之间开启一个同步程序,本地编辑代码,实时后台同步到 Linux 云开发机,然后用 xshell 登录开发机编译、调试,这个过程有点不够优雅,.

2020-06-03 12:13:45 3460

原创 Thymeleaf:org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expres问题解决

我在前端使用Thymeleaf以及layui的表格数据的时候,出现了下面这个问题查阅资料以及参考才发现:原因在于这里进行换行操作问题就轻易解决了:

2020-05-28 22:03:00 3473

原创 Java:数组30多行代码实现堆排序

在堆的数据结构中,堆中的最大值总是位于根节点(在优先队列中使用堆的话堆中的最小值位于根节点)。堆中定义以下几种操作:1、最大堆调整(Max Heapify):将堆的末端子节点作调整,使得子节点永远小于父节点2、创建最大堆(Build Max Heap):将堆中的所有数据重新排序3、堆排序(HeapSort):移除位在第一个数据的根节点,并做最大堆调整的递归运算...

2020-05-22 11:58:08 3372

原创 Mybatis原理解析

mabatis启动流程:伴随tomcat,在tomcat启动时候,cat扫描web.xml文件,找到mabatis配置文件路径,mabatis配置文件包括但不限于xml文件。对于web.xml来说,只能引入其他xml文件。如果mabatis配置文件(或其他配置文件)是其他类型文件,非xml文件是由xml文件记录它的路径。举例:假设有一个文件a.properties,那么引入路径是:在web.xml中,引入自定义的b.xml,在b.xml中记录了a.properties的路径。a.proper.

2020-05-20 15:33:19 3382

原创 计算机专业考研还是不考研?这才是本质区别!

本文只分析计算机相关专业呦!其他理工科可以借鉴。大多数大一大二学生的内心:考研?还是不考研?算了?反正考研没错,考研吧!闹呢?这种大事不查明白就随便决定?更玩笑的是,大多数同学太懒了,压根就不去查!甚至由学历见识都不如你们的父母决定!唉,大学生总该体现一下成年人的素养,你说啥?不是成年人?还是个孩子?有种别谈恋爱!小孩子谈什么恋爱!好了,言归正传,考研和不考研,一定要弄清楚,毕竟知名互联网行业的大老板们,大多数都是本科学历,比如阿里巴巴,腾讯,字节跳动,京东,58,滴滴,小米,网易等等,这里不一一列

2020-05-16 13:14:29 3667

原创 java构建哈夫曼树,实现哈夫曼编码和译码

哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树。 我们通过一个具体的实例来讲解哈夫曼树的构造以及编码和反编码。比如说我们要对一字符串进行01编码,该如何做?我们要清楚为什么要使用哈夫曼编码?答案很简单,哈夫曼编码占位可以做到最少。一、给出指定字符串二、统计各个字母出现的次数三、以每个字母为一个叶子节点,出现次数作为权重,构建哈夫曼树注:每次挑选两个权重最小的结点执行父节点以此类推,得到最终的哈夫曼树:我们可以得到根节点的权值为18。四、进行编码从根节点开始,路径左为.

2020-05-14 20:16:41 3571

原创 解决Mybatis反向生成的mapper.xml中对应数据库表名带有引号的问题

相信有好多情况Mybatis反向生成的xml中表名带有双引号,这种情况在调用的时候会出现错误。1、方案一很简单,利用idea的查找替换,讲带有双引号的替换成不带双引号的,但是一个文件还好,要是很多岂不费时。因此我们有了方案二。2 、方案二这是很细的一个点,有的情况生成的带有双引号,有的配置文件生成的就不带有,这是我的亲身经历。下面给大家附上生成xml文件无误的代码导入依赖:<!-- Mybatis反向生成 --> <dependency> .

2020-05-13 17:44:37 3584

原创 前端:原生js实现粒子效果

效果截图:实现源码:<!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <title>demo</title> </head> <body style="overflow:hidden;background:#000"> <canva

2020-05-12 10:41:46 3430

原创 框架必经之路:java反射知识点总结

反射库(reflection library) 提供了一个非常丰富且精心设计的工具集, 以便编写能够动态操纵 Java 代码的程序。这项功能被大量地应用于 JavaBeans 中,它是 Java 组件的体系结构。 - - - - - - - - - - - - - - - - - - -源于Java核心技术(卷Ⅰ)的引用一、什么是反射能够分析类能力的程序称为反射(reflective)。二、获得class类对象的三种方式在程序运行期间,Java 运行时系统始终为所有的对象维护一个被称为运.

2020-05-09 22:15:24 3410

原创 对Java中 "动态绑定" 的理解

对动态绑定的理解简单来讲其实就是对方法调用的理解。可能好多学习编程的人想:方法的调用我还不会吗?希望这篇博客能够给大家提供帮助,博客来源于Java核心技术(卷Ⅰ)弄清楚如何在对象上应用方法调用非常重要。下面假设要调用 x.f(args,) 隐式参数 x 声明为类 C 的一个对象。下面是调用过程的详细描述:编译器査看对象的声明类型和方法名。假设调用 x.f(param,) 且隐式参数 x 声明为 C类的对象。需要注意的是: 有可能存在多个名字为 f, 但参数类型不一样的方法。例如,可能存在方法.

2020-05-08 21:56:54 3360

原创 阿里一道题让我理清了Java的初始化顺序

看题:package com.test;public class Test{ private static int k = 1; private static Testt1 = new Test("t1"); private static Testt2 = new Test("t2"); private static int i = print("i");...

2020-05-08 12:02:59 3355

原创 深入理解java值传递

我们在这里通过具体的代码示例来讲解java中的值传递1、首先我声明一个Student类,用于测试package com.test;/** * @author zte * @date 2020-05-07 18:01:06 */public class Student { /** * 为了方便测试,我这里声明为public */ public...

2020-05-07 19:38:01 3339

原创 java实现验证码

注释写在了代码里面一、工具类import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.io.OutputStream;import java.ut...

2020-05-07 16:07:38 3356

原创 计算机网络综合简答----最终版(二)

接上篇: 计算机网络综合简答----最终版(一)11、为什么计算机网络要采用分层体系结构?计算机网络是极为复杂的系统,采用分层体系结构进行设计,将计算机网络核照其实现的功能分解为功能相对独立的若干层,从最底层到最高层,系统功能迎层加强与完警,最终完成系统要完成的功能.分层体系结构的好处在干F各层实现相对独立的功能,每一层不必知道下一层功能实现的细节.只要知道下层通过层间接口提供的服务是什么以...

2020-04-27 21:23:14 3352

原创 JAVA:使用阿里云短信接口实现短信验证码的发送(详解)

一、上代码之前的准备工作1、需要注册一个阿里云账号,进入阿里云阿里云首页: https://www.aliyun.com/2、进入短信服务3、获取Access_key和Access_secret获取Access_key和Access_secret之后要好好保存4、申请签名与模板申请短信签名和模板需要几个小时,有的很快,稍微等待一下。二、开始上代码我是在maven项目...

2020-04-20 00:01:09 3476

原创 spring MVC工作原理解析(学框架的一眼就懂)

在这之前,我读过spring MVC的源码以及看过别人写的博客,但是介绍都比较官方,不容易理解 ,在这里,我整理总结了一下spring MVC的工作原理,描述纯白话,容易理解。spring MVC工作原理:(五步战略)项目启动时会从配置文件里面去扫描配置的路径,通过路径去扫描对应包下所有的文件,挑出后缀是class的文件,会把这些文件的名字提取出来,再把文件的名字与配置文件中的路径加起来...

2020-04-17 11:17:07 3371

原创 计算机学习技术路线

不包含人员素质考虑,纯技术路线:一、 了解计算机物理结构本质数据的存储以及读写本质数据传输本质数据的存储读写,数据传输。这两个部分都是怎么实现的,只有了解原理,才可以深刻 意识到计算机各个环节的物理性能瓶颈。需要补充物理电路学相关知识,大学需要学习《电子线路设计》,《计算机组成原理》,《通信网基础》,《计算机网络》。但是大学课程深度有限,这一部分需要完全掌握。并且可 以融合贯通。...

2020-04-10 10:56:24 3405

原创 http 与 https 的区别以及加密详解

一、http与https的区别:http和https是两种通信方式http默认采用80作为通讯端口,对于传输采用不加密的方式,https默认采用443,对于传输的数据进行加密传输。https协议需要到CA申请证书HTTPS协议可以理解为HTTP协议的升级,就是在HTTP的基础上增加了数据加密。在数据进行传输之前,对数据进行加密,然后再发送到服务器。这样,就算数据被第三者所截获,但是由于数...

2020-04-08 21:41:39 3361

原创 HashMap 原理详解

一、对HashMap的了解首先我们要知道什么是哈希表以及它的结构。在介绍哈希表之前我们需要了解并且掌握数组、链表以及红黑树的结构以及特点。1、数组: 将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大...

2020-04-05 17:43:08 3394

原创 MyBatis连接池的实现原理分析

MyBatis的连接池 1. 连接池技术2. MyBatis连接池的分类3. MyBatis连接池的实现原理分析1.MyBatis连接池的实现原理分析(图解)1. 连接池技术连接池是什么:存储连接的容器解决了什么问题 :如果没有连接池,那么每次都执行SQL语句都会创建connection连接,会浪费时间。影响 程序的性能。提前创建一些连接,存储到连接池中,使用的时候从连接池中获...

2020-03-30 00:02:00 3343

原创 详解Centos7 安装redis集群哨兵模式

一、整体哨兵模式规划redis节点规划:6381 (master), 6382 (slave),6383 (slave),6384 (slave)sentinel模式节点规划:26381 , 26382二、Redis主从安装步骤1、 Redis安装2、在/usr/local/目录下创建 redis-sentinel文件夹3、进入/usr/local/redis-sentinel目...

2020-03-26 19:02:58 3346

原创 CentOS7下安装Redis

一、安装Redis1、获取Redis可以线上获取,也可以从本地上传:wget http://download.redis.io/releases/redis-5.0.5.tar.gz2、解压 tar xzvf redis-5.0.5.tar.gz //xzvf代表参数3、解压之后安装cd redis-5.0.5 #直接打开make#进入src目录下c...

2020-03-25 22:02:38 3313

原创 git:非常简单的解决git冲突

我们在开发一个项目的时候肯定会是几个人共同开发,我们必然会用到git,当然肯定会提交的时候遇到冲突。下面我就来解决一下冲突。只用简单的几条git命令。假设分支名为dev一、git pull origin dev我们在提交之前先拉取一下,养成良好的习惯。#dev是分支名,origin是指向远程提交git pull origin dev二、git status在拉取成功之后我们...

2020-03-23 17:10:18 3334

原创 丢掉xshell,该用FinalShell了

集Xshell、Xftp于一体的强大工具链接: https://pan.baidu.com/s/1Ivz9iA3TO-LPZp2EF4bCsw.提取码:yk6p

2020-03-17 17:41:15 3414

原创 使用java生成、解析二维码

一、导入jar包(在工程中可以导入依赖)在一个普通的java项目中,我们需要导入相关的jar包来生成和解析二维码,但是在一个maven工程等等的web项目中,我们可以通过带入相关依赖来实现。jar包链接: https://pan.baidu.com/s/1Vk6QnyFWQuMxm85RsMOrAg提取码:9nbk如果添加依赖的话,可以导入下面的Zxing依赖: <dependen...

2020-03-15 11:26:30 3355

原创 Java 通过POI 操作excel表格:读取、写入

Java操作excel表格是很常见的,在下面的例子中我将展示使用Java如何对excel进行读取和写入操作。(我是在ssm中实现的)一、导入依赖(如果是在普通Java项目中需要导入相应jar包)相应的jar包以及demo测试下载:链接: https://pan.baidu.com/s/1M5ce–CxOKKMuFtpsWXQfg提取码:abcy <!-- 引入poi,解析w...

2020-03-12 12:27:00 3314

原创 Git 常用命令总结

一、push到远程库git clone < url > :克隆git status :查看状态git remote -v :查看远程库信息git add . :将所有文件添加到暂存区git commit -m “提交名” :提交到本地库git push origin(git remote -v查到的别名) master(分支名) :推送到远程库二、git pull(...

2020-03-10 11:57:37 3304

原创 jQuery中ajax请求的使用

1、导入jquery(必须)<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>//当然也可以采用线上的jquery2、ajax的使用步骤$.ajax({ type:"post", // 规定请求的类型(get或 post) url:...

2020-03-09 19:32:25 3339

原创 计算机网络综合简答----最终版(一)

1、osi七层模型及数据传输的过程,每层功能应用层、表示层、会话层、传输层、网络层、数据链路层、物理层.发送进程发送给接收进程的数据实际上是发送进程经发送方各层从上到下传送到传输介质,经传输介质传输到接收方.再经接收方各层从下到上传送到接收进程.在发送方从上到下逐层传送的过程中每层都要加上适当的控制信息,即图中的包头H( Header).接收方在向上传送时正好相反,要逐层剥去发送方相应层加上...

2020-03-09 14:45:18 3335

原创 java实现快速排序(简洁模板)

快速排序的算法思想基于分治的思想,是冒泡排序的改进型。首先在数组中选择一个基准点(该基准点的选取可能影响快速排序的效率,后面讲解选取的方法),然后分别从数组的两端扫描数组,设两个指示标志(low指向起始位置,high指向末尾),首先从后半部分开始,如果发现有元素比该基准点的值小,就交换low和high位置的值,然后从前半部分开始扫秒,发现有元素大于基准点的值,就交换low和high位置的值,如...

2020-03-08 17:57:08 3299

原创 java实现归并排序

归并排序归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序是一种稳定的排序方法。平均时间复杂度为O(n logn)归并排序,它有两大核心操作:一个是...

2020-03-08 17:44:42 3286

原创 前端:基于Vue框架以及Axios实现天气预报系统

Vue框架Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。安装vue框架:<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></s...

2020-03-08 17:05:38 3360

原创 前端:实现各样的验证码

相信我们在很多地方都能看见验证码的使用。那么如何实现验证码的功能呢?在这里使用一个不错的 jQuery插件:verify插件下载链接: http://www.htmleaf.com/jQuery/Form/201711064813.html先看一下界面效果:html代码:<!DOCTYPE html><html lang="zh"><head&...

2020-03-05 15:50:19 3359

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