上一页 1 2 3 4 5 6 7 8 9 ··· 13 下一页

2017年9月19日

Java NIO系列教程(八) SocketChannel

摘要: Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel: 打开 SocketChannel 下面是SocketChannel的打开方式: 1 SocketChannel socketChannel = SocketChan 阅读全文

posted @ 2017-09-19 10:41 云潇洒 阅读(263) 评论(0) 推荐(0) 编辑

Java NIO系列教程(七) FileChannel

摘要: Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。 FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。 打开FileChannel 在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileChannel,需要通过使 阅读全文

posted @ 2017-09-19 10:39 云潇洒 阅读(456) 评论(0) 推荐(0) 编辑

Java NIO系列教程(六) Selector

摘要: Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 下面是本文所涉及到的主题列表: 为什么使用Selector? 仅用单个线程来处理多个Channels的好处 阅读全文

posted @ 2017-09-19 10:35 云潇洒 阅读(342) 评论(0) 推荐(0) 编辑

Java NIO系列教程(五) 通道之间的数据传输

摘要: 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。 transferFrom() FileChannel的transferFrom()方法可以将数据从源通道传输到FileCh 阅读全文

posted @ 2017-09-19 10:34 云潇洒 阅读(250) 评论(0) 推荐(0) 编辑

Java NIO系列教程(四) Scatter/Gather

摘要: Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Chann 阅读全文

posted @ 2017-09-19 10:33 云潇洒 阅读(226) 评论(0) 推荐(0) 编辑

Java NIO系列教程(三) Buffer

摘要: Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。交互图如下: 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。缓冲区实际上是一个容器对象 阅读全文

posted @ 2017-09-19 10:32 云潇洒 阅读(295) 评论(0) 推荐(0) 编辑

Java NIO系列教程(二) Channel

摘要: Java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。 通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示: Cha 阅读全文

posted @ 2017-09-19 10:30 云潇洒 阅读(293) 评论(0) 推荐(0) 编辑

Java NIO系列教程(一) Java NIO 概述

摘要: 一、阻塞IO与非阻塞IO 阻塞IO: 通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有 可供读取的数据。同样,写入调用将会阻塞直至数据能够写入。传统的Server/Client模式会基于TPR(Thread per Request),服务器会为每个客户端请求建立一个线程,由该线程单独负责处 阅读全文

posted @ 2017-09-19 10:29 云潇洒 阅读(952) 评论(0) 推荐(0) 编辑

2017年9月18日

软件架构设计学习总结(23):软件架构设计的6大原则

摘要: 1. 单一职责原则(Single Responsibility Principle - SRP) 原文:There should never be more than one reason for a class to change. 译文:永远不应该有多于一个原因来改变某个类。 理解:对于一个类而 阅读全文

posted @ 2017-09-18 16:04 云潇洒 阅读(531) 评论(0) 推荐(0) 编辑

软件架构设计学习总结(22):软件架构——分层架构、事件驱动架构、微内核架构、微服务架构、基于空间的架构

