BIO(同步阻塞IO)
使用ServerSocket绑定IP地址和监听端口,客户端发起连接,通过三次握手建立连接,用socket来进行通信,通过输入输出流的方式来进行同步阻塞的通信
每次客户端发起连接请求,都会启动一个线程
线程数量:客户端并发访问数为1:1,由于线程是JAVA虚拟机中非常宝贵的资源,一旦线程数急剧增加,系统性能会急剧下降,导致线程栈溢出,创建新的线程失败,并最终导致宕机
所以在JDK1.4之前,人们想到了一种方法,即PIO方式
YOU'VE MADE A BRAVE DECISION, WELCOME.
使用ServerSocket绑定IP地址和监听端口,客户端发起连接,通过三次握手建立连接,用socket来进行通信,通过输入输出流的方式来进行同步阻塞的通信
每次客户端发起连接请求,都会启动一个线程
线程数量:客户端并发访问数为1:1,由于线程是JAVA虚拟机中非常宝贵的资源,一旦线程数急剧增加,系统性能会急剧下降,导致线程栈溢出,创建新的线程失败,并最终导致宕机
所以在JDK1.4之前,人们想到了一种方法,即PIO方式
在做一个java执行pyhton脚本命令时在网上找了许多方案都不行,最后在stackoverflow上
找到,执行脚本的时候需要带上shell的版本,类似于bash,zsh。看了下服务器上的是zsh,
执行非常慢,概念上最简单。最大的会一直被交换,冒泡上来
|
|
最近在做一个excel导出功能的时候,发现一个很严重的性能问题,只能导出4W条,再多不仅特别慢,导不出来,可能还会内存溢出。于是查了下资料,发现是poi 3.8以前的版本不支持大批量数据的导出,参考官方介绍
于是将jar包升级后,修改代码,最终能在5分钟内导出100W的数据。