1.value:请求中传入参数的名称,如果不设置后台接口的value值,则会默认为该变量名。比如上图中第一个参数如果不设置value="page",则前端传入的参数名必须为pageNum,否则在后台接口中pageNum将接收不到对应的数据。
2.required:该参数是否为必传项。默认是true,表示请求中一定要传入对应的参数,否则会报404错误,如果设置为false时,当请求中没有此参数,将会默认为null,而对于基本数据类型的变量,则必须有值,这时会抛出空指针异常。如果允许空值,则接口中变量需要使用包装类来声明。
3.defaultValue:参数的默认值,如果请求中没有同名的参数时,该变量默认为此值。注意默认值可以使用SpEL表达式,如"#{systemProperties['java.vm.version']}"
JDK7 的 HashMap
JDK7 的 HashMap 的存储结构其实就是哈希表的存储结构(由数组与链表结合组成,称为链表的数组)。
JDK8 的 HashMap
当链表长度超过阈值(TREEIFY_THRESHOLD) 8,table 的长度大于 64如果小于 64,就通过扩容的方式来解决,避免红黑树结构化链表转换为红黑树。
HashMap 在高并发下会出现链表环,从而导致程序出现死循环。高并发下避免 HashMap 出问题的方法有两种,一是使用 HashTable,二是使用 Collections.syncronizedMap。但是这两种方法的性能都能差。因为这两个在执行读写操作时都是将整个集合加锁,导致多个线程无法同时读写集合。高并发下的 HashMap 出现的问题就需要 ConcurrentHashMap 来解决了。
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
当go build的时候报错如下(或者golang的版本从1.6升级到1.16之后报错如下)
go module是go官方自带的go依赖管理库,在1.13版本正式推荐使用
go module可以将某个项目(文件夹)下的所有依赖整理成一个 go.mod 文件,里面写入了依赖的版本等 使用
go module之后我们可不用将代码放置在src下了 使用 go module 管理依赖后会在项目根目录下生成两个文件 go.mod 和go.sum
Netty 是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。
Netty 是一个 NIO 客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化和流线了网络编程,例如 TCP 和 UDP 套接字服务器。
“快速和简单”并不意味着生成的应用程序会受到可维护性或性能问题的影响。Netty 是经过精心设计的,它借鉴了许多协议(如 FTP、SMTP、HTTP 以及各种基于二进制和基于文本的遗留协议)的实现经验。因此,Netty 成功地找到了一种方法,可以在不妥协的情况下实现易于开发、性能、稳定性和灵活性。
View Details