自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Go中的逃逸分析

Go中的逃逸分析一、什么是逃逸分析二、为什么需要逃逸分析三、Go中的逃逸准则一、什么是逃逸分析在函数内部定义了一个局部变量,然后返回这个局部变量的地址(指针)。由于这些局部变量是在栈上分配的(静态内存分配),一旦函数执行完毕,变量占据的内存被销毁,任何对这个返回值的动作(如解引用),都将扰乱程序的运行,甚至导致程序直接崩溃。比如下面的这段代码:int *foo ( void) { int t = 3;return &t;} 解决办法:在函数内部使用new函数构造一个变量

2021-08-18 09:02:36 1522

原创 C语言函数和指针

文章目录1 strlen函数2 sizeof函数3 字符串追加4 空指针和野指针5 万能指针6 const修饰指针1 strlen函数计算制定字符串的长度,不包含字符串结束标志符"\0"。也就是计算\0 之前的字符个数char str[] = "abc\0defg"; int n = strlen(str); printf("输出为%d\n",n); //输出为3,2 sizeof函数sizeof实际上是获取了数据在内存中所占用的存储空间,以字节为单位来计数。int arr[]

2021-07-09 14:39:08 125

原创 第三方登录功能实现

文章目录1 什么是第三方登录2 为什么使用第三方登录3 使用第三方登录需要注意4 OAuth2.0协议5 实现微博第三方登录1 什么是第三方登录所谓的第三方登录,是说基于用户在第三方平台上已有的账号和密码来快速完成己方应用的登录或者注册 的功能。而这里的第三方平台,一般是已经拥有大量用户的平台,国外的比如Facebook,Twitter等,国 内的比如微博、微信、QQ等。下图为58同城登录界面2 为什么使用第三方登录对用户而言。相比于本地注册,第三方登录一般来说比较 方便、快捷,能够显著降低用

2021-06-16 15:43:09 1676

原创 旅游网站之手机号注册功能

文章目录一、手机号注册短信验证码二、邮箱注册一、手机号注册整体流程:前端填写并发送用户信息手机号昵称密码后端收到来自前端的信息之后,对其进行检验并存储到数据库中需要验证手机号、密码的格式是否正确查询手机号是否已经注册如果已经注册,需要对其判断是否已经激活,如果没有激活则提示其进行。如果没有注册,则将用户信息组装存储到数据库中通过第三方的SDK发送短信验证码提示前端注册成功组装信息包括:手机号userCode密码 userPassword,需要进行加密处理us

2021-06-16 15:02:52 370

原创 登录功能实现

传统的登录功能实现前端:填写用户名及密码将信息发送到后端后端:验证用户名和密码的合法性查询数据库,验证用户名和密码是否正确错误:将错误信息存储到request域中,返回到登录界面正确,将用户信息存储到session域中,然后进行页面跳转基于手机号/邮箱登录功能实现前端:与之前的一样后端:验证手机号/邮箱的合法性查询数据库,验证手机号和密码是否正确错误:将错误返回到登录界面正确:还需要进行手机号是否激活激活:完成登录,将用户信息存储,进行页面跳转未激

2021-06-16 14:49:45 1278

原创 接口测试工具

虽然之前我们说了可以利用Swagger生成接口文档并对接口进行测试。但是我们需要在代码中写入大量的关于Swagger相关的Api。现在我们可以使用一些接口测试工具,来简化接口测试工作。IDEA 内置接口测试工具点击 tools-----> HTTP Client---->Test RedtFul Web Service 可以进行接口测试Postman工具1 、首先进行登录2、 点击 + 号,输入接口的请求地址3、表单对象 使用 form-data ,json对象使用Body..

2021-06-15 18:13:45 118 2

原创 Swagger介绍及使用

概述相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端,都期望有一个好的接口文档。但是这个接口文档对于程序员来说,就跟注释一样,经常会抱怨别人写的代码没有写注释,然而自己写起代码起来,最讨厌的,也是写注释。所以仅仅只通过强制来规范大家是不够的,随着时间推移,版本迭代,接口文档往往很容易就跟不上代码了。后端希望接口改了的同时,对应的文档也自动修改使

