自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JWT入门

什么是JWTJWT简称JSON Web Token,也就是通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密、签名等相关处理。JWT认证过程首先,前端通过Web表单将自己的用户名和密码发送到后端的接口。这一过程一般是一个HTTP POST请求。建议的方式是通过SSL加密的传输(https协议),从而避免敏感信息被嗅探。后端核对用户名和密码成功后,将用户的id等其他信息作为JWT Payload(负载),将其与头部分别进行Ba

2021-03-11 22:08:09 111

原创 2021-03-03

NoSQL数据库概述Not Only SQL ,意即“不仅仅是SQL”,泛指非关系型数据库不依赖业务逻辑方式存储,而以简单的键值对模式存储,因此大大的增加了数据库的扩展能力不遵循SQL标准不支持ACID远超SQL的性能NoSQL适用场景对数据高并发的读写海量数据的读写对数据高可扩展性的NoSQL不适用场景需要事务支持基于sql的结构化查询存储,处理复杂的关系,需要条件查询...

2021-03-03 10:21:58 78

原创 cucumber+selenium完成登录界面的功能测试(java版)

一、cucumber简介cucumber是BDD(Behavior-driven development,行为驱动开发)的一个自动化测试的副产品。它使用自然语言来描述测试,使得非程序员可以理解他们。Gherkin是这种自然语言测试的简单语法,而Cucumber是可以执行它们的工具。GherkinGherkin是自然语言测试的简单语法。一个完整的测试是由多个step组成的,step即最小单元,如何复用step是非常关键的问题。多个step组成一个Scenario,即一个完整的测试case。多个Scen

2021-01-26 09:57:47 656

原创 Java面向对象

面向对象的三大特征面向对象的五大基本原则单一职责原则SRP指一个类的功能要单一,不能包罗万象。如果一个类承担的职责过多,就等于把这些职责耦合在一起了。一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当发生变化时,设计会遭受到意想不到的破坏。而如果想要避免这种现象的发生,就要尽可能的遵守单一职责原则。此原则的核心就是解耦和增强内聚性...

2020-12-29 12:49:48 97

原创 java 语法简介

JDK目录说明1.bin目录:存放可执行文件2.lib目录: 存放Java的类库文件3.include目录: 存放用于本地方法的文件4.demo目录:存放演示程序5.jre目录:存放Java运行环境文件static,final,abstract关键字的作用1.static:静态的,该类所有对象共同拥有,在内存共用一个地址,依存于类而不依存于某一个具体的对象。可以修饰方法,变量或者代码块。2.final:最终的,不可变的。可以修饰类,方法,变量。3.abstract:抽象的。可以修饰类和方法

2020-12-28 21:03:43 132

原创 初始多线程

一、什么是多线程多线程指的是从软件或硬件上多个线程并发执行的技术。多线程:前提,研究的单核CPU多线程:**宏观并行,微观串行**单核CPU中,不存在真正的”并行“概念, 多个线程实际是在交替的占用CPU,而并不是真正”并行执行“二、进程和线程的关系:进程:应用程序的执行实例;有独立的内存空间 和系统资源线程:将进程可以进一步细分 为线程 ;CPU调度和分派的最小单位例如,QQ是一个进程,QQ又可以细分多个功能(接收消息、发送消息),每个功能都可以通过一个线程来实现。三、多线程实例

2020-12-28 13:15:56 91

原创 python爬虫之requests库

requests库介绍requests库是python的第三方库,也是目前公认的爬取网页 最好的第三方库,非常简洁.requests 库安装进入dos命令界面,输入 pip install requests测试:抓取百度首页...

2020-06-27 09:41:47 113

原创 Shiro快速入门

