Java传统IO是不支持中断的,所以如果代码在read/write等操作阻塞的话,是无法被中断的。这就无法和Thead的interrupt模型配合使用了。JavaNIO众多的升级点中就包含了IO操作对中断的支持。InterruptiableChannel表示支持中断的Channel。我们常用的FileChannel,SocketChannel,DatagramChannel都实现了这个接口。Int
分类:
其他好文 时间:
2018-11-04 19:38:59
阅读次数:
311
netty源码死磕9 Future Promise 模式详解1. Future/Promise 模式1.1. ChannelFuture的由来由于Netty中的Handler 处理都是异步IO操作,结果是未知的。Netty继承和扩展了JDK Future的API,定义了自身的Future系列类型,实... ...
分类:
Web程序 时间:
2018-11-04 00:39:50
阅读次数:
214
[TOC] 一、前言 很久以前在网上看到一篇叫做《如何给老婆解释什么是RPC》的文章,给我留下了深刻的印象,文章生动有趣,让技术不那么乏味。最近在看很多新的东西,我也想按照这一风格推出一个《如何向女朋友介绍 》系列的文章,因为我也是一个小白,文章中难免会有错误或者疏漏,还请大家多多指点。 二、正文 ...
分类:
数据库 时间:
2018-11-03 17:25:11
阅读次数:
229
声明:学习摘要! MyBatis缓存 我们知道,频繁的数据库操作是非常耗费性能的(主要是因为对于DB而言,数据是持久化在磁盘中的,因此查询操作需要通过IO,IO操作速度相比内存操作速度慢了好几个量级),尤其是对于一些相同的查询语句,完全可以把查询结果存储起来,下次查询同样的内容的时候直接从内存中获取 ...
分类:
其他好文 时间:
2018-10-31 20:05:37
阅读次数:
157
为什么要写这样一个函数 在使用SoftConsole开发M3程序时,生成的hex文件,必须要把第一行数据删除,才能在Libero中使用,所以写了这个小工具,这是2.0版本了,第一版是直接删除第一行数据,有可能会导致误操作。 实现原理 主要使用到了bat批处理命令和文件IO操作。 1. 创建bat批处 ...
分类:
其他好文 时间:
2018-10-29 21:30:19
阅读次数:
194
一、创建对象的4中方法: 1、new 关键字直接创建 example:Student s=new Student(); 2、class的反射调用(使用class的newInstanse方法可以调用无参构造器创建对象) Example:class.forName(); 3、使用clone()来创建 E ...
分类:
编程语言 时间:
2018-10-26 22:22:45
阅读次数:
222
异常处理的思考 在java中异常分为两类。一、检查性异常。二、非检查性异常(运行时异常) 二者的区别:检查性异常需要显式try-catch或者throw。运行时异常可以不用捕获。 对于检查性异常由于必须捕获,所有并不需要太多的讨论(在设计异常的时候需要考虑)。主要讨论运行时异常的抛出与捕获。 运行时 ...
分类:
其他好文 时间:
2018-10-26 15:09:46
阅读次数:
165
主要是影响性能的因素 数据库性能在依赖以下几个数据库级别因素,比如,数据表,查询,配置。这些软件层的构造造成你必须尽可能的减少硬件层CPU和IO操作.当你处理数据性能时,你首先学习软件层上高级别的规则和手册,使用时间来测量性能,当熟练后,你开始学习更多内在发生的事情,开始测量CPU时间片和IO操作. ...
分类:
其他好文 时间:
2018-10-23 00:12:25
阅读次数:
176
读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。
分类:
编程语言 时间:
2018-10-22 14:39:25
阅读次数:
195
IO input output 在内存中存在数据交换的操作都可以认为是IO操作 和终端交互 : input print 和磁盘交互 : read write 和网络交互 : recv send IO密集型程序 : 在程序执行过程中存在大量IO操作,而cpu运算操作较少。消耗cpu较少,运行效率较低 ...
分类:
编程语言 时间:
2018-10-16 22:05:44
阅读次数:
214