2021-06-15 18:03:52 371

原创 Mac下Redis安装

首先下载mac版redis安装包,下载地址https://redis.io/download,我下载的版本是4.0.14执行如下指令tar zxvf redis-4.0.14.tar.gzcd redis-4.0.14编译测试sudo make test编译安装sudo make install完成,安装到了/usr/loca/bin,然后执行redis-server启动redis如果在启动的时候提示 Address already in use,意思是你的6379(redis端口

2021-06-15 13:24:12 95

原创 Nginx 报错:nginx: [error] invalid PID number ““ in “/run/nginx.pid“

错误:修改完配置文件后,进行重载,然后就报错。nginx: [error] invalid PID number “” in “/usr/local/var/run/nginx.pid”解决办法 重新启动nginxnginx -c /usr/local/etc/nginx/nginx.confnginx -s reload查看端口占用情况lsof -i:8080删除8080端口进程kill -9:834mac上安装nginx ,使用nginx -V 查看安装路径configure a

2021-06-14 10:47:31 290

原创 Nginx 负载均衡配置

nginx 作为负载均衡服务器,用户请求先到达 nginx,再由 nginx 根据负载配置将请求转 发至 tomcat 服务器。负载均衡常见的策略有:轮询ip 哈希。例如,相同的ip访问,则固定一台服务器给其提供服务,可以解决session共享问题url哈希。例如,相同的url地址,则固定一台服务器提供服务。其他方式修改/usr/local/nginx/conf/nginx.conf文件upstream tomcat_server_pool{ # 这俩分别是tomcat服务器地址,给其权

2021-06-14 08:46:48 56

原创 Nginx配置反向代理

Nginx + Tomcat 反向代理配置两台Tomcat服务器修改/usr/local/nginx/conf/nginx.conf 文件这里会讲请求aaa.test.com代理到http://lcoalhost:8080/ 这个tomcat服务器server { # 监听ip和端口 listen localhost:80 可以直接写80 listen 80; #虚拟主机的名称 server_name aaa.test.com; #所有的请求都以/开始,所有的请求都可以匹配此locati

2021-06-14 08:37:09 62

原创 Nginx配置虚拟主机

修改/usr/local/nginx/conf/nginx.conf 文件,添加虚拟主机,修改完文件后,重启nginx./nginx -s quit./nginx -t./nginx

2021-06-14 08:14:29 90

原创 maven安装jar包到本地仓库

mvn install:install-file -Dfile=/Users/erichaly/Desktop/cc-rest-sms-1.0.jar -DgroupId=com.cloopen.rest -DartifactId=cc-rest-sms -Dversion=1.0 -Dpackaging=jar

2021-06-13 11:23:54 47

原创 IDEA中移除某一个模块

点击该模块点击remove module这时我们可以看到该模块已经变成了灰色然后点击delete进行删除

2021-06-13 08:44:08 878

原创 过滤器和监听器

文章目录一、servlet生命周期二、初始化参数二、过滤器1、使用过滤器解决中文乱码2、使用过滤器解决权限问题三、监听器一、servlet生命周期服务器加载Servlet的过程服务器启动的时候,首先会读取web.xml文件将web.xml文件中的servlet信息会以键值对的形式进行存储当客户端第一次请求servlet的时候,服务器会从键值对中查找对应的servlet-name,找到之后,服务器会再次识别其中的servlet-class,然后通过反射机制进行相应的实例化,并且同时执行init初始

2021-06-12 14:57:02 41

原创 Servlet解决中文乱

在servlet最前方加上下面代码,解决中文乱码问题//解决请求中文乱码request.setCharacterEncoding("UTF-8");//解决响应中文乱码response.setContentTyoe("text/html;charset=UTF-8");

2021-06-12 10:48:03 47

原创 查看功能实现

文章目录一、查看数据详情一、查看数据详情$(".viewUser").on("click",function(){ //获取到当前标签对象 var obj = $(this); location.href = path+"/dopage/doViewUser.jsp?opr=view &id="+ obj.attr("userid"); });path就是我们在common.js中定义个一个绝对路径var path = $("#path").val();在head.jsp

2021-06-12 10:11:32 158

原创 文件上传功能

文章目录一、文件上传二、文件格式限制三、isMultipartContent一、文件上传可以使用commons中的FileUpload组件,这个包还依赖于commons-io组件准备条件:ENCTYPE=“multipart/form-data” 必须为post请求,并且为type=“file”后端需要使用FileUpload来进行文件解析1、创建一个文件项工厂对象 DiskFileItemFactory2、创建ServletFileUpload,并传入工厂对象3、解析请求,将请求中传输的文件

2021-06-12 09:29:14 551

原创 用户添加功能实现

文章目录一、refer二、BeanUtils三、日期转换器一、referrefer 是请求头中的一个属性,代表当前页面是从哪里来的,或者说是当前页面的来源地址当我们访问访问淘宝的时候,购买商品,点击购买的时候显示没有登录,他会先提示你进行登录,然后在返回到刚才购买的页面。这个时候就可以使用refer实现二、BeanUtils使用BeanUtils将表单中的数据封装成对象 这是Apache提供的一个工具类需要下载 然后导包,使用populate方法将Map集合中的键值对按照键名=实体属性名的思路

2021-06-12 08:31:08 327

原创 JSP 入门(二)

文章目录一、include标签二、href点击不跳转三、分页功能四、查询时的选中效果一、include标签一个网站上边的头header和下边的尾footer都是重复的,使用include标签引入,file后面必须是相对路径。这是静态引入,他会在编译之前将文件进行引入,然后统一进行编译<%@include file="common/head.jsp" %>二、href点击不跳转href = "javascript: ;"三、分页功能首先定义一个PageUtil类,利用泛型的原因

2021-06-11 20:36:11 74

原创 做一个本地域名

当我们部署WEB项目之后,每次输入的都是localhost:8080/项目名,我们如果想换一个域名,可以修改Windows/System32/drivers/etc下的hosts文件,127.0.0.1 www.mysystem.com

2021-06-11 18:53:29 150

原创 JSP入门

文章目录一、 初始JSP二、重定向和转发三、传递信息四、中文乱码问题五、cookie和session六、application对象七、JSP中写Java代码一、 初始JSPHTML + Java代码 = JSP1 声明 <%! %> 可以编写变量声明 方法声明2 脚本 <%%> 可以编写变量声明 调用方法等3 表达式 <%= %> 可以用于向页面输出内容 能调用有返回值的方法和直接输出一些变量 结尾不能写;号二、重定向和转发转发 相对路径req

2021-06-11 17:59:23 1120 2

原创 CSS之鼠标滑过列表中的某一行,变色

当我们浏览一个一个网页的时候,点击某一行,该行元素变色.listMain tr:hover{ background-color: #E9F9CA;}一个表格,奇数行和偶数行的颜色不一样,这里使用的是伪类选择器.listMain tr:nth-child(odd){ background: #f6f7f9}去除掉a标签的下划线a { text-decoration: none;}input有个size属性可以直接设置输入框的长度 <input type="text" .

2021-06-11 15:58:56 601 1

原创 论文“A High Performance Concurrency Protocol for Smart Contracts of Permissioned Blockchain”总结

文章目录1. 冲突图2. 交易依赖图3. 反馈节点集4. 图的稀疏度5. 关键问题一6. 关键问题二1. 冲突图与传统的并发控制理论一致,无环的冲突图证明该调度是冲突可串行化的,也就是说,如果冲突图是无环的,那么按照图的拓扑序不断地提交入度为0的节点,最中可以得到一个可串行化的顺序 L\mathscr{L}L 。否则,必须中止一些交易使得冲突图中不包含任何的环路。2. 交易依赖图 为什么使用交易依赖图对于一个区块中的所有交易而言,冲突图只能表示一次并发执行后所有交易的冲突关系,然而,对于那些因为

2021-06-07 15:44:48 2673

原创 Paxos-基于消息传递的一致性算法

Paxos算法是莱斯利·兰伯特Lamport 于1990年提出的一种基于消息传递的一致性算法。由于算法难以理解起初并没有引起人们的重视,使Lamport在八年后重新发表到TOCS上。即便如此paxos算法还是没有得到重视,2001年Lamport用可读性比较强的叙述性语言给出算法描述。可见Lamport对paxos算法情有独钟。文章目录背景知识分布式系统:一致性state machine replication强一致性算法主从同步多数派Paxos算法什么是Paxos算法拜占庭问题Paxos算法介绍Pa.

2021-06-02 14:31:33 189

原创 SpringMVC理解(三)

Spring MVC与Ajax进行交互。在SSM项目中经常会使用到ajax提交表单,controller层来接收和处理ajax请求并且回传一个对象,下面实现一个简单的处理ajax请求的功能。一 、基本使用1、 导包jar包:jackson-all-2.1.5jar2、@ResponseBody注解将返回的数据放在响应体中,如果是对象,jackson包自动将对象转为json格式@Controllerpublic class AjaxHandler { @ResponseBody..

2021-05-24 16:22:04 44

原创 SpringMVC理解(二)

利用Spring MVC进行CRUD增删改查操作,且这个CRUD是符合RESTful风格的文章目录一、环境搭建1、 标签库二、数据类型转换三、数据格式化四、数据校验一、环境搭建利用Spring MVC完整数据的增删改查操作,并且是REST风格的 /emp/1         GET请求:查询id为1的员工/emp/1         PUT请求:更新id为1的员工/emp/1   .

2021-05-24 15:58:10 53

原创 SpringMVC理解(一)

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。一、Spring MVC概述在Spring的Web MVC框架提供了模型 - 视图 - 控制器架构以及可用于开发灵活,松散耦合的Web应用程序准备的组件。 MVC模式会导致分离的应用程序(输入逻辑,业务逻辑..

2021-05-23 22:08:15 256

原创 静态代理和动态代理

什么是代理模式? 代理模式分为静态代理和动态代理,他们之间的区别是什么? 通过学习了解到动态代理实际上是一种符合AOP设计思想的技术,那么AOP中的动态代理是什么? 此外,我们发现代理模式和装饰者模式很像,那么他们之间的区别是什么?文章目录一、静态代理二、动态代理1. JDK动态代理2. CGlib动态代理三、代理模式和装饰者模式的区别按照代理的创建时期可以将代理类分为两种:动态代理和静态代理。一、静态代理二、动态代理1. JDK动态代理2. CGlib动态代理三、..

2021-05-23 16:24:59 150

原创 Java基础之一反射机制

反射是框架设计的灵魂,使用反射的前提条件是:必须先获取到Class类,Class类用于表示.class文件。注意,在运行期间,一个类,只有一个Class对象产生。一、反射的概述在运行时,允许程序在执行期间借助于Reflection API 取得任何类的内部信息,并能够直接操作任意对象的内部属性和方法。在加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像是一面镜子,透过..

2021-05-23 11:12:22 83

原创 Spring整合Mybatis

使用Spring和Mybatis进行整合,将mybatis-config配置文件和映射配置文件Mapper.xml与Spring中的applicationContext.xml进行整合,可以讲mybatis- config.xml配置文件中的关于数据库的配置如dataSource放置到applicationContext.xml中,整合只是整合applicationContext与mybatis-config这两个配置文件 文章目录一、Spring整合基于DAO开发的Mybatis二、Spring整..

2021-05-22 15:29:38 76

原创 Mybatis开发方式

文章目录一、MyBatis基于传统DAO层开发二、MyBatis基于Mapper接口开发1.引入库2.读入数据总结提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、MyBatis基于传统DAO层开发示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、MyBatis基于Mapper接口开发1..

2021-05-22 10:57:59 76

空空如也

空空如也

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

TA关注的人

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