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 Details1.1 I/O模型基本说明
I/O模型的简单理解:I/O模型就是用什么样的通道进行数据的发送和接受,很大程度上决定了程序通信的性能
1.2 Java支持的3种网络编程I/O模式:BIO、NIO、AIO
1.3 JavaBIO(同步阻塞)
1.4 JavaNIO (同步非阻塞)
1.5 JavaAIO(异步非阻塞)
我们在使用C#开发WebApi等相关程序时,可能因为某些原因会出现如下图所示的错误,原因就是我们在编译的时候,使用的dll库可能和最初的发生了改变,导致版本不一致造成的。
View Details