自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

极_晓的博客

路途遥远,勿忘初心

原创 对接微信支付退款证书之坑

背景 项目需要直接对接微信支付,实现小程序支付和退款功能,支付不需要证书,但是退款的话需要证书支持 语言:php 开发环境win 测试环境centos 坑点1:路径问题 网上查到比较多的答案是在Linux系统下采用虚拟路径,Windows系统下采用绝对路径,但是在开发的过程中,发现在Win...

2018-10-25 11:07:16

阅读数 7166

评论数 1

原创 Tomcat集群存在的问题与单点登录的实现

背景 最近打算对自己之前写的个人项目进行一个迭代优化,之前是采用单机单应用的架构进行部署,如果用户量一旦大起来,单机肯定是抗不住的,于是对项目进行这方面的优化 架构分析 目前项目的架构如下图,用nginx做一个反向代理,一个tomcat,Tomcat和ftp server都部署在...

2018-09-03 10:50:26

阅读数 1352

评论数 1

原创 Spring MVC拦截器配置以及统一登陆校验实现

拦截器概念 这里引用百度百科里面的说法,java里的拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重用部分的方式。在AOP(Aspect-...

2018-08-31 11:28:08

阅读数 1184

评论数 0

原创 redis学习(3)——字符串

redis 字符串 redis中的字符串命令用于管理Redis中的字符串值 常用命令 SET key value:此命令设置指定键的值。 GET key:获取指定键的值。 GETSET key value:设置键的字符串值并返回其旧值。 GETRANGE key start end:截...

2018-08-20 13:46:58

阅读数 71

评论数 0

原创 记一次小程序与后端对接

背景 最近项目开发进入了前后端联调阶段,这次是和小程序前端与PHP后端进行联调,场景是前端输入手机号进行发送手机验证码,输入3次以后要进行图形验证码输入,防机器人暴力枚举 场景流程 前端请求手机验证码发送接口 后端判断手机号是否注册 3次无验证判断后,第四次请求会触发验证码验证...

2018-08-16 15:07:45

阅读数 4237

评论数 0

原创 redis学习(2)——键命令

redis 键命令 redis的键命令用于管理redis中的键(key) 语法 COMMAND KEY_NAME 常用键命令 DEL key DUMP key EXISTS key EXPIRE key seconds EXPIREAT key timestamp PE...

2018-08-01 10:52:51

阅读数 66

评论数 0

原创 JVM学习(3)——类加载机制&面试题分析

JVM的类加载 我们平时在编译java代码之后,会生成.class文件——字节码文件,JVM会执行字节码文件,JVM执行字节码文件的过程为下面7个阶段 1. 加载 2. 验证 3. 准备 4. 解析 5. 初始化 6. 使用 7. 卸载 加载 简单的说,就是把字节码文件加载...

2018-07-31 13:10:07

阅读数 1892

评论数 0

原创 更换CentOS的yum源

背景 在用yum安装的时候,可能会因为网络原因会找不到一些软件 更换yum源 我们可以通过更换yum源来改善这个情况,把yum源设置为国内的的源可以提升安装软件包或更新软件包的速度 步骤 常用源 我们常用的国内有下面几个源 网易: CentOS 5: htt...

2018-07-26 15:50:07

阅读数 82

评论数 0

原创 redis学习(1)——介绍&安装

NoSQL 介绍 NoSQL不是No SQL的意思,而是Not Only SQL,指的是非关系型的数据库,是对不同于传统的关系型数据库的数据库管理系统的统称。 NoSQL使用场景 NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比...

2018-07-26 15:21:33

阅读数 73

评论数 0

原创 docker入门(4)——mysql安装

安装mysql mysql使我们经常用到的数据库,在搭建javaweb环境中,他也是必不可少的,在上一节,我们安装了jdk,tomcat,这个镜像,我们基于这个镜像继续安装mysql服务 安装wget wget是一个从网络上自动下载文件的自由工具,用于我们去下载网络上的一些资源,十分方便...

2018-07-26 15:19:22

阅读数 59

评论数 0

原创 docker容器ping不通外网

背景 今天在docker搭建redis环境的时候,发现yum拉取不到资源,上不到网,报了如下错误 http://mirrors.aliyun.com/centos/6.10/extras/x86_64/Packages/epel-release-6-8.noarch.rpm: [E...

2018-07-26 15:15:45

阅读数 8669

评论数 4

原创 JVM学习(1)——java代码运行

JRE与JDK的区别 我们经常听到JRE和JDK,这两个是不一样的东西,JRE(Java Runtime Environment)仅包含运行java程序的必须组件(jvm和java核心类库等)。而我们作为开发人员,平时用到的都是JDK(Java Development Kit),其包含了J...

2018-07-25 18:17:55

阅读数 146

评论数 0

原创 shell入门(10)——关系运算符&算术运算符

关系运算符&算术运算符 关系运算符 在两个数要比较大小关系的时候就要用到关系运算符,不过要注意的是关系运算符只支持数值运算,不支持字符运算,我们日常用到的关系运算符主要有以下几种 -eq:检测两个数是否相等,相等返回 true。 -ne:检测两个数是否不相等,相等返回 ...

2018-07-20 10:13:09

阅读数 60

评论数 0

原创 shell入门(9)——特殊符号&逻辑运算符

shell的特殊符号&逻辑运算符 特殊符号 在我们看shell脚本的时候,经常会看到以下特殊符号,如[]、[[]]、(())、$(())、()等,具体他们有什么作用将会在下面一一解答 test命令 test命令主要是来做表达式判断的 1. 语法结构 tes...

2018-07-20 10:12:09

阅读数 1035

评论数 0

原创 shell入门(8)——数组的使用

shell中数组的使用 基本概念 shell和大多数编程语言一样,有数组这个概念,可以用于存放多个值,不过有下面几点需要注意: shell只支持一维数组,不能用多维数组 初始化的时候无需指明数组的容量 下表从0开始 语法 arrayName=(var1 var2 var3...

2018-07-20 10:09:47

阅读数 55

评论数 0

原创 shell入门(7)——文件判断操作

文件判断操作 shell中有专门对文件的状态属性进行判断的测试运算符,主要有以下几个 -b file:是否为块设备文件 -c file:是否为字符设别文件 -d file:是否为目录 -f file:是否为普通文件 -g file:文件是否设置了 SGID 位 -k file:是否设置了粘着...

2018-07-20 10:08:39

阅读数 101

评论数 0

原创 shell入门(6)——函数使用及重定向输出

函数的使用 shell语言和其他高级语言一样,提供函数支持,用户可以自定义函数,在shell脚本中调用 函数定义 shell定义函数的方式和JavaScript、PHP等脚本语言很相似,shell也是一种脚本语言,具体如下 #!/bin/bash function myShell(...

2018-07-20 10:07:33

阅读数 330

评论数 0

原创 shell入门(5)——循环结构

循环结构 在我们日常开发中,循环结构也是一个使用频率很高的结构,在做一些数组的迭代的时候,都离不开循环,在shell中也可以使用循环结构 for 语法结构 for varname in item1 tiem2 tiem3 ... itemN do command ...

2018-07-18 19:56:09

阅读数 67

评论数 0

原创 shell入门(4)——选择结构

选择结构 在高级语言中,选择结构也是经常用到的,几乎是用的最多的一种结构 语言和语言之间是相通的,在shell中也有选择结构,而且与高级语言相似,具体如下 if else结构 语法结构 if condition then command ... else ...

2018-07-18 19:53:24

阅读数 108

评论数 0

原创 埋点

背景 在公司听到很多新名词,做个小记录大概查一下这些概念是什么意思,以便于日后详细拓展,最近项目进入埋点阶段,在此记录埋点的一些基本概念 1.埋点 埋点就是在应用服务器中的每一个页面中都嵌入一段js脚本,使用户在访问页面时自动触发js收集用户访问行为日志,最后提交到日志服务器。埋...

2018-07-18 09:21:48

阅读数 2435

评论数 1

原创 docker内部网络挂掉

背景 在搭建docker下的javaweb环境的时候,安装了Tomcat,但是启动的时候报了如下的错误 Cannot start container 0f7e77d72505c80d0c153be34529dc00e434ebdec30c7c55b117305c3fdfac86: ipt...

2018-07-15 17:58:51

阅读数 692

评论数 0

原创 docker入门(3)——搭建javaWeb环境

搭建java web环境 使用docker搭建java web环境 系统:centos 6.8 java: JDK 8 server:Tomcat 8 搭建步骤 获取centos镜像 //切换root用户 su - root //查询centos镜像 docekr se...

2018-07-15 17:36:03

阅读数 100

评论数 0

原创 shell入门(3)——shell中的比较

比较 在实际当中,我们一定会遇到变量之间的比较的时候,在shell中比较主要是分为数值类型的比较和字符类型的比较,具体如何比较如下 数值比较 []比较 #!/bin/bash a=1 b=0 if [ $a > $b ] then echo "a ...

2018-07-15 11:12:27

阅读数 210

评论数 0

原创 docker入门(2)——第一个docker程序

第一个docker程序 载入容器 //载入容器 docker pull training/webapp //运行 docker run -d -P training/webapp python app.py /*参数说明 -d:让容器在后台运行。 -P:将容器内部使用的网络端口映射到我...

2018-07-13 18:28:33

阅读数 87

评论数 0

原创 docker入门(1)——docker安装

Docker是什么? Docker 是一个开源的应用容器引擎,可以让我们打包我们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极...

2018-07-13 18:25:08

阅读数 78

评论数 0

原创 shell入门(2)——基本数据类型与数学运算

基本数据类型 shell语言是一门弱类型语言,无论输入的是字符串还是数字,shell都是按照字符串类型来进行存储的,具体属于什么数据类型,shell会根据上下文进行确定 变量的使用 上面提到过,shell是一门弱类型的语言,所以变量可以不用定义就直接用,有如下几种引用方式 直接用$引...

2018-07-13 18:03:16

阅读数 1999

评论数 0

原创 shell入门(1)——第一行shell命令

shell脚本 由一系列的Linux命令和Shell语言组成的一个脚本文件 Shell 安装 可以直接采用Linux系统的云主机(ubuntu、centOS…) Windows上面可以安装git,然后再一个空文件夹下右键鼠标,选择git bash here就会出现一个命令行窗口 ...

2018-07-13 18:01:30

阅读数 887

评论数 0

原创 maven环境隔离

背景 在项目开发的过程中你肯定会遇到这类问题,本地开发一套配置,线上部署一套配置,每次把本地代码打包到线上环境的时候都要重新修改配置,十分麻烦,这种情况应该如何解决呢? 解决方法 解决方法肯定是有的,而且用的是我们最常用的一个打包工具——maven。 简单介绍 项目的开...

2018-07-09 21:03:59

阅读数 66

评论数 0

原创 magento目录结构说明

/app – 程序根目录 /app/etc – 全局配置文件目录 /app/code – 所有模块安装其模型和控制器的目录 /app/code/core – 核心代码或经过认证得模块,如果要升级不要这里的代码 /app/code/community – 社区版的模块目录 /app/cod...

2018-07-09 15:18:25

阅读数 110

评论数 0

原创 win10子系统ubuntu16安装mysql无法启动

背景 在win10子系统上面安装了mysql,根据网上的步骤来,安装完成之后,无法正常登陆mysql,解决步骤如下 过程 安装过程如下 //升级源 sudo apt-get update //apt安装mysql-server sudo apt-get install...

2018-07-03 15:01:56

阅读数 1471

评论数 1

原创 token

为什么要使用token? 因为HTTP协议是开放的,可以任人调用。所以,如果接口不希望被随意调用,就需要做访问权限的控制,认证是好的用户,才允许调用API。 目前主流的访问权限控制/认证模式 Bearer Token(Token 令牌) 定义: 为了验证API请求者的身...

2018-07-03 14:59:52

阅读数 5909

评论数 1

原创 IDEA导入eclipse开发的java web项目

说明: 我们经常会遇到这种情况,在网上下载一个demo,但是开发的IDE和自己的不同,这里介绍一下我下载的一个demo(使用eclipse开发)导入到IDEA中 材料准备: IDEA 支付宝官方当面付demo(java版本, url:https://docs.open.alip...

2018-03-05 21:42:47

阅读数 436

评论数 0

原创 java项目利用PropertiesUtil类配置化

目录 1、实现思路 2、源码展示 3、调用例子 4、配置文件结构 5、总结 问题: 在项目中我们可能会经常遇到下面这种情况,比如我们需要和FTP服务器进行一个对 接,以前我们会直接把FTP服务器地址直接在代码中写死,这样就会出现一个问题,如果一个 项目中在多处用...

2018-01-27 00:08:53

阅读数 1765

评论数 0

原创 使用SpringMVC进行文件上传以及与FTP服务器对接

在pomxml加入上传文件所需要的bean 在dispatcher-servletxml中加入对文件大小文件编码等信息 后台上传大致流程 FileService源码展示 FTPUtil源码展示 在项目中,很多时候需要进行文件上传,下面这个过程是我在一次开发过程中使用的文件上传步骤,运用到Spr...

2018-01-25 12:52:58

阅读数 4069

评论数 0

原创 Java——HashMap原理

目录 1. HashMap简介 2. HashMap的底层结构 3. HashMap源码分析 4. HashMap的扩容机制 5. HashMap的性能 1、HashMap简介 HashMap是一个用于存储(key-value)结构的散列表 ,继承了AbstractMap,实现...

2017-11-26 18:58:45

阅读数 1067

评论数 1

原创 数据结构--FP Tree

FP Tree的数据结构FP Tree算法引入了一些数据结构来临时存储数据,这些数据结构有3个组成部分,分别是项头表、FP Tree 、节点链表FP Tree的构建

2017-09-18 12:41:15

阅读数 393

评论数 0

原创 高复用服务相应对象的设计思想以及抽象封装

目录问题 在web开发中,后台开发与前端交互主要是通过json的方式,后台通过统一的返回样式,可以使前后端更好的交互,在一次项目中,我每次返回一个复杂对象的时候,都是用一个匿名对象序列化成json格式的数据返回前端,由于这个项目前后台都是我一个人完成,所以我能比较清楚返回的东西,但是如果是前后端分...

2017-09-09 23:43:16

阅读数 318

评论数 0

原创 java——反射机制

java反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 反射机制的功能 主要是动态处理类 在运行时判断任意一个对象所属的类; 在运...

2017-05-20 10:00:10

阅读数 109

评论数 0

原创 java——socket

摘要: 1. socket介绍 2. 端口 3. java提供网络功能类 4. socket通信模型 5. TCP,UDP的优缺点和应用场景1、socket介绍: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要...

2017-05-19 18:33:03

阅读数 218

评论数 0

原创 三层架构与MVC架构的区别

三层架构: 三层架构图 UI(User Interface layer:表现层): 主要是指用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。BLL:(Business Logic Layer:业务逻辑层): UI层和DAL层之间的桥梁。实现业务逻辑。业务逻辑具体包...

2017-04-25 13:43:16

阅读数 345

评论数 0

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