上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页
摘要: Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。 FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。 打开FileChannel 在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileChannel,需要通过使 阅读全文
posted @ 2017-01-22 14:57 limeOracle 阅读(228) 评论(0) 推荐(0) 编辑
摘要: Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 下面是本文所涉及到的主题列表: 为什么使用Selector? 仅用单个线程来处理多个Channels的好处 阅读全文
posted @ 2017-01-22 14:06 limeOracle 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。 transferFrom() FileChannel的transferFrom()方法可以将数据从源通道传输到FileCh 阅读全文
posted @ 2017-01-22 14:00 limeOracle 阅读(372) 评论(0) 推荐(0) 编辑
摘要: Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Chann 阅读全文
posted @ 2017-01-22 13:57 limeOracle 阅读(126) 评论(0) 推荐(0) 编辑
摘要: Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。 下面是NIO Buffer相关的话题 阅读全文
posted @ 2017-01-22 13:54 limeOracle 阅读(177) 评论(0) 推荐(0) 编辑
摘要: Java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。 通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示: Cha 阅读全文
posted @ 2017-01-22 13:52 limeOracle 阅读(207) 评论(0) 推荐(0) 编辑
摘要: Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使 阅读全文
posted @ 2017-01-22 13:50 limeOracle 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 4.2 未考虑TCP粘包导致功能异常案例 如果代码没有考虑粘包/拆包问题,往往会出现解码错位或者错误,导致程序不能正常工作。 4.2.1 TimeServer 的改造 Class : TimeServer Class : TimeServerHandler 4.2.2 TimeClient 的改造 阅读全文
posted @ 2017-01-19 18:55 limeOracle 阅读(258) 评论(0) 推荐(0) 编辑
摘要: TCP的Java支持 协议相当于相互通信的程序间达成的一种约定,它规定了分组报文的结构、交换方式、包含的意义以及怎样对报文所包含的信息进行解析,TCP/IP协议族有IP协议、TCP协议和UDP协议。现在TCP/IP协议族中的主要socket类型为流套接字(使用TCP协议)和数据报套接字(使用UDP协 阅读全文
posted @ 2017-01-19 17:03 limeOracle 阅读(2380) 评论(0) 推荐(0) 编辑
摘要: 随笔 -- IO -- Socket/ServerSocket -- 系统概述 Java中提供的专门的网络开发程序包 java.net Java的网络编程提供的两种通信协议:TCP和UDP 19.1 IP与InetAddress 19.1.1 IP地址简介 19.1.2 InetAddress In 阅读全文
posted @ 2017-01-19 13:38 limeOracle 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 啦啦啦 阅读全文
posted @ 2017-01-18 18:51 limeOracle 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 4.1 TCP粘包/拆包 TCP是一个“流”协议,所谓流,就是没有界限的一串数据。TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘 阅读全文
posted @ 2017-01-17 19:07 limeOracle 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 表点 设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多 阅读全文
posted @ 2017-01-17 16:51 limeOracle 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。 装饰器模式的应用场景: 1、需要扩展一个类的功能。 2、动态的为一个对象增加功能,而且还能动态撤销。(继承不能做到这一点,继承的功能是静态的,不能动态增删。) 缺点 阅读全文
posted @ 2017-01-17 15:40 limeOracle 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 1.概念: 适配器模式(Adapter Pattern)把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 2.形式 a.类的适配器模式 b.对象的适配器模式 c.缺省适配器模式 3. 模式中的角色 3.1 目标接口(Target):客户所期 阅读全文
posted @ 2017-01-17 11:15 limeOracle 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 3.1 Netty开发环境的搭建 3.1.1 下载Netty的软件包 3.1.2 搭建Netty应用工程 3.2 Netty服务端开发 3.3 Netty客户端开发 3.4 运行和调试 3.4.1 服务端和客户端的运行 3.4.2 打包和部署 3.5 总结 3.1 Netty开发环境的搭建 3.1. 阅读全文
posted @ 2017-01-16 17:34 limeOracle 阅读(357) 评论(0) 推荐(0) 编辑
摘要: I/O模型 Linux 下的五种I/O模型 阻塞I/O(blocking I/O) 非阻塞I/O (nonblocking I/O) I/O复用(select 和poll) (I/O multiplexing) 信号驱动I/O (signal driven I/O (SIGIO)) 异步I/O (a 阅读全文
posted @ 2017-01-16 17:19 limeOracle 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 7.12 Spring 3.0 提供的表达式语言(SpEL) Spring表达式语言(简称SpEL)是一种与JSP 2 的EL功能类似的表达式语言,它可以在运行时查询和操作对象图。支持方法调用和基本字符串模板函数。 SpEL 可以独立于Spring容器使用 只是当成简单的表达式语言来使用;也可以在A 阅读全文
posted @ 2017-01-15 17:14 limeOracle 阅读(1234) 评论(0) 推荐(0) 编辑
摘要: 7.11 基于XML Schema的简化配置方式 Spring允许使用基于XML Schema的配置方式来简化Spring配置文件。 7.11.1 使用p:命名空间简化配置 p:命名空间不需要特定的Schema定义,它直接存在于Spring内核中。 当导入p:命名空间之后,就可直接在<bean... 阅读全文
posted @ 2017-01-15 13:17 limeOracle 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 7.10 高级依赖关系配置 组件与组件之间的耦合,采用依赖注入管理;但基本类型的成员变量值,应直接在代码中设置。 Spring支持将任意方法的返回值、类或对象的Field值、其他Bean的getter方法返回值,直接定义成容器中的一个Bean。 Spring框架的本质是,开发者在Spring配置文件 阅读全文
posted @ 2017-01-14 18:35 limeOracle 阅读(2716) 评论(0) 推荐(0) 编辑
摘要: Class : StaticFa Class : StaticSon Class : StaticMain Console : 得出结论: 1.执行顺序:静态代码>构造代码块>构造函数 2.静态代码块随类的声明而执行(仅执行一次),而构造代码块和构造方法则在一个类实例化后执行(实例化多少次执行多少次 阅读全文
posted @ 2017-01-13 16:03 limeOracle 阅读(215) 评论(0) 推荐(0) 编辑
摘要: MySQL: 啦啦啦 阅读全文
posted @ 2017-01-13 12:34 limeOracle 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 7.9 容器中Bean的生命周期 Spring可以管理singleton作用域的Bean的生命周期,Spring可以精确地知道该Bean何时被创建,何时被初始化完成、容器何时准备销毁该Bean实例。 对于prototype作用域的Bean,Spring容器仅仅负责创建,当容器创建了Bean实例之后, 阅读全文
posted @ 2017-01-11 22:23 limeOracle 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 安装完mysql之后或者是下载的免安装版解压之后,默认是没有my.ini文件的.但是,有几个类似的文件,如my-small.ini、my-medium.ini、my-large.ini、my-huge.ini。这几个文件是mysql针对不同的应用推荐的不同的配置信息;但这些配置只有放到my.ini中 阅读全文
posted @ 2017-01-11 09:42 limeOracle 阅读(1395) 评论(0) 推荐(0) 编辑
摘要: Ctrl+M 切换窗口的大小 Ctrl+, 快速追踪代码段中错误或警告语句 Ctrl+Q 跳到最后一次的编辑处 Ctrl+/ 注释:// Ctrl+Shift+/ 注释:/**/ Ctrl+S 保存当前文件。 Ctrl+Shift+S 保存所有未保存的文件。 Ctrl+Shift+W(Ctrl+Sh 阅读全文
posted @ 2017-01-10 13:45 limeOracle 阅读(191) 评论(0) 推荐(0) 编辑
摘要: Interface : Person Class : Teacher Class : Chinese Interface :Axe Class : SteelAxe Class :Class_T 动态代理 通过一个代理类完成全部的代理功能,那么此时就必须使用动态代理完成。 在Java中想实现动态代理 阅读全文
posted @ 2017-01-09 19:20 limeOracle 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 7.8 深入理解容器中的Bean 7.8.1 抽象Bean与子Bean 把多个<bean.../>配置中相同的信息提取出来,集中成配置模版 这个配置模版并不是真正的Bean,因此Spring不应该创建该配置模版,于是需要为该<bean.../>配置增加abstract=“true” 这就是抽象Bea 阅读全文
posted @ 2017-01-08 19:12 limeOracle 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 1.在.m2中新建settings.xml文件 1.window--》Preferences--》Maven--》User Settings 3.点击open file 编辑将远程仓库配置进去。点击Update Settings即可。 4.alt+F5重新构建项目 阅读全文
posted @ 2017-01-08 18:12 limeOracle 阅读(7533) 评论(0) 推荐(0) 编辑
摘要: 7.7 创建Bean的3种方式 ① 调用构造器创建Bean。 ② 调用静态工厂方法创建Bean。 ③ 调用实例工厂方法创建Bean。 7.7.1 使用构造器创建Bean实例。 使用构造器来创建Bean实例是最常见的情况,如果不采用构造注入,Spring底层会调用Bean类的无参数构造器来创建实例,因 阅读全文
posted @ 2017-01-07 23:21 limeOracle 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 7.6 Spring 3.0 提供的Java配置管理 Spring 允许使用Java类进行配置管理,可以不使用XML来管理Bean,以及Bean之间的依赖关系。 Interface :Person Interface : Axe Class : Chinese Class : StoneAxe Cl 阅读全文
posted @ 2017-01-07 22:23 limeOracle 阅读(360) 评论(0) 推荐(0) 编辑
摘要: status select version() show global variables like 'port' 阅读全文
posted @ 2017-01-07 15:52 limeOracle 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 1.解压 2.配置mysql bin的环境变量,mysql的bin目录配置到path中即可。 3.配置my-defalue.ini 配置文件 或自己建立一个my.ini文件 4.以管理员身份运行cmd进入mysql bin文件夹中运行mysqld -install 5.启动mysql 服务,运行ne 阅读全文
posted @ 2017-01-07 15:44 limeOracle 阅读(226) 评论(0) 推荐(0) 编辑
摘要: fileclear.sh task.crontab task.null.crontab是一个没有内容的空文件 开启定时任务 停止定时任务 crontab [-u username] [-l|-e|-r] 参数: -u: 只有root才能进行这个任务,也即帮其他用户新建/删除crontab工作调度; 阅读全文
posted @ 2017-01-06 19:26 limeOracle 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 如果.sql文件过大,mysql会直接断开连接 解决方法: 在mysql的配置文件my.cnf 中加入 一行max_allowed_packet = 100M(该大小>=mysql.sql文件大小)[mysqld] max_allowed_packet=20000M wait_timeout=200 阅读全文
posted @ 2017-01-06 19:13 limeOracle 阅读(665) 评论(0) 推荐(0) 编辑
摘要: window下 1.导出整个数据库 2.导出一个表 3.导出一个数据库结构 4.导入数据库 啦啦啦 阅读全文
posted @ 2017-01-06 19:12 limeOracle 阅读(199) 评论(0) 推荐(0) 编辑
摘要: -- 返回最后一个INSERT查询中, AUTO_INCREMENT列设置的第一个表的值。 SELECT LAST_INSERT_ID(); 阅读全文
posted @ 2017-01-05 15:02 limeOracle 阅读(270) 评论(0) 推荐(0) 编辑
摘要: TCL(Transaction Control Language)事务控制语言SAVEPOINT 设置保存点ROLLBACK 回滚SET TRANSACTION 阅读全文
posted @ 2017-01-05 13:24 limeOracle 阅读(314) 评论(0) 推荐(0) 编辑
摘要: DCL(Data Control Language)数据库控制语言 授权,角色控制等GRANT 授权REVOKE 取消授权 阅读全文
posted @ 2017-01-05 13:23 limeOracle 阅读(163) 评论(0) 推荐(0) 编辑
摘要: DML(Data Manipulation Language)数据操纵语言statements are used for managing data within schema objects. 由DBMS提供,用于让用户或程序员使用,实现对数据库中数据的操作。DML分成交互型DML和嵌入型DML两 阅读全文
posted @ 2017-01-05 13:22 limeOracle 阅读(198) 评论(0) 推荐(0) 编辑
摘要: DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 阅读全文
posted @ 2017-01-05 13:19 limeOracle 阅读(187) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页