双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。
View Details红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。
红黑树是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的“红黑树”。
红黑树是一种特化的AVL树(平衡二叉树),都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。
它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,这里的n 是树中元素的数目。
1. 默认使用
1 2 3 4 5 6 7 8 9 10 |
props: { obj: { type:Object, default:() => ({}) }, arr: { type:Array, default:() => ([]) } } |
2. 为什么需要通过函数的形式 因为对象和数组都是属于我们的复杂类型,在进行访问指向的时候我们使用的是对象和数组的地址,而不像基础数据类型那。 如果我们没有通过函数的形式去设置对象和数据类型的默认值,而是直接采用{}和[],如果多个使用该组件的地方因为没有传递props而使用了默认值,假设其中一个地方我们修改了默认的值(不推荐,会报警告,不符合反向数据流),那么其他的地方由于指向的是同一个内存中的引用地址,其他地方的显示值也会发生修改 我们使用了函数的形式去返回,保证每次函数执行出来的都是返回一个新的对象,这样就不会出现上面所有的情况 from:https://blog.csdn.net/YoungtiNine/article/details/121367452
View Details1. NOTEPAD++
2. VIM
3. GNU Emacs
4. SUBLIME TEXT
5. ATOM\
6. PSPAD
7. GEANY
8. ECLIPSE
9. JEDIT
10、NETBEANS
这是我们开启了bin-log, 我们就必须指定我们的函数是否是
1 2 3 4 5 |
DETERMINISTIC 不确定的 NO SQL 没有SQl语句,当然也不会修改数据 READS SQL DATA 只是读取数据,当然也不会修改数据 MODIFIES SQL DATA 要修改数据 CONTAINS SQL 包含了SQL语句 |
其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数。 在MySQL中创建函数时出现这种错误的解决方法:
1 |
set global log_bin_trust_function_creators=TRUE; |
from:https://blog.csdn.net/zhangtxsir/article/details/105221057
View Details
1 2 3 4 5 6 |
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.75</version> </dependency> |
1 |
import com.alibaba.fastjson.JSON; |
1 2 3 4 5 6 7 |
String bodyStr = "[{\"DRUG_CODE\":\"5013034DP0\",\"PACKAGE_UNITS\":\"包\",\"number_per_package\":\"1\",\"DRUG_SPEC\":\"15g沪蔡同德\",\"QUANTITY\":\"601\",\"drug_units\":\"包\",\"PACKAGE_SPEC\":\"15g\",\"dispensary\":\"36000201\",\"extend_params\":\"\\\"\\\"\",\"DEPT_NAME\":\"药材科门诊草药房\",\"DEPT_CODE\":\"36000201\"}]"; JSONArray array = JSON.parseArray(bodyStr); Map<String, Object> bodMap = JSON.parseObject(array.getString(0)).getInnerMap(); System.out.println("drug_units:" + bodMap.get("drug_units")); System.err.println(bodMap); |
View Details
什么是注解?
对于很多初次接触的开发者来说应该都有这个疑问?Annotation是Java5开始引入的新特征,中文名称叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。Annotation像一种修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数及本地变量的声明语句中。
Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 java.lang.annotation 包中。
准备代码:
const res = []
const arr = [1, 2, 3, 4, 5]
function t(num) {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('定时器', num)
resolve()
}, 1000)
})
}
function t2(item) {
console.log('进入res')
res.push(item)
}