摘要: 分层架构 (Layered Architecture) 分层架构是最常见的架构,也被称为n层架构。多年以来,许多企业和公司都在他们的项目中使用这种架构,它已经几乎成为事实标准,因此被大多数架构师、开发者和软件设计者所熟知。比如MVC。 分层架构的一个特性就是 关注分离(separation of c 阅读全文

posted @ 2017-09-18 16:02 云潇洒 阅读(2722) 评论(0) 推荐(0) 编辑

软件架构设计学习总结(21):淘宝技术发展(分布式时代:服务化)

摘要: 在系统发展的过程中,架构师的眼光至关重要,作为程序员,把功能实现即可,但作为架构师,要考虑系统的扩展性、重用性,这种敏锐的感觉,有人说是一种代码洁癖。淘宝早期有几个架构师具备了这种感觉。一指开发的Webx是一个扩展性很强的框架,行癫在这个框架上插入了数据分库路由的模块、session框架等等。在做淘 阅读全文

posted @ 2017-09-18 15:53 云潇洒 阅读(544) 评论(0) 推荐(0) 编辑

软件架构设计学习总结(20):高性能服务器架构思路

摘要: 在服务器端程序开发领域,性能问题一直是备受关注的重点。业界有大量的框架、组件、类库都是以性能为卖点而广为人知。然而,服务器端程序在性能问题上应该有何种基本思路,这个却很少被这些项目的文档提及。本文正式希望介绍服务器端解决性能问题的基本策略和经典实践,并分为几个部分来说明: 1. 缓存策略的概念和实例 阅读全文

posted @ 2017-09-18 15:50 云潇洒 阅读(707) 评论(0) 推荐(0) 编辑

软件架构设计学习总结(19):详解分布式系统中的session同步问题

摘要: 几周前,有个盆友问老王,说现在有多台服务器,怎么样来解决这些服务器间的session同步问题?老王一下就来精神了,因为在n年以前,老王还在学校和几个同学一起所谓创业的时候,也遇到了类似的问题。当时查了很多资料,没有解决,于是后来投身百度,终于学到了“葵花宝典”,方才大彻大悟。所以,今天想跟大家分享一 阅读全文

posted @ 2017-09-18 15:48 云潇洒 阅读(305) 评论(0) 推荐(1) 编辑

软件架构设计学习总结(18):MVC三层架构在各框架(jsp+servlet + Struts1+ Struts2+ springMVC)中的特征

摘要: 1.基于web开发中最原始的jsp+Servlet 图形化理解jsp+servlet结构: 1.从结构上分析jsp+servlet图解原理: 在基于mvc设计模式下的最原始的jsp+Servlet框架,在某种程度上是不能够达到mvc最直观的体现。当客户端发送请求到服务器时,服务器会将从客户端接收到的 阅读全文

posted @ 2017-09-18 15:45 云潇洒 阅读(817) 评论(0) 推荐(0) 编辑

软件架构设计学习总结(17):架构和框架的区别

摘要: 7层是框架还是架构? 框架: 1、定义: 框架(framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法,另一种定义为,框架是可被应用开发者定制的应用骨架,前者是从应用方面而后者是从墓地的方面给出的定义。 框架是一个可服用的设计构件,通常以构件库的形式出现,但构架库 阅读全文

posted @ 2017-09-18 15:33 云潇洒 阅读(1639) 评论(0) 推荐(0) 编辑

软件架构设计学习总结(16):大型网站架构不得不考虑的10个问题

摘要: 大型网站架构不得不考虑的10个问题 (转帖)http://www.dabaoku.com/jiaocheng/fabu/web/201003084540.shtml 这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基于大家众所周知的原因,我们就不谈新闻类和一些依靠HTML静态化就可以实现的 阅读全文

posted @ 2017-09-18 15:32 云潇洒 阅读(313) 评论(0) 推荐(0) 编辑

软件架构设计学习总结(15):远程通信(RPC,Webservice,RMI,JMS、EJB、JNDI的区别)对比

摘要: 总结这些概念都是易混淆,最基本概念定义复习和深入理解,同时也是架构师必备课程 RPC(Remote Procedure Call Protocol) RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.met 阅读全文

posted @ 2017-09-18 15:30 云潇洒 阅读(440) 评论(0) 推荐(0) 编辑

软件架构设计学习总结(14):大型网站技术架构(八)网站的安全架构

摘要: 从互联网诞生起,安全威胁就一直伴随着网站的发展,各种Web攻击和信息泄露也从未停止。常见的攻击手段有XSS攻击、SQL注入、CSRF、Session劫持等。 1、XSS攻击 XSS攻击即跨站点脚本攻击(Cross Site Script),指黑客通过篡改网页,注入恶意HTML脚本,在用户访问网页时, 阅读全文

posted @ 2017-09-18 15:25 云潇洒 阅读(510) 评论(0) 推荐(0) 编辑

软件架构设计学习总结(13):大型网站技术架构(七)网站的可扩展性架构

摘要: 扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化,并在此基础上,降低模块间的耦合性,提供模块的复用性。模块通过分布式部署,独立的模块部署在独立的服务器上(集群)从物理上分离模块之间的耦合关系。 模块分布式部署以后具体聚合方式主要有分布式消息 阅读全文

posted @ 2017-09-18 15:24 云潇洒 阅读(290) 评论(0) 推荐(0) 编辑

软件架构设计学习总结(12):大型网站技术架构(六)网站的伸缩性架构

摘要: 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的伸缩性设计可以分成两类,一类是根据功能进行物理分离实现伸缩,一类是单一功能通过集群实现伸缩。前者是不同的 阅读全文

posted @ 2017-09-18 15:23 云潇洒 阅读(325) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 13 下一页

导航