摘要:
io是面向流的,而nio是面向缓冲区的; io每次从流中读取一个或者多个字节,直到读取完所有的字节,这就意外着它是阻塞式的,当一个线程执行read或者write的时候,这个线程是不能够再去做其他的事情了; nio会读取数据放到一个缓冲区里,这样可以增加读取数据的灵活性,可以前后移动读取数据的位置,它 阅读全文
摘要:
由于毕业设计需要,花了一天时间去好好研究这个,这里首先说明具体的实现,再讲解! 前端:因为用ajax请求,所以这边就没有用form表单提交的方式,而是自己写了个ajax请求; 商家用户注册 商铺名称 商家电话 ... 阅读全文
摘要:
传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。 小量的线程如何... 阅读全文
摘要:
指的是可以于运行时加载,探知和使用编译期间完全未知的类. 程序在运行状态中, 可以动态加载一个只有名称的类, 对于任意一个已经加载的类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能调用他的任意一个方法和属性; 加载完类之后, 在堆内存中会产生一个Class类型的对象(一个类只有一个Class对象), 这个对象包含了完整的类的结构信息,而且这个Class对象就像一... 阅读全文
摘要:
输入输出字节流使用Inputstream、OutputStream来完成的,而输入输出字符流是用Reader和Writer完成的的; 字符流处理的是2个字节的Unicode,分别操作字符、字符数组、字符串;字节流处理单元为1个字节,操作字节和字节数组; 字节流在操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的,而字符流在操作的时候是使用缓冲区的,所以字节流在操作文件的时候,即使... 阅读全文
摘要:
为了理解Spring的IoC与DI从网上查了很多资料,作为初学者,下面的描述应该是最详细,最易理解的方式了。 首先想说说IoC(Inversion of Control,控制倒转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。这是什么意思呢,举个简单的例子,我们是如何找女朋友的?常见的情况是,我们到处去看哪里... 阅读全文
摘要:
request 请求对象 类型javax.servlet.ServletRequest 作用域Request response 响应对象 类型javax.servlet.ServletResponse 作用域Page pageContext 页面上下文对象 类型javax.s... 阅读全文
摘要:
1、chgrp 改变所属群组: 例:将install.log的群组改为users chgrp users install.log ls –l 查看结果:root users 68495 25 08:53 install.log 拥有者 群组 2、chown改变拥有者 例:将install.log文件拥有者改成... 阅读全文
摘要:
其实服务端与客户端实现消息推送的方式有几种: 1、客户端不断的查询服务器,检查新的内容,也就是所谓的pull或者轮询的方式; 2、客户端与服务器之间维持一个TCP/IP长连接(在HTTP1.1中,所有的请求都认为是长连接),服务器向客户端push; 3、当服务端有新内容的时候,发送一条类似短信的信令给客户端,客户端收到货从服务器下载新内容,也就是SMS的推送方式; 对于第一种方式有以... 阅读全文
摘要:
HashMap的底层实现都是数组+链表结构实现的,添加、删除、获取元素都是先计算hash值,根据hash值和table.length计算出index也就是table的数组的下标,然后进行相应的操作。 不过HashMap和HashTable计算hash的方法不同: HashMap是直接用key的hashcode对table数组长度取模;而HashMap则是对key的hashcode进行两次has... 阅读全文