Java
John0220
任何事情,只要有百分之一的可能,就要付出百分之百的努力!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2020-11-17
最近使用前后端分离的模式进行后端开发,前端说我提供的接口方式不够安全,我就再学习一哈不懂就问果然百度一下竟然阿里一面也会问这种问题,原文链接 阿里一面:如何保证API接口数据安全接口签名为了防止接口数据被伪造,一级接口被重复调用的问题,就要用到接口签名的方案。签名流程如图所示签名规则1线下分配appId和appsecret,针对不同的调用放分配不同的appid和appsecret2、加入timestamp(时间戳),5分钟内数据有效3、加入临时流水号NONCE(.转载 2020-11-17 16:13:21 · 347 阅读 · 0 评论 -
Springboot启动流程
启动结构图启动每个SpringBoot程序都有一个主入口,也就是main方法,main里面调用SpringApplication.run()启动整个spring-boot程序,该方法所在类需要使用@SpringBootApplication注解,以及@ImportResource注解(if need),@SpringBootApplication包括三个注解,功能如下:@EnableAut...转载 2020-05-07 00:43:28 · 481 阅读 · 0 评论 -
REST,以及RESTful的讲解
1.传统下的API接口http是目前在互联网上使用最多的协议,没有之一。 可是http的创始人一直都觉得,在过去10几年来,所有的人都在错误的使用Http.这句话怎么说呢? 如果说你要删除一个数据,以往的做法通常是 delete/{id} 如果你要更新一个数据,可能是Post数据放Body,然后方法是 update/{id}, 或者是artichle/{id}?method=upd...转载 2020-01-16 16:24:38 · 296 阅读 · 0 评论 -
注释@RequestMapping 同时支持post,get请求写法
@RequestMapping(value = "/parts", method = {RequestMethod.POST,RequestMethod.GET})原创 2020-01-13 10:35:56 · 3748 阅读 · 0 评论 -
transient关键字
1,一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。2,transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。3,一个静态变量不管是否被transient修饰,均不能被序列化。...原创 2019-12-17 15:30:06 · 149 阅读 · 0 评论 -
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 · 223 阅读 · 0 评论 -
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 · 2227 阅读 · 0 评论 -
@Autowired注解有错误提示
1、用@Resource注解替换@Autowired注解,错误消失2、@Autowired(required = false) 设置required属性值为false,错误消失@Resource注解与@Autowired注解的异同点这两个注解都是用作bean的注入时使用,都是为一个对象变量省去写get,set方法,自动为这个对象注入实例化对象(即注入依赖)注入的方式还是有...原创 2019-09-20 11:40:22 · 1079 阅读 · 0 评论 -
mysql采坑,压缩版安装mysql的时候,初始化不要使用mysqld --initialize
mysql采坑,压缩版安装mysql的时候,初始化不要使用mysqld --initialize;使用这个命令会给root用户生成一个随机密码,还需要去一番找,直接使用 mysqld --initialize-insecure这样可以初始化root用户密码为空...原创 2019-05-16 16:06:30 · 16662 阅读 · 1 评论 -
递归实现从尾到头打印链表
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 · 382 阅读 · 0 评论 -
剑指offer6:从尾到头打印链表
输入一个链表的头节点,从尾到头反过来打印处理每个节点的值。注意:当我们打算修改输入的数据的时候,最好先问一下面试官是不是允许修改。当不允许修改链表结构的时候,我们考虑是由栈这种结构来实现它,首先遍历链表,每经过一个节点的时候,把它放到栈中,当遍历完整个链表的时候,再从栈顶开始逐个输出节点的值。此时输出的节点就是反序了。实现代码如下:public static void main(...翻译 2019-03-30 22:18:33 · 124 阅读 · 0 评论 -
剑指offer:二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分析:当我们需要解决一个复杂的问题时,一个很有效的办法就是从一个具体的问题入手,通过分析简单具体的例子,试图寻找普遍的规律。针对这个问题,我们不妨也从一个具体的例子入手。 我们可以把二维数组画成一个矩阵,然后...翻译 2019-02-18 16:51:12 · 134 阅读 · 0 评论 -
JAVA中>>和>>>的区别
>>:带符号右移。正数右移高位补0,负数右移高位补1。比如:4>>1,结果为2;-4>>1,结果为-2. >>>:无符号右移。无论正数还是负数,高位通通补0.对于正数而言,>>和>>>没有区别。对于负数而言,-2>>>1,结果是2147483647(转载 2019-02-17 11:40:24 · 8825 阅读 · 2 评论 -
剑指offer:不修改数组找到重复的数字
在一个长度为n+1的数组里边的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{2,3,5,4,3,2,6,7},那么对应输出应该是重复的数字2或者3.解析:由于题目要求不能修改输入的数组,我们可以创建长度为n+1的数组,然后逐一将原始数组的每一个数字复制到辅助数组。如果原始数组中被复制的数字是...翻译 2019-02-17 11:19:11 · 168 阅读 · 0 评论 -
剑指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 · 296 阅读 · 0 评论 -
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 · 490 阅读 · 0 评论
分享