spring中对资源的读取提供有自己的新方案,比传统IO操作更加智能方便。 对于所有的资源处置,spring提供了Resource接口,该接口中的方法都是通过其父接口InputStreamSource实现的。该接口有四个常用子类,通过这四个子类实现资源获取: ClassPathResource、Fi ...
分类:
编程语言 时间:
2018-06-28 10:13:50
阅读次数:
137
基本概念 阻塞和非阻塞 同步和异步 IO模型 同步阻塞IO(JAVA BIO): 在此种方式下,用户进程在发起一个IO操作以后,必须等待IO操作的完成,只有当真正完成了IO操作以后,用户进程才能运行。JAVA传统的IO模型属于此种方式! 同步非阻塞IO(Java NIO) 用户进程发起一个IO操作以 ...
分类:
编程语言 时间:
2018-06-27 14:07:11
阅读次数:
226
Netty是一个高性能、异步事件驱动的NIO框架,提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。 作为当前最流行的NIO框架,Netty在互联网 ...
分类:
Web程序 时间:
2018-06-24 23:48:52
阅读次数:
233
对io操作各个层次性能分析 可见,cpu处理速度是最快的,内存决定服务器的运算速度,因为cpu速度超级快,内存是cpu能够直接访问的存储器,cpu从内存中读取操作指令和数据,又把运算或处理结果送回内存 计算机各个部件 服务器型号 机柜演示 服务器如何选择 电源 人体心脏,生产中一般单个服务器核心业务 ...
分类:
其他好文 时间:
2018-06-24 22:28:41
阅读次数:
150
文件读写 读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提 ...
分类:
其他好文 时间:
2018-06-24 11:38:26
阅读次数:
129
一、IO概述: 把内存中的数据存入到硬盘(持久化设备)中叫做:输出(写)Output操作。JAVA软件往电脑硬盘上走叫输出。 把硬盘中的数据读取到到内存里叫做:输入(读)Input操作。电脑硬盘上往JAVA软件里走叫输入。 以JAVA软件为参照物。 这种输入输出的动作叫做IO操作。 二、File类( ...
分类:
编程语言 时间:
2018-06-20 21:34:29
阅读次数:
204
BIO: 同步阻塞 用户进程发起一个IO操作以后,必须等待IO操作的完成,只有当真正完成了IO操作以后,用户进程才能运行。 服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制改善 NIO:同步非 ...
分类:
其他好文 时间:
2018-06-17 22:30:49
阅读次数:
193
频繁的数据库操作是非常耗费性能的(主要是因为对于DB而言,数据是持久化在磁盘中的,因此查询操作需要通过IO,IO操作速度相比内存操作速度慢了好几个量级),尤其是对于一些相同的查询语句,完全可以把查询结果存储起来,下次查询同样的内容的时候直接从内存中获取数据即可,这样在某些场景下可以大大提升查询效率。 ...
分类:
其他好文 时间:
2018-06-17 17:57:05
阅读次数:
256
概述 广泛指对文件的读写操作 java的IO操作不仅仅是可以对文件进行读写,还可以对字符串,字节数组,对象,基本数据类型进行读写 操作分为按字节进行操作和按字符进行操作。当要求精度很高时,每一个字节都不能出错,比如在操作图片,视屏,音频等需要按字节流进行IO操作;之外的IO操作优先考虑字符,其效率要 ...
分类:
编程语言 时间:
2018-06-16 19:13:10
阅读次数:
165
GIL锁的存在,使python实现不了通过多核来完成多线程并行,如果想让python利用多核,只能通过开多进程来实现。所以python适合执行计算密集型任务。 资源抢占式:线程、进程 协程:协作式 >即非抢占式程序,关键词:yield生成器,主要解决的也是IO操作,但不能利用多核(没有多进程的情况下 ...
分类:
编程语言 时间:
2018-06-16 00:09:52
阅读次数:
231