- 博客(31)
- 收藏
- 关注
转载 2020-11-17
最近使用前后端分离的模式进行后端开发,前端说我提供的接口方式不够安全,我就再学习一哈不懂就问果然百度一下竟然阿里一面也会问这种问题,原文链接 阿里一面:如何保证API接口数据安全接口签名为了防止接口数据被伪造,一级接口被重复调用的问题,就要用到接口签名的方案。签名流程如图所示签名规则1线下分配appId和appsecret,针对不同的调用放分配不同的appid和appsecret2、加入timestamp(时间戳),5分钟内数据有效3、加入临时流水号NONCE(.
2020-11-17 16:13:21
205
转载 Springboot启动流程
启动结构图启动每个SpringBoot程序都有一个主入口,也就是main方法,main里面调用SpringApplication.run()启动整个spring-boot程序,该方法所在类需要使用@SpringBootApplication注解,以及@ImportResource注解(if need),@SpringBootApplication包括三个注解,功能如下:@EnableAut...
2020-05-07 00:43:28
336
转载 REST,以及RESTful的讲解
1.传统下的API接口http是目前在互联网上使用最多的协议,没有之一。 可是http的创始人一直都觉得,在过去10几年来,所有的人都在错误的使用Http.这句话怎么说呢? 如果说你要删除一个数据,以往的做法通常是 delete/{id} 如果你要更新一个数据,可能是Post数据放Body,然后方法是 update/{id}, 或者是artichle/{id}?method=upd...
2020-01-16 16:24:38
223
原创 注释@RequestMapping 同时支持post,get请求写法
@RequestMapping(value = "/parts", method = {RequestMethod.POST,RequestMethod.GET})
2020-01-13 10:35:56
3644
原创 transient关键字
1,一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。2,transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。3,一个静态变量不管是否被transient修饰,均不能被序列化。...
2019-12-17 15:30:06
107
原创 一条sql语句的执行过程,在数据库服务器是如何执行的
1、客户端发送一条查询给服务器;2、服务器先检查查询缓存,如果命中缓存,则立刻返回存储在缓存中的结果。否则进入下一个阶段。3、服务器端进行sql解析,预处理,再有优化器生成对应的执行计划。4、MySql根据优化器生成的执行计划,调用存储引擎的API来执行查询。5、将结果返回给客户端。...
2019-11-07 21:15:38
745
转载 为什么不能在foreach循环里边进行List的remove/add操作
直接调用ArrayList的add/remove方法,都会改变modCount的值,但并没有对expectedModCount做任何操作。所以,之所以会抛出ConcurrentModificationException异常,是因为我们的代码中使用了foreach循环,而在foreach循环中,集合遍历是通过iterator进行的,但是元素的add/remove却是直接使用集合类自己的方法,这就...
2019-10-28 16:38:21
801
原创 java中,重写equals方法,为什么要重写hashCode方法呢?
在Java中,问什么说重写了equals方法都要进而重写Hashcode方法呢?原因如下:当equals此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。如下:(1)当obj1.equals(obj2)为true时,obj1.hashCode() == obj2.hashCode()必须为true(...
2019-10-28 15:16:44
170
原创 隔山打牛(度小满笔试题)
import java.util.*;public class Main { public static void main(String[] agrs) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[n + 1]; ...
2019-09-29 20:39:57
457
原创 win10环境下搭建kafka
https://blog.csdn.net/tianmanchn/article/details/78943147
2019-09-25 22:14:19
169
转载 kafka在运行.\bin\windows\kafka-server-start.bat .\config\server.properties启动的时候,出现 此时不应有 \Java\jdk1.8.0
kafka在运行.\bin\windows\kafka-server-start.bat .\config\server.properties启动的时候,出现此时不应有 \Java\jdk1.8.0_73\lib\dt.jar异常.解决办法:修改\bin\window\kafka-run-class.bat中的179行给%CLASSPATH%加上双引号即可结果如下:set COMMAND...
2019-09-25 22:12:45
2093
原创 @Autowired注解有错误提示
1、用@Resource注解替换@Autowired注解,错误消失2、@Autowired(required = false) 设置required属性值为false,错误消失@Resource注解与@Autowired注解的异同点这两个注解都是用作bean的注入时使用,都是为一个对象变量省去写get,set方法,自动为这个对象注入实例化对象(即注入依赖)注入的方式还是有...
2019-09-20 11:40:22
939
原创 navicat premium12安装以及激活
顺利安装navicat 12之后,激活遇到问题,看到这篇文章解决了问题,特此分享https://blog.csdn.net/caihongjianke/article/details/81329356
2019-08-18 17:13:39
293
转载 js中定义变量时单引号和双引号的区别
一般Javascript资料里面,很少区分单引号(')和双引号("),认为它们作用相同,今天发现有一处不同点,举例如下: 在一段JS语句中,希望通过编程在网页中动态添加一个命令按钮, 则基本实现语句如下所示 var btnOk2=document.createElement("<input type='button' value='确定/>");...
2019-07-02 09:59:28
2611
原创 mysql采坑,压缩版安装mysql的时候,初始化不要使用mysqld --initialize
mysql采坑,压缩版安装mysql的时候,初始化不要使用mysqld --initialize;使用这个命令会给root用户生成一个随机密码,还需要去一番找,直接使用 mysqld --initialize-insecure这样可以初始化root用户密码为空...
2019-05-16 16:06:30
16538
1
原创 c写文件的时候从指定行开始写
c写文件的时候从指定行开始写//7、写方式打开输出文件,r+ 打开可读可写的文件,该文件必须存在(这里的写文件是指将之前的文件覆盖if (!(file=fopen(csvFileName, "r+"))) { printf("could not write %s because:\n", csvFileName); printf(" %s\n", strerror(errn...
2019-04-11 17:16:24
2236
原创 vs2010编写的程序,在打包的时候出现错误,包括缺少mfc100ud.dll,msvcr100d.dll等,下载安装完了之后还出现了0xc000007b的错误
首先明确一点,出现这个错误是因为所运行的计算机上缺少运行应用程序的环境所导致。那就下载对应的dll文件就行了,放置在.exe运行程序同一目录下就可以了。其次,如果下载了之后打开出现0xc000007b的错误。那就说明你用的版本不对,这个版本并不是计算机的版本,而是你应用程序编译时候的版本,如果你如果是这个,那你就要选择32位的dll,不要管安装的计算机是32位还是64位。链...
2019-04-10 16:34:19
940
转载 递归实现从尾到头打印链表
public static void main(String[] args) { ListNode n1 = new ListNode(1); ListNode n2 = new ListNode(2); ListNode n3 = new ListNode(6); ListNode n4 = new ListNode(4); ListNode n5 = new ListN...
2019-03-30 22:27:51
309
翻译 剑指offer6:从尾到头打印链表
输入一个链表的头节点,从尾到头反过来打印处理每个节点的值。注意:当我们打算修改输入的数据的时候,最好先问一下面试官是不是允许修改。当不允许修改链表结构的时候,我们考虑是由栈这种结构来实现它,首先遍历链表,每经过一个节点的时候,把它放到栈中,当遍历完整个链表的时候,再从栈顶开始逐个输出节点的值。此时输出的节点就是反序了。实现代码如下:public static void main(...
2019-03-30 22:18:33
89
原创 JAVA中算法排序是计算时间差值,JAVA8中的Duration类
Duration与Period相对应,Period用于处理日期,而Duration计算时间差还可以处理具体的时间,也是通过调用其静态的between方法,该方法为between(Temporal startInclusive,Temporal endExclusive),因此可以传入两个Instant的实例(Instant实现了Temporal接口),并可以以毫秒(toMills)、秒(getSe...
2019-03-12 20:10:33
1464
翻译 剑指offer:替换空格
题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如:输入“we are happy.”,则输出“we%20are%20happy.”解析:倒序替换即可public static void main(String[] agrs) { String s="we are happy."; char str1[]= new char[30]; char str2[]...
2019-02-18 18:12:16
85
翻译 剑指offer:二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分析:当我们需要解决一个复杂的问题时,一个很有效的办法就是从一个具体的问题入手,通过分析简单具体的例子,试图寻找普遍的规律。针对这个问题,我们不妨也从一个具体的例子入手。 我们可以把二维数组画成一个矩阵,然后...
2019-02-18 16:51:12
97
转载 JAVA中>>和>>>的区别
>>:带符号右移。正数右移高位补0,负数右移高位补1。比如:4>>1,结果为2;-4>>1,结果为-2. >>>:无符号右移。无论正数还是负数,高位通通补0.对于正数而言,>>和>>>没有区别。对于负数而言,-2>>>1,结果是2147483647(
2019-02-17 11:40:24
8697
2
转载 JAVA读写文件
https://blog.csdn.net/zalan01408980/article/details/79008268当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将...
2019-02-17 11:23:43
364
翻译 剑指offer:不修改数组找到重复的数字
在一个长度为n+1的数组里边的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{2,3,5,4,3,2,6,7},那么对应输出应该是重复的数字2或者3.解析:由于题目要求不能修改输入的数组,我们可以创建长度为n+1的数组,然后逐一将原始数组的每一个数字复制到辅助数组。如果原始数组中被复制的数字是...
2019-02-17 11:19:11
122
翻译 剑指offer:找出数组中重复的数字
题目:在一个长度为N的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但是不知道有几个数字重复了,也不知道每个数字重复了几次,请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么输出的重复数字2或者3.分析:数组中的数字为0~n-1的范围内,如果再这个数组中不存在重复的数字,则我们把数字i放到下标i进行排序,排序之后,数字i会...
2019-02-16 16:59:00
241
转载 JAVA中的Static关键字
Java中的static关键字解析转载自:http://www.cnblogs.com/dolphin0520/p/3799052.html一、static关键字的用途 在《Java编程思想》P86页有这样一段话: “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用sta...
2019-02-16 15:39:35
396
原创 把Python文件打包成EXE
最近做一个小程序,爬取一些数据,给别人用的时候,想着能不能让对方不在安装python环境的情况下就可以运行,找到这个方法方便很多。1、首先下载安装pyinstallerhttps://github.com/pyinstaller/pyinstaller/ 打开cmd,切到pyinstaller解压包目录,我直接放在D盘目录下了,所以我的操作是安装,在该目录下执行语句 ...
2018-08-23 10:00:57
3053
原创 Fatal Error: Class 'mysqli' not found in...问题的解决
在项目的部署时,由于开发环境和运行环境不同,会出现这个问题,即缺少 mysqli 扩展。你需要从头检查一下PHP配置。 1.看看php的ext目录中是否有php_mysqli.dll文件如果有这个文件,就说明你的PHP安装没有问题,继续下面的步骤。如果没有的话你需要重新装个php 。2.打开php.ini,找到;extension=php_mysqli.dll(把前...
2018-08-14 20:32:44
6288
1
原创 新安装了XAMPP中,不能正常启动Apache和MySQL数据库
在使用XAMPP的时候,由于本人系统中已经安装了MySQL数据库服务和Tomcat服务器,所以在启动的时候就会出现端口被占用的情况。()一般情况Tomcat服务器会使用80端口,MySQL会占用3306端口,我们考虑将Apache服务器的端口改为81,XAMPP中的端口改为3366)这时我们可以通过更改端口的情况来进行解决,如图所示,这里我们双击打开XAMPP1、更改Apache服
2018-01-15 17:53:52
12220
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人