HashMap 在高并发下会出现链表环,从而导致程序出现死循环。高并发下避免 HashMap 出问题的方法有两种,一是使用 HashTable,二是使用 Collections.syncronizedMap。但是这两种方法的性能都能差。因为这两个在执行读写操作时都是将整个集合加锁,导致多个线程无法同时读写集合。高并发下的 HashMap 出现的问题就需要 ConcurrentHashMap 来解决了。
View Details双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。
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. 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 包中。
|
1 2 |
kill -9 $(ps -ef | grep xxxx.jar | grep -v grep | awk '{print $2}') nohup java -jar -Dlog4j2.formatMsgNoLookups=true xxxx.jar > xxxx.log & |
View Details
数字校验
1.整数:^[0-9]*$
2.n位的整数:^\d{n}$
3.至少n位的整数:^\d{n,}$
4.m-n位的整数:^\d{m,n}$
5.零和非零开头的整数:^(0|[1-9][0-9]*)$
6.非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
7.带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$