Java NIO 基础(上)

NIO 简介

NIO是什么?

  • new IO或non blocking IO,java 1.4开始引入(JDK1.7+中的NIO统称为NIO.2)可以替代标准的java io api;
  • 与原来的io有着相同的作用和目的,但使用方式完全不同,NOI面向缓冲区、是基于通道的IO操作,文件的读写更加高效。

javaEE软件设计的基本原则

开闭原则及其特点

对于程序员来说,一方面,由于需求是由客户提出的,无法控制需求的变化;另一方面,随着技术的进步和时代的发展,技术和商业一定会有着非常巨大的变化。这些变化,都会使得人们对软件的要求有变化。例如,最早,用电话线上网的时候,腾讯公司的qq软件只有文字聊天功能;之后,随着带宽的增加和需求的变化,qq软件增加了传送文件等功能;再之后,随着ADSL的兴起,如今的qq软件有了语音以及视频聊天、qq游戏、qq空间等等非常丰富的功能。这就是一个典型的需求不断变化的例子。

ThreadLocal原理

ThreadLocal是什么

早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。

初识java多线程

多线程与多线程概念

首先,我们来介绍一下并发的基本概念和原理。对于现代操作系统来说,大部分操作系统都是多任务操作系统。什么是“多任务”呢?指的是每个系统在同时能够运行多个进程。例如,在windows中,可能开着一个Word窗口写文档,开着一个eclipse写代码,开着一个QQ聊天,开着一个IE浏览网页,开着一个Winamp听歌……这就意味着,在一个操作系统中,同时有多个程序在内存中运行着。每一个运行着的程序,就是操作系统中运行着的一个任务,也就是我们所说的“进程”。例如,在windows中,可以通过“任务管理器”来查看系统中有多少进程正在运行。