1.函数
(1)String.join(";", messages);
";" 表示分隔符,输出的结果: message;
(2) Double.parseDouble(valueString);
它返回由字符串参数表示的双精度值。
(3) Double.valueOf((Float) value;
float 类型的数值转化为double类型的。
(4) JSONObject
json 是一种轻量级的数据格式,易读易编写易解析。在java中可以通过org.json 包中的JSONObject对操作JSON数据。
object 使用{} 包含的键值对,key必须为String类型,value 为任何基本类型或数据结构。
添加属性值:
JSONObject json = new JSONObject();
json.put("username", "张三");
json.element("sex", "男");
(5) JSON.parseObject()
转换成object类型的数据。
(6) originKey.split("\\.");
split()方法根据匹配给定的正则表达式来拆分字符串。
其中,. 、 $、 | 和 * 等转义字符,必须得加 \\
(7) getJSONObject()
getJSONArray()
如上例子,custom就是使用getJSONObject来转换;jsonList就是使用getJSONArray来转换。
(8) JSONArray
添加属性:
JSONArray jsonArray = new JSONArray();
jsonArray.add(0, "张三");
jsonArray.add(1,"123");
jsonArray.element("男");
(9) charAt()
用于返回指定索引处的字符,索引范围从0到length()-1。
(10) startsWith()
一般用于检测某请求字符串是否以指定的前缀开始的。
(11) getBytes()
将字符串编码为byte序列。
2. 标签
@override :伪代码,表示重写。
3. 关键字
final:当用final作用于类的成员变量时,必须在定义时或者构造器中进行初始化赋值,而且final变量一旦被初始化赋值之后,就不能再被赋值了。
4. 数据结构
(1) ConcurrentHashMap
private ConcurrentHashMap<String, RuleConfig> ruleConfigs = new ConcurrentHashMap<>();
ConcurrentHashMap 为了提高本身的并发能力,在内部采用了一个叫做 Segment 的结构,一个 Segment 其实就是一个类 Hash Table 的结构,Segment 内部维护了一个链表数组。