一个入门示例:public class IniRealmTest { SimpleAccountRealm simpleAccountRealm=new SimpleAccountRealm(); @Before public void add(){ simpleAccountRealm.addAccount("lihao","123","admin"); } @Test public void testIni(){ //1.构建Secur

2020-06-24 16:44:55 114

原创 mysql中的null

在Mysql中 NULL和任何值都不相等 甚至 NULL不等于NULL

2020-04-11 12:05:59 96

原创 jdk配置环境变量遇到的一些小问题

由于电脑重置了,我电脑里面的东西都没了,很多东西都需要重新安装和配置,今天我重新安装了一下jdk,问题如下:发现会有两次选择安装路径的情况,一开始我把两次路径都设置成一样的,后来发现安装不了原因:第一次安装的是jdk,第二次安装的是jre, 其中jdk和jre的安装路径不能相同,我修改了第二次安装的路径就好了在配置环境变量的时候我选择的路径是第二次安装的路径,导致使用docs命令符测试"ja...

2020-01-17 16:59:28 171

原创 js中的展开语法

在js中如何拼接两个数组?一般我们会采用for循环:let arr=["lhao","houdunren"]; let hd=["js","css"]; for(const value of hd){ arr.push(value); } console.table(arr)运行结果如下:但这个方法显得有些复杂,能简化嘛?这就要提到我们js中的展...

2020-01-07 15:27:22 949 1

原创 Array.of和new Array

在js中,大家一般喜欢用的数组构造函数是new Array(); let cms=new Array(6,1,3,5); console.log(cms.length); console.table(cms); ```![https://img-blog.csdnimg.cn/20200107144004901.png](https://img-blog....

2020-01-07 14:47:22 442

原创 js中的for-in和for-of

js中一般有两种遍历的方式,for-in和for-of,其中,for-in遍历获得的是键,而for-of 获得的是值。示例代码如下:<script> let list=["sdl","we","p9"]; for(let i in list){ console.log(i); } for(let s of...

2020-01-04 16:26:29 191

原创 Object.freeze()函数冻结变量

当用户定义一个变量并且不希望它的值发生改变时(通常为常量),可以用Object.freeze()方法来冻结这个常量,防止常量不小心被修改 "use strict";//此处使用严格模式使运行报错 const HOST={ url:"https://www.baidu.com", port: 443 }; Objec...

2020-01-02 18:38:02 388

原创 mysql修改密码

之前想修改一下我的mysql密码,网上也查看了很多博客,但一直失败了,后来发现是版本的原因,大家可以试一下如下指令:alter user’root’@‘localhost’ identified by ‘新密码’;...

2019-12-21 20:10:40 64

原创 js中var,let,const区别

主要区别:let,const无变量提升 console.log(web); let web="hsdf.com"; //运行报错let一般定义变量,而const一般定义常量var有变量提升 console.log(web); var web="hsdf.com"; //运行结果为undefined解释:此代码可理解为如下代码...

2019-12-20 20:18:12 87

转载 JS中的正则表达式

*/* 创建一个正则表达式检查一个字符串中是否含有aaa*/ /* * 量词 * - 通过量词可以设置一个内容出现的次数 * - 量词只对它前边的一个内容起作用 * - {n} 正好出现n次 * - {m,n} 出现m-n次 * - {m,} m次以上 * - + 至少一个,相当于{1,} * - * 0个或多个,相当于{0,}...

2019-04-27 15:05:23 102

转载 JS中的slice和splice方法

slice()- 可以用来从数组提取指定元素- 该方法不会改变元素数组,而是将截取到的元素封装到一个新数组中返回- 参数:1.截取开始的位置的索引,包含开始索引2.截取结束的位置的索引,不包含结束索引- 第二个参数可以省略不写,此时会截取从开始索引往后的所有元素- 索引可以传递一个负值,如果传递一个负值,则从后往前计算-1 倒数第一个-2 倒数第二个splice()- 可以用...

2019-04-25 21:48:44 404

原创 JS中的arguments对象

*在调用函数时,浏览器每次都会传递进两个隐含的参数:1.函数的上下文对象 this2.封装实参的对象 arguments- arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度- 在调用函数时,我们所传递的实参都会在arguments中保存- arguments.length可以用来获取实参的长度- 我们即使不定义形参,也可以通过arguments来使用实参,...

2019-04-25 21:46:38 134

转载 JS中的call和apply方法

call()和apply()- 这两个方法都是函数对象的方法,需要通过函数对象来调用- 当对函数调用call()和apply()都会调用函数执行- 在调用call()和apply()可以将一个对象指定为第一个参数此时这个对象将会成为函数执行时的this- call()方法可以将实参在对象之后依次传递- apply()方法需要将实参封装到一个数组中统一传递 **- this的情况:*...

2019-04-25 21:45:02 83

原创 javascript中的forEach()方法

forEach()方法需要一个函数作为参数:-像这种函数,由我们创建但是不是由我们调用的,我们称为回调函数-数组中有几个元素函数就会执行几次,每次执行的时候,浏览器会将遍历到的元素以实参的形式传递进来,我们可以来定义形参,来读取这些内容-浏览器会在回调函数中传递三个参数:第一个参数,就是当前正在遍历的元素,第二个参数,就是当前正在遍历的元素的索引第三个 参数,就是正在遍历的数组ar...

2019-04-23 20:16:46 274

原创 javascript中的原型对象

原型prototype我们所创建的每一个函数,解析器都会向函数中添加一个属性prototype这个属性对应着一个对象,这个对象就是我们所谓的原型对象如果函数作为普通函数调用prototype没有任何作用当函数以构造函数的形式调用时,它所创建的对象中都会有一个隐含的属性,指向改构造函数的原型对象,我们可以通过__proto__来访问改属性原型对象就相当于一个公共区域,所有同一个类的实例都...

2019-04-20 19:31:10 155

原创 sql语句的执行顺序

DQL子句的执行顺序1.先执行FROM子句,确定从哪张表开始做查询,2.接着执行WHERE子句,立马过滤掉不合法的数据。3.再执行SELECT子句,选择最终需要显示哪些列4.最后执行ORDER子句,对查询的结果做排序...

2019-04-19 19:33:46 84

原创 JavaScript中的构造函数

构造函数和普通函数的区别就是调用方式的不同普通函数是直接调用,而构造函数需要使用new关键字来调用构造函数的执行流程:1.立刻创建一个新的对象2.将新建的对象设置为函数中的this,在构造函数中可以使用this来引用新建的对象3.逐行执行函数中的代码4.将新建的对象作为返回值返回this的情况:1.当以函数的形式调用时,this是window2.当以方法的形式调用时,谁调用方法t...

2019-04-18 12:57:14 222

原创 javascript 中的this

解析器在调用函数时每次都会想函数内部传递进一个隐含的参数,这个隐含的参数就是this,this指向的时一个对象这个对象我们称为函数执行的上下文对象,根据函数的调用方式的不同,this会指向不同的对象1.以函数的形式调用时,this永远都是window2.以方法的形式调用时,this就是调用方法的对象...

2019-04-18 12:20:35 69

原创 JavaScript中的声明提前

1.变量的声明提前-使用var关键字声明的变量,会在所有的代码执行之前被声明(但是不会赋值),但如果声明变量时不使用var关键字,则变量不会被声明提前2.函数的声明提前 -使用函数声明形式创建的函数function函数( ){ }它会在所有的代码执行之前就被创建,所以我们可以在函数声明前调用函数使用函数表达式创建的函数,不会被声明提前,所以不能在声明前调用...

2019-04-18 09:20:04 92

原创 javascript 中的基本数据类型和引用数据类型

基本数据类型String Number Boolean Null Undefined引用数据类型ObjectJS中的变量都是保存到栈内存中的,基本数据类型的值直接在占内存中存储,值与值之间是独立存在的,修改一个变量不会影响其他的变量对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象的引...

2019-04-15 15:36:17 82

原创 javascript之转换为Boolean

将其他的数据类型转换为Boolean–使用Boolean()函数-数字—>布尔–除了0和NaN,其余的都是true-字符串—>布尔–除了空串,其余的都是true–null和undefined都会转换为false–对象也会转换为true...

2019-04-12 19:46:22 332

原创 javascript中的逻辑与(&&)和逻辑或(||)

逻辑与运算符(&amp;&amp;)的逻辑解析:首先,计算第一个运算数,即左侧表达式。如果左侧的表达式的计算值可以被转换为false(如null,0,underfined等),那么就会结束计 算,直接返回第一个计算数的值。然后,当第二个运算数的值为true时,则将计算第二个运算数的值,即位于右侧的表达式,并返回这个表达式的值。逻辑或运算符(||)的逻辑解析:首先,计算第一个运算数。如果左...

2019-03-17 16:13:44 210

原创 JAVA中的this和super关键字

关键字this有两个用途:一是引用隐式参数;二是调用该类其他的构造器。关键字super也有两个用途:一是调用超类的方法;二是调用超类的构造器。注意:调用构造器的语句只能用作为另一个构造器的第一条语句出现。...

2019-01-11 20:36:58 91

转载 java中super的应用

子类的构造过程当中必须调用其父类的构造方法。如果子类的构造方法中没有显式调用父类的构造方法,则系统系默认调用父类无参的构造方法。如果显示的调用构造方法,必须在子类的构造方法的第一行。如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译错误。...

2018-12-08 17:50:02 201

转载 java中成员变量和局部变量的区别

**成员变量和局部变量的区别**1.作用域不同局部变量的作用域仅限于定义它的方法成员变量的作用域在整个类内部都是可见的2.初始值不同Java会给成员变量一个初始值Java不会给局部变量赋予初始值3. 在同一个方法中,不允许有同名局部变量;在不同的方法中,可以有同名局部变量4...

2018-12-08 10:56:57 85

原创 java中方法的重载

判断方法重载的依据:1、 必须是在同一个类中2、 方法名相同3、 方法参数的个数、顺序或类型不同4、 与方法的修饰符或返回值没有关系

2018-12-06 20:06:15 83

转载 java集合框架

编程经验总结:1.如果要求线程安全,使用Vector Hashtable2.如果不要求线程安全,应使用ArrayList LinkedList HashMap3.如果要求 键值对,则使用HashMap Hashtable4.如果数据量很大,又要考虑线程安全用Vector...

2018-11-18 19:27:43 65

原创 python中的反码和

0011经反码运算就变成1100,这个数在计算机中用二补码来表示就是-4.要注意的是,Python中的整数是有符号整数,当使用二进制写法表示一个整数时,例如用0b1111表示15,实际上1111最左边的位是0,经过反码运算后,1111的部分会变成0000,而最左边的位变成1,整个值用二补码来表示就是-16...

2018-10-20 13:35:00 1645

原创 python列表中的remove和del

列表的remove()方法课指定要删除的元素值,若要指定按索引位置删除,则使用的是del.

2018-10-18 16:18:12 1541 3

转载 python3中替换python2中cmp函数

python 3.4.3 的版本中已经没有cmp函数,被operator模块代替,在交互模式下使用时,需要导入模块operator。示例:import operatorlist1=[123,‘xyz’]list2=[123,‘abc’]operator.eq(list1,list2)False其他内置函数operator.lt(a, b)operator.le(a, b)...

2018-10-06 19:40:46 156

原创 字符串格式化中的locals()函数

当前还在作用范围内的局部变量可以通过内置的locals()函数访问,该函数会返回一个字典,字典的键是局部变量名,字典的值则是对变量值的引用。现在,我们可以通过使用映射拆分该字典提供给str.format()方法,映射拆分操作符为**,可应用于映射(比如字典)来产生一个适合传递给函数的键–值列表,如下所示:animal=“elephant”weight=11000“the {animal...

2018-10-05 21:28:53 729

原创 java中mkdir()和mkdirs()的

File f3=new File(“d:/电影/华语/大陆”);boolean flag=f3.mkdir()//目录结构中有一个不存在,则不会创建整个目录树boolean flag=f3.mkdirs();//目录结构中有一个不存在也没有关系,会创建整个目录树System.out.println(flag);//mkdir()结果为flase mkdirs()结果为true...

2018-09-30 21:18:47 609

原创 java包装类的缓存

缓存[-128,127]之间的数字。实际就是系统初始的时候,创建了[-128,127]之间的一个缓存数组.当我们调用valueOf()的时候,首先检查是否在[-128,127]之间,如果在这个范围则直接重缓存数组中拿出已经建好的对象如果不在这个范围,则创建新的Integer对象例如:public static void main(String args[]) {Integer in3=1...

2018-09-25 21:30:36 175

空空如也

空空如也

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

TA关注的人

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