403状态码
我们在开发中时常见到各种http状态码,那么403状态代表着什么呢?
跨域可以检查代码有没有添加跨域注解@CrossOrigin
路径写错了
主键策略
我们常常都会对数据库表中的id进行自增或则随机生成,那么在我们日常开发中有3种常见的主键策略
自动增长即我们常见的数据库表设计中,将id值设成AUTO INCREMENT
UUID每次生成随机唯一的值,但排序不方便
redis实现mp(MybatisPlus)自带策略 snowflake算法
IdType是一个枚举类,定义了生成ID的类型
AUTO 数据库ID自增
INPUT 用户输入ID
ID_WORKER 全局唯一ID,Long类型的主键
ID_WORKER_STR 字符串全局唯一ID
UUID 全局唯一ID,UUID类型的主键
NONE 该类型为未设置主键类型
@TableId(type = IdType.AUTO)private Long Id;
关于ArrayList中的add()方法
本章是参考CSDN博主三木来啦,以下为学习笔记。
关于ArrayList的add()方法源码位置:java.util.ArrayList:454行到462行
public void add(int index, E element) { rangeCheckForAdd(index); ensureCapacityInternal(size + 1); // Increments modCount!! System.arraycopy(elementData, index, elementData, index + 1, size - index); elementData[index] = element; size++;}
分析以上代码倒数第二行可以看出,每次的add方法只会将引用地址放入集合中,并不会new新的对象,所以:
在一次add后,如果立即修改add的对象,并重新add,会将上一次的add对象也改变;在循环中使用add方法尤其需要注意;如果业务逻辑导致,可以在循环中每次add时 ...
如何快速实现对象之间数据传递
对象之间数据传递
前言,在我们常规的开发中,经常会将对象之间的数据进行传递或则交换,使用频繁的get、set方法。如果想减少这种冗余的代码重复出现,可以使用Spring中的BeanUtils下的copyProperties(Object source,Object target)方法
//1. 普通写法 将eduSubject的内容提取出来后赋值给oneSubjectoneSubject.setId(eduSubject.getId());oneSubject.setTitle(eduSubject.getTitle());//2. 使用工具类 Spring中的BeanUtils.copyProperties(数据源对象,目标对象) 【变量名和数据类型要相同才能传递数据】BeanUtils.copyProperties(eduSubject,oneSubject);
PS:BeanUtils所花费的时间要超过取数据、将其复制到对应的 value对象(通过手动调用get和set方法),以及通过串行化将其返回到远程的客户机的时间总和。所以要小心使用。
vue知识点
script中data的2种写法
vue中,在script中data有2种写法。
//1.使用returndata(){ return { }//2.data: {}
data(){ }
获取路由的id值//获取路由的id值【ps:id即是浏览器的参数,不要改成跟url中的占位名称】 if(this.$route.params && this.$route.params.id){ this.$route.params.id }
路由跳转this.$router.push({path:'uri地址'})
路由跳转重复页面
由于多次路由跳转到同一个页面,在页面中cretaed方法只会执行第一次,后面再进行跳转不会执行的。所以需要一个watch监听路由变化
watch:{ //监听 $route(to,form){ //路由变化方式,路由发生变化,方 ...
Java基础
1.面向对象和面向过程的区别
面向过程 :面向过程性能比面向对象高。 因为类调⽤时需要实例化,开销⽐较⼤,⽐较消耗资源,所以当性能是最重要的考量因素的时候,⽐如单⽚机、嵌⼊式开发、Linux/Unix 等⼀般采⽤⾯向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。
面向对象 :面向对象易维护、易复用、易扩展。 因为⾯向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能⽐面向过程低。
参⻅ issue : 面向过程 :面向过程性能⽐面向对象⾼??
这个并不是根本原因,面向过程也需要分配内存,计算内存偏移量,Java 性能差的主要原因并不是因为它是面向对象语言,而是 Java 是半编译语言,最终的执行代码并不是可以直接被 CPU 执行的二进制机械码。而面向过程语言大多都是直接编译成机械码在电脑上执行,并且其它⼀些面向过程的脚本语言性能也并不⼀定比 Java 好。
2.Java语言有哪些特点?
简单易学;
⾯向对象(封装,继承,多态);
平台⽆关性( Java 虚拟机实现平台⽆关性);
可靠性;
安全性;
⽀持多线程 ...
如何将本地代码上传到指定仓库
在实际工作或则学习过程中,使用远程仓库保存代码是一件十分常见的事情。本文使用参考网上教程,记录怎么将本地已有项目上传到远程仓库中。
最简单的方式:先在远程仓库中创建新的仓库,然后通过git命令git clone ....,然后将已有的代码复制到克隆下来的文件夹中,然后再通过git命令git push ...或则工具上传。
接下来是通过命令将本地代码上传到远程仓库中
上传步骤
进入到项目文件架,右键打开Git Bash Here命令,进入git命令操作界面
git init
git add .
git commit -m "创建项目"
git remote add origin xxxx 关键步骤,将本地仓库和远程仓库关联
git push -u origin master:将代码push到远程
自此,本地代码已经提交到远程仓库中~
MybatisPlus添加一条记录后怎么获取Id
MybatisPlus在执行了添加语句以后,传入的要保存的对象因为是引用类型就被设置了Id,所以后面直接通过getId()获取Id即可。
iptables和firewall防火墙总结
暂时偷懒,可以先参考白牛王子学习,后续会进行更新。
linux防火墙查看状态firewall、iptable命令总结
Linux命令大全(手册)
Centos7 搭建PPTP-VPN
本章节主要是通过学习大佬Kerronex、靳闯,为自己的阿里云服务器搭建VPN环境。(主要原因是服务器搭建了Nginx,开发的过程中发现服务器无法调用自己本地程序的接口,为此需要实现内网穿透)