全局作用域 作用于所有代码执行的环境(整个 script 标签内部)或者一个独立的 js 文件。 1.3 局部作用域 作用于函数内的代码环境,就是局部作用域。 因为跟函数有关系,所以也称为函数作用域。 1.4 JS没有块级作用域 块作用域由 { } 包括。 在其他编程语言中(如 java、c#等), ...
分类:
编程语言 时间:
2020-10-14 20:09:04
阅读次数:
21
一、面向对象与面向过程: 面向过程:关注解决问题的步骤,算法。 面向对象:关注的是谁能解决问题,需要什么样的数据(成员变量),具备什么样的功能(成员函数)。 抽象:找出或相像出一个能够解决问题的"对象",通过研究观察对象,找出c"对象"解决问题所必须的数据(属性)、功能(技能)。 封装:把抽象的结果 ...
分类:
编程语言 时间:
2020-09-21 12:20:26
阅读次数:
76
mybatis源码(七)mybatis二级缓存的使用 mybatis的二级缓存是mapper级别的缓存 1.mybatis中如何使用二级缓存 a.mybatis的主配置文件的settings中设置cacheEnabled=true b.mybatis的mapper的配置文件中,配置缓存策略、缓存刷新 ...
分类:
其他好文 时间:
2020-09-18 17:16:39
阅读次数:
27
问题: JVM安全点是什么概念? finally是如何实现的?finally中抛出异常会怎么样? 1.JVM安全点是什么概念? 安全点就是某些记录线程此时调用栈、寄存器等一些重要的数据区域里什么地方包含了GC要管理的指针(对象引用),而这些对象引用是通过OopMaps结构进行记录的,可以直接通过对O ...
分类:
其他好文 时间:
2020-09-17 22:19:26
阅读次数:
33
异常:程序出现了意想不到的情况 如果异常不解决,程序会崩溃,停止运行 捕获异常,如果出现了异常,我们会让他们按照事先规定的规则去执行对应的操作(记录操作日志) 一、语法 try (要运行的有可能发生异常的代码): 代码 except (异常): 出现异常的时候要运行的代码(执行的操作),记录日志 # ...
分类:
编程语言 时间:
2020-09-17 19:58:11
阅读次数:
32
1.以下代码执行后,console 的输出是? let x = 10;let foo = () => {console.log(x);let x = 20;x++;}foo(); 抛出 ReferenceError 2. var myObject = { foo: "bar", func: func ...
分类:
Web程序 时间:
2020-09-10 23:08:50
阅读次数:
60
1、什么是断言断言(assert),是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。断言的使用通常在单元测试中,使用断言可以创建更稳定,品质更好且不易于出错的代码。2、断言特性:前置条件断言:代码执行之前必须具备的特性后置条件断言:代码执行之后必须具备的特性前后不变断言:代码执行前后不能变
分类:
其他好文 时间:
2020-09-07 18:40:28
阅读次数:
46
严格意义上来说,javascript没有多线程的概念,所有的程序都是单线程依次执行的。 1.什么是单线程? 通俗点说,就是代码在执行过程中,另一段代码想要执行就必须等当前代码执行完成后才可以进行。 for(var i=1;i<=3;i++){ setTimeout(function(){ conso ...
分类:
Web程序 时间:
2020-08-26 18:54:59
阅读次数:
81
Fastjson反序列化漏洞利用分析 ? 背景 在推动Fastjson组件升级的过程中遇到一些问题,为帮助业务同学理解漏洞危害,下文将从整体上对其漏洞原理及利用方式做归纳总结,主要是一些概述性和原理上的东西。 漏洞原理 多个版本的Fastjson组件在反序列化不可信数据时会导致代码执行。究其原因,首 ...
分类:
Web程序 时间:
2020-08-26 18:53:19
阅读次数:
76
ThreadPoolExecutor executor = new ThreadPoolExecutor(2, //核心线程数 5,//最大线程数 60L, //临时线程空闲时间 TimeUnit.SECONDS,//时间单位 new ArrayBlockingQueue<Runnable>(25) ...
分类:
编程语言 时间:
2020-08-06 17:06:28
阅读次数:
85