摘要:
选择器服务器端代码 上一篇文章毫无条理地讲了很多和选择器相关的知识点,下面进入实战,看一下如何写和使用选择器实现服务端Socket数据接收的程序,这也是NIO中最核心、最精华的部分。 看一下代码: 代码中已经有了相关的注释,这里继续解释一下: (1)第8行~第12行,确定要监听的端口号,这里是123 阅读全文
posted @ 2016-05-20 18:38
IT·达人
阅读(684)
评论(0)
推荐(0)
摘要:
选择器 最后,我们探索一下选择器。由于选择器内容比较多,所以本篇先偏理论地讲一下,后一篇讲代码,文章也没有什么概括、总结的,写到哪儿算哪儿了,只求能将选择器写明白,并且将一些相对重要的内容加粗标红。 选择器提供选择执行已经就绪的任务的能力,这使得多元I/O成为了可能,就绪执行和多元选择使得单线程能够 阅读全文
posted @ 2016-05-20 18:37
IT·达人
阅读(778)
评论(0)
推荐(0)
摘要:
Socket通道 上文讲述了通道、文件通道,这篇文章来讲述一下Socket通道,Socket通道与文件通道有着不一样的特征,分三点说: 1、NIO的Socket通道类可以运行于非阻塞模式并且是可选择的,这两个性能可以激活大程序(如网络服务器和中间件组件)巨大的可伸缩性和灵活性,因此,再也没有为每个S 阅读全文
posted @ 2016-05-20 18:36
IT·达人
阅读(442)
评论(0)
推荐(0)
摘要:
什么是缓冲区 一个缓冲区对象是固定数量的数据的容器, 其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。缓冲区像前篇文章讨论的那样被写满和释放,对于每个非布尔原始数据类型都有一 个缓冲区类,尽管缓冲区作用于它们存储的原始数据类型,但缓冲区十分倾向于处理字节,非字节缓冲区可以再后 阅读全文
posted @ 2016-05-20 18:35
IT·达人
阅读(307)
评论(0)
推荐(0)
摘要:
通道是什么 通道式(Channel)是java.nio的第二个主要创新。通道既不是一个扩展也不是一项增强,而是全新的、极好的Java I/O示例,提供与I/O服务的直接连接。Channel用于在字节缓冲区和位于通道另一侧的实体(通常是一个文件或套接字)之间有效地传输数据。 通常情况下,通道与操作系统 阅读全文
posted @ 2016-05-20 18:35
IT·达人
阅读(2027)
评论(0)
推荐(0)
摘要:
I/O模型 在开始NIO的学习之前,先对I/O的模型有一个理解,这对NIO的学习是绝对有好处的。我画一张图,简单表示一下数据从外部磁盘向运行中进程的内存区域移动的过程: 这张图片明显忽略了很多细节,只涉及了基本操作,下面分析一下这张图。 用户空间和内核空间 一个计算机通常有一定大小的内存空间,如一台 阅读全文
posted @ 2016-05-20 18:34
IT·达人
阅读(474)
评论(0)
推荐(0)
摘要:
前言 前面的文章主要讲了文件字符输入流FileWriter、文件字符输出流 FileReader、文件字节输出流FileOutputStream、文件字节输入流FileInputStream,这些都是常见的流类。当然除了 这些流类之外,Java还提供了很多的流类给用户使用,本文就看一下别的流。 管道 阅读全文
posted @ 2016-05-20 18:33
IT·达人
阅读(1563)
评论(0)
推荐(0)
摘要:
字节流、字符流继承关系 前几篇文章讲解了字节流、字符流的使用,不过Java提供给用户的流类远不止此,限于篇幅原因,没办法一一讲解,而且也没有必要一一讲解,就像我在写博客的时候多次提到的,有问题的时候学会查JDK API即可。OK,虽然不一一讲解每种流,我自己简单画了几张UML图,说明一下字节输入流、 阅读全文
posted @ 2016-05-20 18:33
IT·达人
阅读(1603)
评论(0)
推荐(0)
摘要:
字符流和字节流的区别 拿一下上一篇文章的例子: 1 public static void main(String[] args) throws Exception 2 { 3 File file = new File("D:/writer.txt"); 4 Writer out = new File 阅读全文
posted @ 2016-05-20 18:32
IT·达人
阅读(281)
评论(0)
推荐(0)
摘要:
字符流 字节流提供了处理任何类型输入/输出操作的功能(因为对于计算机而言,一切都是0 和1,只需把数据以字节形式表示就够了),但它们不可以直接操作Unicode字符,因为上一篇文章写了,一个Unicode字符占用2个字节,而字节流 一次只能操作一个字节。既然Java的口号就是"一次编写、处处运行", 阅读全文
posted @ 2016-05-20 18:31
IT·达人
阅读(367)
评论(2)
推荐(0)
摘要:
流类 Java的流式输入/输出是建立在四个抽象类的基础上的:InputStream、OutputStream、Reader、Writer。它们用来创建具体的流式子类。尽管程序通过具体子类执行输入/输出操作,但顶层类定义了所有流类的基本通用功能。 InputStream和OutputStream为字节 阅读全文
posted @ 2016-05-20 18:30
IT·达人
阅读(285)
评论(1)
推荐(0)
摘要:
前言 字符编码,这本不属于IO的内容,但字节流之后写的应该是字符流,既然是字符流, 那就涉及一个"字符编码的"问题,考虑到字符编码不仅仅是在IO这块,Java中很多场景都涉及到这个概念,因此这边文章就专门详细写一下字符编码,具体 的网上有很多,但本文目的是尽量讲清楚各种编码方式的作用,个人认为,不求 阅读全文
posted @ 2016-05-20 18:30
IT·达人
阅读(786)
评论(0)
推荐(0)
摘要:
RandomAccessFile RandomAccessFile类可以说是Java语言中功能最为丰富的文件访 问类,它提供了众多的文件访问方法。RandomAccessFile类支持"随机访问"方式,可以跳转到文件的任意位置处读写数据。要访问一个文件的时 候,不想把文件从头读到尾,而是希望像访问一 阅读全文
posted @ 2016-05-20 18:29
IT·达人
阅读(306)
评论(0)
推荐(0)
摘要:
IO 大多数的应用程序都要与外部设备进行数据交换,最常见的外部设备包含磁盘和网络。IO就是指应用程序对这些设备的数据输入与输出,Java语言定义了许多类专门负责各种方式的输入、输出,这些类都被放在java.io包中。 File类 File类是IO包中唯一代表磁盘文件本身的对象,File类定义了一些与 阅读全文
posted @ 2016-05-20 18:28
IT·达人
阅读(365)
评论(0)
推荐(0)
摘要:
什么是三范式 设计关系型数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。 目前关系型数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和 阅读全文
posted @ 2016-05-20 17:59
IT·达人
阅读(246)
评论(0)
推荐(0)
摘要:
性能优化 优化MySQL数据库是数据库管理员和数据库开发人员的必备技能。MySQL优化,一方面是找出系统的瓶颈,提高MySQL数据库的整体性能;一方面需要合理的结构设计和参数调整,以提高用户操作响应的速度;同时应该尽可能节省系统资源,以便系统可以提供更大负荷的服务。 MySQL数据库优化是多方面的, 阅读全文
posted @ 2016-05-20 17:58
IT·达人
阅读(366)
评论(0)
推荐(0)
摘要:
什么是事物 事物是访问数据库的一个操作序列,数据库应用系统通过事物集来完成对数据库的存取。事物的正确执行使得数据库从一种状态转换为另一种状态。 事物必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久 阅读全文
posted @ 2016-05-20 17:58
IT·达人
阅读(751)
评论(0)
推荐(0)
摘要:
什么是视图 数据库中的视图是一个虚拟表。视图是从一个或者多个表中导出的表,视图的行为与表非常相似,在视图中用户可以使用SELECT语句查询数据,以及使用INSERT、UPDATE和DELETE修改记录。视图可以使用户操作方便,而且可以保障数据库系统安全。 视图一经定义便存储在数据库中,预期相对应的数 阅读全文
posted @ 2016-05-20 17:57
IT·达人
阅读(291)
评论(0)
推荐(0)
摘要:
什么是触发器 MySQL的触发器(trigger)和存储过程一样,都是嵌入到MySQL中的 一段程序。触发器是由事件来触发某个操作,这些事件包括INSERT、UPDATE和DELETE语句。如果定义了触发程序,当数据库执行这些语句的时候 就会激发触发器执行相应的操作,触发程序是与表有关的命名数据库对 阅读全文
posted @ 2016-05-20 17:57
IT·达人
阅读(1042)
评论(0)
推荐(0)
摘要:
什么是索引 索引是对数据库表中一列或者多列的值进行排序的一种结构,所引用于快速找出在某个 列中有一特定值的行。不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行。表越大,查询数据所花费的时间越多,如果表中查询的列有 一个索引,MySQL能快速到达一个位置去搜索数据文件,而不必查看 阅读全文
posted @ 2016-05-20 17:56
IT·达人
阅读(465)
评论(0)
推荐(0)
摘要:
什么是存储过程 简单说,存储过程就是一条或多条SQL语句的集合,可视为批文件,但是起作用不仅限于批处理。本文主要讲解如何创建存储过程和存储函数以及变量的使用,如何调用、查看、修改、删除存储过程和存储函数等。使用的数据库和表还是之前写JDBC用的数据库和表: create database schoo 阅读全文
posted @ 2016-05-20 17:55
IT·达人
阅读(428)
评论(0)
推荐(0)
摘要:
前言 MySQL提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时查看。 数学函数 (1)ABS(x) 返回x的绝对值 (2)PI() 返回圆周率π,默认显示6位小数 阅读全文
posted @ 2016-05-20 17:54
IT·达人
阅读(467)
评论(0)
推荐(0)
摘要:
前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进 行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySql的核心就是存储引擎 阅读全文
posted @ 2016-05-20 17:54
IT·达人
阅读(2774)
评论(0)
推荐(0)
摘要:
Model 上一篇文章《Spring6:基于注解的Spring MVC(上篇)》,讲了Spring MVC环境搭建、@RequestMapping以及参数绑定,这是Spring MVC中最基础也是最重要的内容,本篇文章继续讲讲Spring MVC中其余的知识点,先从Model开始。 前一篇文章比较详 阅读全文
posted @ 2016-05-20 17:35
IT·达人
阅读(715)
评论(0)
推荐(0)
摘要:
什么是Spring MVC Spring MVC框架是一个MVC框架,通过实现Model-View-Controller模式来很好地将数据、业务与展现进行分离。从这样一个角度来 说,Spring MVC和Structs、Structs2非常类似。Spring MVC的设计是围绕DispatcherS 阅读全文
posted @ 2016-05-20 17:34
IT·达人
阅读(1548)
评论(0)
推荐(2)
摘要:
数据库连接池 对一个简单的数据库应用,由于对数据库的访问不是很频繁,这时可以简单地在需要访 问数据库时,就新创建一个连接,就完后就关闭它,这样做也不会带来什么性能上的开销。但是对于一个复杂的数据库应用,情况就完全不同而,频繁的建立、关闭 连接,会极大地减低系统的性能,因为对于连接的使用成了系统性能的 阅读全文
posted @ 2016-05-20 17:33
IT·达人
阅读(688)
评论(0)
推荐(0)
摘要:
什么是注解 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点: 1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低 2、在开 阅读全文
posted @ 2016-05-20 17:33
IT·达人
阅读(103710)
评论(25)
推荐(76)
摘要:
AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过 OOP允许开发者定义 阅读全文
posted @ 2016-05-20 17:32
IT·达人
阅读(1238)
评论(0)
推荐(3)
摘要:
框架学习前言 这个模块是面向Spring的,Spring的学习我是这么想的: 1、简单介绍Spring,主要是从网上借鉴一些重点 2、尽量说明清楚Spring的使用方法以及细节点 3、尽量以自己的理解讲清楚Spring中的一些源代码 Spring是什么 Spring是一款为了解决企业应用开发的复杂性 阅读全文
posted @ 2016-05-20 17:31
IT·达人
阅读(4213)
评论(0)
推荐(2)
摘要:
前言 Spring最基础的功能就是一个bean工厂,所以本文讲解的是Spring生成bean的种种方法及细节,Spring配置文件的名字是bean.xml,定义几个类: 一个Person类: 一个Family类,里面持有Person的引用: 一个单例类: 一个空的类,为了测试初始化和销毁用的: 一个 阅读全文
posted @ 2016-05-20 17:31
IT·达人
阅读(742)
评论(0)
推荐(0)
摘要:
前言 前一篇文章《MyBatis5:MyBatis集成Spring事物管理(上篇)》复习了MyBatis的基本使用以及使用Spring管理MyBatis的事物的做法,本文的目的是在这个的基础上稍微做一点点的进阶:多数据的事物处理。文章内容主要包含两方面: 1、单表多数据的事物处理 2、多库/多表多数 阅读全文
posted @ 2016-05-20 16:45
IT·达人
阅读(546)
评论(0)
推荐(0)
摘要:
前言 有些日子没写博客了,主要原因一个是工作,另一个就是健身,因为我们不仅需要努力工作,也需要有健康的身体嘛。 那有看LZ博客的网友朋友们放心,LZ博客还是会继续保持更新,只是最近两三个月LZ写博客相对会慢一些,博客的内容也会更偏向于实战一些,主要是对于工作中遇到一些比较实际性的问题进行总结与研究, 阅读全文
posted @ 2016-05-20 16:44
IT·达人
阅读(389)
评论(0)
推荐(0)
摘要:
什么是动态SQL MyBatis的一个强大特性之一通常是它的动态SQL能力。如果你有使用JDBC或其他相似框架的经验,你就明白条件串联SQL字符串在一起是多么地痛苦,确保不能忘了空格或者在列表的最后的省略逗号,动态SQL可以彻底处理这种痛苦。 通常使用动态SQL不可能是独立的一部分,MyBatis当 阅读全文
posted @ 2016-05-20 16:43
IT·达人
阅读(381)
评论(0)
推荐(0)
摘要:
前言 前面学习了config.xml,下面就要进入MyBatis的核心SQL映射了,第一篇文章的时候,student.xml里面是这么写的: 基于这个xml,进行扩展和学习。 为什么要使用<![CDATA[ ... ]]>? 上面的配置文件中,大家一定注意到了一个细节,就是SQL语句用<
浙公网安备 33010602011771号