- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 AIO实现异步通信
Asynchronous ---> Channel重点 AsynchronousSocketChannel 和 AsynchronousServerSocketChannel 支持TCP的异步Channel AsynchronousSocketChannel 负责监听的Channel 创建方法:调用AsynchronousServerSocketChannel...
2018-10-30 12:34:42 614
转载 同步与阻塞,异步与非阻塞的区别转载
同步与阻塞,异步与非阻塞的区别同步与异步是对应的,它们是线程之间的关系,两个线程之间要么是同步的,要么是异步的。阻塞与非阻塞是对同一个线程来说的,在某个时刻,线程要么处于阻塞,要么处于非阻塞。阻塞是使用同步机制的结果,非阻塞则是使用异步机制的结果。处理大并发之一 对异步非阻塞的理解 在研究nginx和node.js的时候常会遇到异步、非阻塞等,之前自己也经常使用ep...
2018-10-29 17:31:59 177
原创 NIO实现非阻塞式Socket通信
Selector 非阻塞通信核心Selector负责监控所有已经注册的Channel Selector通过SelectionKey来关联Channel 群聊服务器nio非阻塞式public class NServer{ // 用于检测所有Channel状态的Selector private Selector selector = null; static final int...
2018-10-29 14:26:05 183
原创 NIO
NIOchannel:可以理解为一个通道。channel把文件中数据映射到Buffer中。然后channel操作Buffer进行读写操作 Buffer: 就是一个容器,channel进行读写的容器工具,另外,Buffer本身也可以完成读写操作使用Buffer从0开始就有数据 capacity:容量。 limit:第一个不应该被操作的缓冲区索引位置。limit之后不可读写 p...
2018-10-28 15:20:41 108
原创 IO印象笔记
File File 对象 * * //可以将一个已存在的,或者不存在的文件或者目录封装成file对象。 * 是对文件和目录本身和其包含文件和目录基本信息的描述。 创建对象只是在内存中,需要中creatnewfile 方法在外存中创建。 * * * File f1 = new File("c:\\a.txt"); * File...
2018-10-27 15:25:32 146
原创 函数式接口和Lambda
Lambda表达式可以转化为 函数式接口的实例 表达式中的代码块对应函数式接口中的抽象方法,执行代码块相当于执行抽象方法,通过Lambda转化的实例,调用抽象方法,相当于执行了代码块。代码块相当于实现了该抽象方法。 *******代码块的返回值应和抽象方法的返回值一致。Lambda表达式整体被转化为函数式接口的实例。 Lambda表达式 可以被当作函数式接口类型...
2018-10-23 16:32:39 111
原创 java集合框架
概述Iterable: ->Collection Collection: 下有三个接口 Set , Queue , List 接口 Set: 无序集合, 元素不可重复 常用的: TreeSet , HashSet . List: 有序集合,元素可以重复, 常用 : ArrayList , LinkedlList , Queue: 队列:常用:ArrayQueue .Linke...
2018-10-23 14:47:14 106
原创 URLConnection实例
URLConnection 用于发请求与其他服务器建立连接URLConnection 发请求多线程下载资源package it.net;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.*;/** * Description: * URL 多线程下载资源 * 网站: <...
2018-10-22 18:12:21 361
原创 基于TCP传输 的文件上传
/**基于TCP传输 的文件上传。*/ 客户端建立public static void main(String[] args) throws UnknownHostException, IOException { // 建立客户端socket Socket s = new Socket("192.168.1.100",1...
2018-10-21 15:35:51 476
原创 基于TCP传输的大小写转换服务
/*基于TCP传输的大小写转换服务*/ 客户端的建立。public static void main(String[] args) throws UnknownHostException, IOException { //1,创建socket客户端对象,寻求与服务端的连接。 Socket s = new Socket("192.168.1....
2018-10-21 15:35:41 350
原创 TCP网络编程服务端与客户端半关闭的流
最常见的客户端: 浏览器 :IE。最常见的服务端: 服务器:Tomcat。浏览器请求: 为什么要发送请求? 没有请求,服务器不知道你需要什么页面,什么内容,你能接受什么信息。请求: 发送的请求是:请求消息 请求头 + 空行 + 请求体请求消息头 属性名:属性值GET /myweb/1.html HTTP/1.1 第一行请求行: 请求方式...
2018-10-21 15:34:41 273
原创 JDK动态代理
Proxy 类使用Proxy 类的静态方法可以动态的创建动态代理类,去实现接口。或为接口动态的创建实例 static Class<?> getProxyClass(ClassLoader loader, Class<?... interfaces):创建一个动态代理类所对应的Class对象,该代理类将实现interfaces所指定的多个接口。第一个ClassLoader 参...
2018-10-21 10:11:47 184 1
原创 类的加载连接于初始化反射与泛型
类的加载通过jvm提供的系统类加载器加载类的二进制数据 类的来源: 本地class文件,jar包,网络加载,把java文件动态编译,并加载。连接加载以后生成class对象,将二进制数据合并到 jre(jdk)中验证: 验证类的内部结构 准备:为类变量分配内存,并设置默认值 解析: 将符号(变量)引用替换为直接引用(二进制数据)。类的初始化主要目的是对类变量进行初始化(显式)...
2018-10-20 17:30:57 148
原创 自定义注解与设计模式
自定义注解与设计模式课程目标熟悉注解底层实现原理完成ORM框架底层原理常用设计模式单例、工厂、代理自定义注解1.1什么是注解?Jdk1.5新增新技术,注解。很多框架为了简化代码,都会提供有些注解。可以理解为插件,是代码级别的插件,在类的方法上写:@XXX,就是在代码上插入了一个插件。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。注解分类:内置注解(也...
2018-10-19 19:45:19 103
转载 java泛型通配符
一、类型绑定1、引入我们重新看上篇写的一个泛型: [java] view plain copyclass Point<T> { private T x; // 表示X坐标 private T y; // 表示Y坐标 public void setX(T x) { t...
2018-10-07 09:17:21 370
转载 分页实现原理
分页查询的实现原理1:接着上次写的图书管理系统:http://www.cnblogs.com/biehongli/p/6445803.html这次新增了分页查询; 2:为什么会用到分页呢,因为列表内容太多了,所以使用分页进行显示。分页的核心就是计算每页多少记录和总页数以及第几页。3:首先先写如何计算每页多少记录和第几页,依旧在BookDao.java和BookDaoImpl.j...
2018-10-06 15:29:59 1803
转载 Java的泛型约束和限制
Java的泛型约束和限制不能用基本类型实例化类型参数不能用类型参数代替基本类型:例如,没有Pair<double>,只有Pair<Double>,其原因是类型擦除。擦除之后,Pair类含有Object类型的域,而Object不能存储double值。这体现了Java语言中基本类型的独立状态。 运行时类型查询只适用于原始类型(raw type)运行时:...
2018-10-06 12:22:26 419
原创 java核心技术- 泛型技术
泛型基础:泛型的常见问题/*泛型是在不确定类型的情况下使用。用与在使用时再确定属性方法实例要操作的类型 * 1.静态方法泛型必须定义在方法上。不能使用类的泛型。 * 2.方法的泛型可以和类的泛型不同。 3.当操作对象与泛型不一致时发生编译错误。泛型就是提供给编译器的安全检查机制,可以作为安全检查机制来使用。4.当类,接口,方法操作的对象不确定类型时。使用泛型。泛型在继承和实...
2018-10-05 14:33:33 331
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人