09 2017 档案

微信小程序——豆瓣电影——(2):小程序运行部署
摘要:Demo 预览 演示视频(流量预警 2.64MB) GitHub Repo 地址 仓库地址:https://github.com/zce/weapp-demo 使用步骤 bash $ git clone https://github.com/zce/weapp-demo.git weapp-doub 阅读全文

posted @ 2017-09-19 18:39 云潇洒 阅读(871) 评论(0) 推荐(0)

微信小程序——豆瓣电影——(1):基础入门
摘要:准备 Demo 项目地址 https://github.com/zce/weapp-demo Clone or Download(需准备GIT环境) $ cd path/to/project/root $ git clone https://github.com/zce/weapp-demo.git 阅读全文

posted @ 2017-09-19 18:35 云潇洒 阅读(2500) 评论(0) 推荐(0)

微信小程序开发初探
摘要:一、关于微信小程序 1.1 小程序诞生的背景 张小龙说道: (1)一切以用户价值为依归→用户是微信的核心,所以微信中没有很多与客户无关的功能,比如QQ中的乱七八糟一系列东西。 (2)让创造发挥价值→所有围绕微信的创造比如公众号都应该发挥其应有的价值。 (3)用完即走的高效服务→这一点就厉害了word 阅读全文

posted @ 2017-09-19 18:18 云潇洒 阅读(1493) 评论(0) 推荐(1)

微信小程序开发语言的选择
摘要:微信使用的开发语言和文件很「特殊」。 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Sheet,微信样式表) ③JS(Java,小程序的主体) 在语言方面,小程序看似重新定义了一套标准。但实际 阅读全文

posted @ 2017-09-19 17:19 云潇洒 阅读(50291) 评论(0) 推荐(4)

微信公众平台开发(十二) 发送客服消息
摘要:一、简介 当用户主动发消息给公众号的时候(包括发送信息、点击自定义菜单、订阅事件、扫描二维码事件、支付成功事件、用户维权),微信将会把消息数据推送给开发者,开发者在一段时间内(目前修改为48小时)可以调用客服消息接口,通过POST一个JSON数据包来发送消息给普通用户,在48小时内不限制发送次数。此 阅读全文

posted @ 2017-09-19 11:06 云潇洒 阅读(3506) 评论(0) 推荐(0)

微信公众平台开发(十一) 功能整合
摘要:一、简介 在前面的几篇微信功能开发文档中,各个微信的功能都是独立的,单一微信只能提供一种功能,这样不符合大众开发者和客户的需求。所以在这一篇文章中,我们将对前面开发出来的微信功能进行简单整合,以供读者参考。 二、思路分析 一种简单的做法是,截取关键字,然后进行判断,执行相应功能代码。这种做法比较适合 阅读全文

posted @ 2017-09-19 11:05 云潇洒 阅读(521) 评论(0) 推荐(0)

微信公众平台开发(十) 消息回复总结
摘要:一、简介 微信公众平台提供了三种消息回复的格式,即文本回复、音乐回复和图文回复,在这一篇文章中,我们将对这三种消息回复的格式做一下简单讲解,然后封装成函数,以供读者使用。 二、思路分析 对于每一个POST请求,开发者在响应包中返回特定xml结构,对该消息进行响应(现支持回复文本、图文、语音、视频、音 阅读全文

posted @ 2017-09-19 11:04 云潇洒 阅读(662) 评论(0) 推荐(0)

微信公众平台开发(九) 数据库操作
摘要:一、简介 前面讲解的功能开发都是简单的调用API 完成的,没有对数据库进行操作。在接下来的高级功能开发中,需要使用到数据库,所以在这一篇中,将对MySQL 数据库的操作做一下简单的介绍,以供读者参考。 二、思路分析 百度开发者中心提供了强大的云数据库(包括MySQL, MongoDB, Redis) 阅读全文

posted @ 2017-09-19 11:03 云潇洒 阅读(5795) 评论(0) 推荐(0)

微信公众平台开发(七) 聊天机器人功能开发
摘要:一、简介 上一篇文章介绍了微信公众平台翻译功能的开发,实现了中、英、日语言互译,在实际生活中也能使用到。在接下来的这一篇文章中,我们将完成一个比较有趣的功能,那就是聊天机器人,可以在你无聊的时候陪你聊天逗你开心。 二、思路分析 在这个实验中,我们将调取小黄鸡官方(http://www.simsimi 阅读全文

posted @ 2017-09-19 11:02 云潇洒 阅读(387) 评论(0) 推荐(0)

微信公众平台开发(八) 自定义菜单功能开发
摘要:一、简介 微信公众平台服务号以及之前成功申请内测资格的订阅号都具有自定义菜单的功能。开发者可利用该功能为公众账号的会话界面底部增加自定义菜单,用户点击菜单中的选项,可以调出相应的回复信息或网页链接。自定义菜单接口将为公众账号的信息展示空间提供更多可能性。本文将针对自定义菜单做简单的开发应用,以供读者 阅读全文

posted @ 2017-09-19 11:02 云潇洒 阅读(531) 评论(0) 推荐(0)

微信公众平台开发(六) 翻译功能开发
摘要:一、简介 上一篇文章介绍了微信公众平台天气预报功能的开发,实现了微信公众平台的第一个实际应用,在接下来的这一篇文章中,我们将对微信翻译功能进行简单开发,以供读者参考。 二、思路分析 和上一篇查询天气的思路差不多,首先要对用户发送过来的消息进行判断,判断消息里是否含有“翻译”关键字,如果含有,则提取待 阅读全文

posted @ 2017-09-19 11:01 云潇洒 阅读(668) 评论(0) 推荐(0)

微信公众平台开发(五) 天气预报功能开发
摘要:一、简介 前面几篇文章对微信公众平台的开通及简单使用做了简单的介绍,但都没有涉及到实际使用中的问题,例如天气查询,公交查询,快递查询等。接下来的几篇文章将对实际生活中会经常使用到的一些功能进行开发讲解,以供读者参考。 这一篇文章将对大家每天都会关心的天气查询进行开发,例如,用户发送消息 “苏州天气” 阅读全文

posted @ 2017-09-19 11:00 云潇洒 阅读(443) 评论(0) 推荐(0)

微信公众平台开发(四) 简单回复功能开发
摘要:一、简介 微信公众平台可以根据用户发送的信息进行判断,然后给出对应的回复,具有良好的交互性。下文将模拟简单的回复功能,根据这个案例,开发者也可以基本理解微信交互的原理,进行更深层次的开发。 二、思路分析 用户发送过来的文本信息,我们可以提取关键字,通过简单的 if...elseif...else.. 阅读全文

posted @ 2017-09-19 10:59 云潇洒 阅读(750) 评论(0) 推荐(0)

微信公众平台开发(三) 订阅事件(subscribe)处理
摘要:一、简介 新用户关注微信公众平台,将产生一个订阅事件,即subscribe事件,默认代码中没有对这一事件进行相应回复处理。 在新用户关注公众平台后,可能想知道该平台提供了哪些功能,以及怎样使用该平台,通俗一点讲就是该平台的“使用说明书”。 本文将详细讲述对subscribe事件的处理过程,回复相应信 阅读全文

posted @ 2017-09-19 10:58 云潇洒 阅读(2068) 评论(0) 推荐(0)

微信公众平台开发(二) 微信公众平台示例代码分析
摘要:一、摘要 微信公众平台提供了一个简单的php示例代码,在做进一步开发之前,我们有必要将其详细了解一下。 二、获取代码 微信官网:http://mp.weixin.qq.com/mpres/htmledition/res/wx_sample.zip 三、分析代码 完整代码如下: 3.1 整体分析 原始 阅读全文

posted @ 2017-09-19 10:57 云潇洒 阅读(843) 评论(0) 推荐(0)

微信公众平台开发(一) 配置接口
摘要:一、简介 微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,并实现和特定群体的文字、图片、语音的全方位沟通、互动。 二、通讯机制 三、注册微信平台公众帐号 注册地址:https://mp.weixin.qq.com 四、服务器端配置 4.1 示例 阅读全文

posted @ 2017-09-19 10:56 云潇洒 阅读(1507) 评论(0) 推荐(0)

Java NIO系列教程(十二) Java NIO与IO
摘要:当学习了Java NIO和IO的API后,一个问题马上涌入脑海: 我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异、它们的使用场景,以及它们如何影响您的代码设计。 Java NIO和IO的主要区别 下表总结了Java NIO和IO之间的主要差别,我会更详 阅读全文

posted @ 2017-09-19 10:45 云潇洒 阅读(303) 评论(0) 推荐(0)

Java NIO系列教程(十一) Pipe
摘要:Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。 这里是Pipe原理的图示: 创建管道 通过Pipe.open()方法打开管道。例如: 1 Pipe pipe = Pipe.open(); 1 P 阅读全文

posted @ 2017-09-19 10:44 云潇洒 阅读(232) 评论(0) 推荐(0)

Java NIO系列教程(十) Java NIO DatagramChannel
摘要:Java NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。 打开 DatagramChannel 下面是 DatagramChannel 的打开方式: 1 DatagramChannel ch 阅读全文

posted @ 2017-09-19 10:43 云潇洒 阅读(281) 评论(0) 推荐(0)

Java NIO系列教程(九) ServerSocketChannel
摘要:Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。 这里有个例子: 01 ServerSocketChannel s 阅读全文

posted @ 2017-09-19 10:43 云潇洒 阅读(171) 评论(0) 推荐(0)

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

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

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

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

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

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

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

posted @ 2017-09-19 10:34 云潇洒 阅读(258) 评论(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 云潇洒 阅读(249) 评论(0) 推荐(0)

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

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

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

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

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

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

软件架构设计学习总结(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 云潇洒 阅读(559) 评论(0) 推荐(0)

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

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

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

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

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

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

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

posted @ 2017-09-18 15:48 云潇洒 阅读(320) 评论(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 云潇洒 阅读(877) 评论(0) 推荐(0)

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

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

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

posted @ 2017-09-18 15:32 云潇洒 阅读(320) 评论(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 云潇洒 阅读(472) 评论(0) 推荐(0)

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

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

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

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

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

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

软件架构设计学习总结(11):大型网站技术架构(五)网站高可用架构
摘要:网站的可用性(Avaliability)描述网站可有效访问的特性。 1、网站可用性的度量与考核 网站不可用时间(故障时间)=故障修复时间点-故障发现(报告)时间点 网站年度不可用时间=(1-网站不可用时间/年度时间)× 100% 可用性指标时网站架构设计的重要指标,对外是服务承诺,对内是考核指标,具 阅读全文

posted @ 2017-09-18 15:21 云潇洒 阅读(365) 评论(0) 推荐(0)

软件架构设计学习总结(10):大型网站技术架构(四)网站的高性能架构
摘要:网站性能是客观的指标,可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。 1、性能测试指标 1.1 响应时间 指应用执行一个操作需要的时间,指从发出请求到最后收到响应数据所需要的时间。如下列出了系统常用的操作响应时间表. 操作 响应时间 打开一个网站 几秒 数据库查询一条记录(有索引) 阅读全文

posted @ 2017-09-18 15:20 云潇洒 阅读(317) 评论(0) 推荐(0)

软件架构设计学习总结(9):大型网站技术架构(二)架构模式
摘要:每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠运行灯一系列问题与挑战。为此,在实践中提出了许多解决方案,以实现网站高性能、高可靠性、易伸缩、可扩展、安全 阅读全文

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

软件架构设计学习总结(8):大型网站技术架构(三)架构核心要素
摘要:所谓架构,一种通俗的说法就是“最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终的蓝图。 而软件架构即“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各方面的设计”。一般来说软件架构需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素。 1、性能 性能是网站 阅读全文

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

软件架构设计学习总结(7):大型网站技术架构(一)大型网站架构演化
摘要:说道大型网站,就的先说大型网站的特点:高并发,大流量,高可用,海量数据等。下面就说说大型网站的架构演化过程吧。 1、初始阶段的网站架构 初始阶段都比较简单,通常一台服务器就可以搞定一个网站了,看图。 2、应用服务和数据服务分离 随着网站业务的发展,一台服务器逐渐不能满足需求;这时候就需要将应用和数据 阅读全文

posted @ 2017-09-18 15:16 云潇洒 阅读(346) 评论(0) 推荐(0)

软件架构设计学习总结(6):应用系统架构设计
摘要:我们在做着表面上看似是对于各种不同应用的开发,其实背后所对应的架构设计都是相对稳定的。在一个好的架构下编程,不仅对于开发人员是一件赏心悦目的事情,更重要的是软件能够表现出一个健康的姿态;而架构设计的不合理,不仅让开发人员受苦受难,软件本身的生命周期更是受到严重威胁。这里我将针对在微软dotNet平台 阅读全文

posted @ 2017-09-18 15:13 云潇洒 阅读(740) 评论(0) 推荐(0)

软件架构设计学习总结(5):软件架构学习小结
摘要:软件架构设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。本文从架构师职责、软件架构定义、设计架构、评估架构、架构管理等方面来描述了解软件架构的含义和怎样设计软件架构。 一、软件架构师的职责 架构师分为以下几大类:业务架构师、主题 阅读全文

posted @ 2017-09-18 15:11 云潇洒 阅读(4626) 评论(0) 推荐(0)

软件架构设计学习总结(4):大数据架构hadoop
摘要:摘要:Admaster数据挖掘总监 随着互联网、移动互联网和物联网的发展,谁也无法否认,我们已经切实地迎来了一个海量数据的时代,数据调查公司IDC预计2011年的数据总量将达到1.8万亿GB,对这些海量数据的分析已经成为一个非常重要且紧迫的需求。 随着互联网、移动互联网和物联网的发展,谁也无法否认, 阅读全文

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

软件架构设计学习总结(3):QQ空间技术架构之详解
摘要:QQ空间作为腾讯海量互联网服务产品,经过近七年的发展,实现了从十万级到亿级同时在线的飞跃。在这个过程中,QQ空间团队遇到了哪些技术挑战?其站点前后台架构随着业务规模的变化又进行了怎样的演进与变迁?成长背后有过怎样的心酸和快乐…… 4.26日晚间,腾讯大讲堂·深圳首站《QQ空间技术架构之峥嵘岁月》活动 阅读全文

posted @ 2017-09-18 15:07 云潇洒 阅读(939) 评论(0) 推荐(0)

软件架构设计学习总结(2):如何一步步构建大型网站架构
摘要:今天我们来谈谈一个网站一般是如何一步步来构建起系统架构的,虽然我们希望网站一开始就能有一个很好的架构,但马克思告诉我们事物是在发展中不断前进的,网站架构也是随着业务的扩大、用户的需求不断完善的,下面是一个网站架构逐步发展的基本过程,读完后,请思考,你现在在哪个阶段。 架构演变第一步:物理分离WebS 阅读全文

posted @ 2017-09-18 15:05 云潇洒 阅读(3791) 评论(0) 推荐(1)

软件架构设计学习总结(1):标准Web系统的架构分层
摘要:1、架构体系分层图 在上图中我们描述了Web系统架构中的组成部分。并且给出了每一层常用的技术组件/服务实现。需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层的技术都需要使用。例如:一些简单的CRM系统可能在产品初期并不需要K-V作为缓存;一些系统访问量不大,并且可能只有一台业务服务 阅读全文

posted @ 2017-09-18 14:59 云潇洒 阅读(1181) 评论(0) 推荐(1)

Tomcat学习总结(15)—— Tomcat优化时的参数分析
摘要:(1)、maxHttpHeaderSize=”8192” 此选项用于配置:来自于客户端请求的Request和Response的HTTP header 的最大长度,以字节计算。如果不设置,该属性为4096(4K)。 (2)、maxThreads="512" Connector创建的请求处理线程的最大值 阅读全文

posted @ 2017-09-18 13:20 云潇洒 阅读(2470) 评论(0) 推荐(0)

Tomcat学习总结(14)—— Tomcat常见面试题
摘要:一、Tomcat的缺省是多少,怎么修改 Tomcat的缺省端口号是8080. 修改Tomcat端口号: 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文件 3.打开server.xml文件 4.在server.xml文件里面找到下列信息 maxThre 阅读全文

posted @ 2017-09-18 13:18 云潇洒 阅读(8254) 评论(1) 推荐(0)

Tomcat学习总结(13)—— Tomcat常用参数配置说明
摘要:1、修改端口号 Tomcat端口配置在server.xml文件的Connector标签中,默认为8080,可根据实际情况修改。 修改端口号 2、解决URL中文参数乱码 在server.xml文件的Connector标签中增加URIEncoding="GBK"属性,解决中文参数乱码问题。 增加GBK支 阅读全文

posted @ 2017-09-18 13:16 云潇洒 阅读(596) 评论(0) 推荐(0)

Tomcat学习总结(12)—— Tomcat集群配置
摘要:现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量;大家知道如果服务器访问量过大,就会出现服应用务器崩溃的情况,这个时候怎么办,难道就只能去重启服务器吗?好,如果是一般的小型公益网站到也无所谓,但如果是比如像大型航空公司售 阅读全文

posted @ 2017-09-18 13:15 云潇洒 阅读(577) 评论(0) 推荐(0)

Tomcat学习总结(11)——Linux下的Tomcat安全优化
摘要:1、web.xml配置及修改: 站点默认主页: <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</we 阅读全文

posted @ 2017-09-18 12:43 云潇洒 阅读(553) 评论(0) 推荐(0)

Tomcat学习总结(10)——Tomcat多实例冗余部署
摘要:昨天在跟群友做技术交流的时候,了解到,有很多大公司都是采用了高可用的,分布式的,实例沉余1+台。但是在小公司的同学也很多,他们反映并不是所有公司都有那样的资源来供你调度。往往公司只会给你一台机器,因为有些应用挂了公司也不会有损失的,我们往往一台机器就可以搞定。 但是,我们也要为我们做出来的应用负责, 阅读全文

posted @ 2017-09-18 11:48 云潇洒 阅读(907) 评论(0) 推荐(0)

Tomcat学习总结(9)——Apache Tomcat 8新特性
摘要:一、Apache Tomcat 8介绍 Apache Tomcat 8RC1版于2013年8月份发布。它 经过了2年的开发,引入了很多新特征,由于目前还只是Alpha版,故不推荐在产品中使用。但是我们应该了解它有哪些新特性,以便在稳定版出来后,用到我们的开发项目中去。Apache Tomcat 8支 阅读全文

posted @ 2017-09-18 11:38 云潇洒 阅读(1167) 评论(0) 推荐(0)

Tomcat学习总结(8)——Tomcat+Nginx集群解决均衡负载及生产环境热部署
摘要:近日,为解决生产环境热部署问题,决定在服务器中增加一个tomcat组成集群,利用集群解决热部署问题。 近日,为解决生产环境热部署问题,决定在服务器中增加一个tomcat组成集群,利用集群解决热部署问题。 这样既能解决高并发瓶颈问题,又能解决热部署(不影响用户使用的情况下平滑更新生产服务器)问题。 因 阅读全文

posted @ 2017-09-18 11:37 云潇洒 阅读(662) 评论(0) 推荐(0)

Tomcat学习总结(7)——Tomcat与Jetty比较
摘要:Jetty Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器。 它有一个基本数据模型,这个数据模型就是 Handler(处理器),所有可以被扩展的组件都可以作为一个 Handler,添加到 Server 中,Je 阅读全文

posted @ 2017-09-18 11:36 云潇洒 阅读(435) 评论(0) 推荐(0)

Tomcat学习总结(6)——Tomca常用配置详解
摘要:注:Tomcat 8需要JRE7以上的JRE 1. Tomcat环境变量设置 1.1 Java环境变量设置 右键计算机—属性—高级系统设置—环境变量,在”系统环境变量”,设置如下三个变量(如果变量已有,点”编辑”;如果变量没有,点”新建”。格式:变量名 = 变量值) JAVA_HOME = C:\P 阅读全文

posted @ 2017-09-18 11:35 云潇洒 阅读(1193) 评论(0) 推荐(0)

Tomcat学习总结(5)——Tomcat容器管理安全的几种验证方式
摘要:当访问服务器中受保护的资源时,容器管理的验证方法可以控制确认用户身份的方式。Tomcat支持四种容器管理的安全防护,它们是: BASIC (基本验证):通过HTTP验证,需要提供base64编码文本的用户口令 DIGEST (摘要验证):通过HTTP验证,需要提供摘要编码字符串的用户口令 FORM  阅读全文

posted @ 2017-09-18 11:34 云潇洒 阅读(634) 评论(0) 推荐(0)

Tomcat学习总结(4)——基于Tomcat7、Java、WebSocket的服务器推送聊天室
摘要:前言 HTML5 WebSocket实现了服务器与浏览器的双向通讯,双向通讯使服务器消息推送开发更加简单,最常见的就是即时通讯和对信息实时性要求比较高的应用。以前的服务器消息推送大部分采用的都是“轮询”和“长连接”技术,这两中技术都会对服务器产生相当大的开销,而且实时性不是特别高。WebSocket 阅读全文

posted @ 2017-09-18 11:33 云潇洒 阅读(1401) 评论(0) 推荐(0)

Tomcat学习总结(3)——Tomcat优化详细教程
摘要:Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器。而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化。 一、内存优化 默认情况下Tomcat的相关内存配置较低,这对于一些大型项目显然是不够用的,这些项目运行就已经耗费了大部分内存空间 阅读全文

posted @ 2017-09-18 11:31 云潇洒 阅读(529) 评论(0) 推荐(1)

Tomcat学习总结(2)——Tomcat使用详解
摘要:一、Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件。 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改 例如:将Tomcat服务器的启动端口由默认的808 阅读全文

posted @ 2017-09-18 11:30 云潇洒 阅读(485) 评论(0) 推荐(0)

Tomcat学习总结(1)——Tomcat入门教程
摘要:一、打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下: 范例:将JavaWebDemoProject这个JavaWeb应用打包成war包 执行完之后,就可以得到一个文件,平时开发完JavaWeb应用后,一般都会将JavaWeb应 阅读全文

posted @ 2017-09-18 11:29 云潇洒 阅读(653) 评论(0) 推荐(0)

TCP/IP协议:OSI七层模型、TCP/IP四层模型的对比
摘要:1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。 1.2 OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。 1.3 OSI是一种 阅读全文

posted @ 2017-09-18 10:26 云潇洒 阅读(13611) 评论(2) 推荐(2)

MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合
摘要:一、搭建开发环境 1.1、使用Maven创建Web项目 执行如下命令: 如下图所示: 创建好的项目如下: 编辑pom.xml文件 修改 <name>spring4-mybatis3 Maven Webapp</name> 部分,把" Maven Webapp"这部分包含空格的内容去掉,否则Maven 阅读全文

posted @ 2017-09-15 15:16 云潇洒 阅读(289) 评论(0) 推荐(0)

MyBatis学习总结(七)——Mybatis缓存
摘要:一、MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 2. 二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如 Ehcac 阅读全文

posted @ 2017-09-15 15:15 云潇洒 阅读(145) 评论(0) 推荐(0)

MyBatis学习总结(六)——调用存储过程
摘要:一、提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二、准备数据库表和存储过程 三、编辑userMapper.xml 编辑userMapper.xml文件,添加如下的配置项 四、编写单元测试代码 阅读全文

posted @ 2017-09-15 15:14 云潇洒 阅读(145) 评论(0) 推荐(0)

MyBatis学习总结(五)——实现关联表查询
摘要:一、一对一关联 1.1、提出需求 根据班级id查询班级信息(带老师的信息) 1.2、创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系。 表之间的关系如下: 1.3、定义实体类 1、Teacher类,Teacher类是teacher 阅读全文

posted @ 2017-09-15 15:13 云潇洒 阅读(183) 评论(0) 推荐(0)

MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突
摘要:在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突。 一、准备演示需要使用的表和数据 二、定义实体类 三、编写测试代码 3.1、编写SQL的xml映射文件 1、创建一个orderMapper.xml文件,o 阅读全文

posted @ 2017-09-15 15:13 云潇洒 阅读(139) 评论(0) 推荐(0)

MyBatis学习总结(三)——优化MyBatis配置文件中的配置
摘要:一、连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 其实我们完全可以将数据库的连接配置信息写在一个properties文件中,然后在conf.xml文件中引用properties文件,具体做法如下: 阅读全文

posted @ 2017-09-15 15:11 云潇洒 阅读(157) 评论(0) 推荐(0)

MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作
摘要:上一篇博文MyBatis学习总结(一)——MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对users表执行CRUD操作。本文中使用到的测试环境是上一篇博文中的测试环境。 一、使用MyBatis 阅读全文

posted @ 2017-09-15 15:11 云潇洒 阅读(213) 评论(0) 推荐(0)

MyBatis学习总结(一)——MyBatis快速入门
摘要:一、Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java 阅读全文

posted @ 2017-09-15 15:09 云潇洒 阅读(238) 评论(0) 推荐(0)

java System.currentTimeMillis()毫秒值和具体日期值互相转换
摘要:System.currentTimeMillis()与日期 间是可以相互转换的,通过 SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = dateformat.form 阅读全文

posted @ 2017-09-15 11:23 云潇洒 阅读(18253) 评论(0) 推荐(0)

java web SSO单点登录
摘要:第一篇: Web应用系统的演化总是从简单到复杂,从单功能到多功能模块再到多子系统方向发展。 .当前的大中型Web互联网应用基本都是多系统组成的应用群,由多个web系统协同为用户提供服务。 多系统应用群,必然意味着各系统间既相对独立,又保持着某种联系。 独立,意味着给用户提供一个相对完整的功能服务,比 阅读全文

posted @ 2017-09-15 11:21 云潇洒 阅读(1385) 评论(0) 推荐(1)

eclipse版本选择
摘要:Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会。 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Ecli 阅读全文

posted @ 2017-09-15 11:19 云潇洒 阅读(840) 评论(0) 推荐(0)

Java SVN管理工具的使用
摘要:1.svn环境搭建 在应用myEclips 8.5做项目时,svn会成为团队项目的一个非常好的工具,苦苦在网上寻求了一下午,终于整合好了这个环境,在这里简单介绍下,希望能为刚开始用svn的朋友一点点帮助。 svn环境需要(1)服务器端(2)客户端(3)应用在myeclipse中的svn插件 第一步, 阅读全文

posted @ 2017-09-15 11:17 云潇洒 阅读(6566) 评论(0) 推荐(0)

Jar文件 META-INF/MANIFEST.MF文件详解
摘要:打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANIFEST.MF文件的内 容,先来看struts.jar中包含的MANIFEST.MF文件内容: Ma 阅读全文

posted @ 2017-09-15 11:16 云潇洒 阅读(1418) 评论(0) 推荐(0)

web前端 学习线路
摘要:1. 前言 大约在几个月之前,让我看完了《webkit技术内幕》这本书的时候,突然有了一个想法。想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的是想要颠覆人们对于前端只有三大块(html、css、js)的认识——做web前端需要的比这三大块要多得多。 拖了 阅读全文

posted @ 2017-09-15 11:14 云潇洒 阅读(314) 评论(0) 推荐(1)

eclipse : java项目中的web.xml( Deployment Descriptor 部署描述文件 )配置说明
摘要:context-param、listener、filter、servlet 首先可以肯定的是,加载顺序与它们在 web.xml 配置文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是: listener -> filter -> 阅读全文

posted @ 2017-09-15 11:13 云潇洒 阅读(2680) 评论(0) 推荐(0)

Java: server/client 心跳机制实现 示例
摘要:心跳机制 心跳机制是定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性的机制。 大部分CS的应用需要心跳机制。心跳机制一般在Server和Client都要实现,两者实现原理基本一样。Client不关心性能,怎么做都行。 如果应用是基于TCP的,可以简单地通过SO_KEEP 阅读全文

posted @ 2017-09-15 11:11 云潇洒 阅读(1921) 评论(0) 推荐(0)

eclipse常用快捷键
摘要:做Java开发的,经常会用Eclipse或者MyEclise集成开发环境,一些实用的Eclipse快捷键和使用技巧,可以在平常开发中节约出很多时间提高工作效率,下面我就结合自己开发中的使用和大家分享一下Eclipse中常用到的快捷键和技巧。 1、alt+?或alt+/:自动补全代码或者提示代码 这个 阅读全文

posted @ 2017-09-15 11:07 云潇洒 阅读(280) 评论(0) 推荐(0)

Java 最常用类(前100名)来自一万个开源项目
摘要:大部分的 Java 软件开发都会使用到各种不同的库。近日我们从一万个开源的 Java 项目中进行分析,从中提取出最常用的 Java 类,这些类有来自于 Java 的标准库,也有第三方库。每个类在同一个项目中只计数一次,下面的列表中显示前 100 名的类。 以下列表中按使用最多的类进行排序,第三个数值 阅读全文

posted @ 2017-09-15 11:06 云潇洒 阅读(1361) 评论(0) 推荐(0)

Java 最常用类(前1000名) 来自GitHub 3000个项目
摘要:这篇文章主要介绍了最常用的1000个Java类(附代码示例),需要的朋友可以参考下 分析Github 3000个开源项目,粗略统计如下。括号内的数字是使用频率 0-3000. 下面的列表显示不全,完整的请看完整列表。 1.java.util.List (2889) 2.java.util.Array 阅读全文

posted @ 2017-09-15 11:05 云潇洒 阅读(327) 评论(0) 推荐(0)

java 程序编写规则(自己总结)
摘要:1.命名规范 (1)所有的标示符都只能用ASCⅡ字母(A-Z或a-z)、数字(0-9)和下划线“_”。 (2)类名是一个名词,采用大小写混合的方式,每个单词的首字母大写。例如:UserInfo (3)接口的大小写规则与类名相似:例如:UserInterface。 (4)方法名是一个动词或动词词组,采 阅读全文

posted @ 2017-09-15 11:03 云潇洒 阅读(2411) 评论(0) 推荐(0)

logback:用slf4j+logback实现多功能日志解决方案
摘要:slf4j是原来log4j的作者写的一个新的日志组件,意思是简单日志门面接口,可以跟其他日志组件配合使用,常用的配合是slf4j+logback,无论从功能上还是从性能上都较之log4j有了很大的提升,我想很多用户都已经尝试,并应用到项目中。对于日志记录,说实话,以前用过log4j,但没有深入研究, 阅读全文

posted @ 2017-09-15 11:01 云潇洒 阅读(517) 评论(0) 推荐(0)

Java Build Path(Java 构建路径)
摘要:Java构建路径用于在编译Java项目时找到依赖的类,包括以下几项: 源码包 项目相关的 jar 包及类文件 项目引用的的类库 我们可以通过使用 Java 项目属性对话框中的 Java Build Path(Java 构建路径)选项来查看和修改 Java 构建路径。 Java 项目属性对话框可以通过 阅读全文

posted @ 2017-09-15 11:00 云潇洒 阅读(6980) 评论(0) 推荐(1)

Java项目生成Jar文件
摘要:打开 Jar 文件向导 Jar 文件向导可用于将项目导出为可运行的 jar 包。 打开向导的步骤为: 在 Package Explorer 中选择你要导出的项目内容。如果你要导出项目中所有的类和资源,只需选择整个项目即可。 点击 File 菜单并选择 Export。 在输入框中输入"JAR" 。 在 阅读全文

posted @ 2017-09-15 10:59 云潇洒 阅读(426) 评论(0) 推荐(0)

eclipse 项目引入第三方jar包 3种方法
摘要:我们在用Eclipse开发程序的时候,经常要用到第三方jar包。引入jar包不是一个小问题,由于jar包位置不清楚,而浪费时间。下面配图说明3种Eclipse引入jar包的方式。 1.最常用的普通操作方式:基本步骤式 右击“项目”→选择Properties,在弹出的对话框左侧列表中选择Java Bu 阅读全文

posted @ 2017-09-15 10:58 云潇洒 阅读(8606) 评论(0) 推荐(0)

Java、javax、org、sun、Java.util等常用包的区别、详解、实例
摘要:Java、javax、org、sun包都是jdk提供的类包,且都是在rt.jar中。rt.jar是JAVA基础类库(java核心框架中很重要的包),包含lang在内的大部分功能,而且rt.jar默认就在根classloader的加载路径里面,所以放在classpath是多此一举 。他们之间的区别具体 阅读全文

posted @ 2017-09-15 10:57 云潇洒 阅读(1770) 评论(0) 推荐(0)

logback:logback和slf4j中的:appender、logger、encoder、layout
摘要:(1)appender 1.appender标签是logback配置文件中重要的组件之一。在logback配置文件中使用appender标签进行定义。可 以包含0个或多个appender标签。 2.appender主要作用就是:①控制打印日志的地方、②打印日志的输出格式。 3.appender语法结 阅读全文

posted @ 2017-09-15 10:56 云潇洒 阅读(1990) 评论(0) 推荐(1)

Java :构造器中的显式参数和this隐式参数
摘要:1.构造器 写一个Java类,首先要先从构造器开始,构造器与类同名,在构造类的对象时会先从构造器开始。 构造器总是伴随着new操作符的执行而被调用。 构造器主要是用来初始化类的实例域。 构造器的特点: 构造器与类同名。 每个类可以有1个或多个构造器。 构造器可以有0个或多个参数。 构造器没有返回值。 阅读全文

posted @ 2017-09-15 10:52 云潇洒 阅读(866) 评论(0) 推荐(1)

java is-a、has-a和like-a、组合、聚合和继承 两组概念的区别
摘要:is a 代表的是类之间的继承关系,比如PC机是计算机,工作站也是计算机。PC机和工作站是两种不同类型的计算机,但都继承了计算机的共同特性。因此在用 Java语言实现时,应该将PC机和工作站定义成两种类,均继承计算机类。 has a 代表的是对象和它的成员的从属关系。同一种类的对象,通过它们的属性的 阅读全文

posted @ 2017-09-15 10:51 云潇洒 阅读(3342) 评论(0) 推荐(0)

Java: 类继承中 super关键字
摘要:super 关键字的作用有两个: 1)在子类中调用超类的构造器,完成实例域参数的初始化,调用构造器的语句只能作为另一个构造器(通常指的是子类构造器)的第一条语句出现, 2)在子类中调用超类的方法,如:子类需要覆盖超类中的A方法,但同时也需要调用超类的A方法,故在子类的A方法中调用超类的原有A方法时即 阅读全文

posted @ 2017-09-15 10:50 云潇洒 阅读(1118) 评论(0) 推荐(0)

Java: private、protected、public和default的区别
摘要:public: 具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。 protected: 主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西 defa 阅读全文

posted @ 2017-09-15 10:49 云潇洒 阅读(356) 评论(0) 推荐(0)

java :instanceof用法
摘要:Java中的instanceof是用来判断某个实例是不是某个类的实例。 例如:A instanceof B (A为某个实例,B为某个类名) 如果A为B的实例,则:(A instanceof B)==true 反之==false 代码举例: package JavaKEYWORDS; class Bi 阅读全文

posted @ 2017-09-15 10:48 云潇洒 阅读(1757) 评论(0) 推荐(1)

Java:Object类的equals()方法 如何编写一个完美的equals()方法
摘要:一 代码实例: package freewill.objectequals; /** * @author freewill * @see Core Java page161 * @desc getClass实现方式,另有instance of实现方式,根据不同场景使用。 */ public clas 阅读全文

posted @ 2017-09-15 10:47 云潇洒 阅读(2432) 评论(0) 推荐(0)

java :equals()和hashcode()方法的结合使用
摘要:哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法: 1 public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出 阅读全文

posted @ 2017-09-15 10:46 云潇洒 阅读(900) 评论(0) 推荐(0)

Java:类类型变量
摘要:在java中有一种被称为类类型的变量,它不同于基本类型变量存储值的方式。不管是基本变量还是类类型变量,都实现为一个内存位置。但是,由于基本变量所需的内存数量是相同的,所以系统可以给它设置一个固定的空间保持命名对象的变量。类类型变量则不同,由于它的长度不确定,从而使得系统难以给其分配一个固定的空间来保 阅读全文

posted @ 2017-09-15 10:45 云潇洒 阅读(1432) 评论(0) 推荐(1)

Java:验证在类继承过程中equals()、 hashcode()、toString()方法的使用
摘要:以下通过实际例子对类创建过程汇中常用的equals()、hashcode()、toString()方法进行展示,三个方法的创建过程具有通用性,在项目中可直接改写。 //通过超类Employee和其子类Manager ,验证在类继承过程中equals()、hashcode()、toString()方法 阅读全文

posted @ 2017-09-15 10:44 云潇洒 阅读(828) 评论(0) 推荐(0)

Java:参数数量可变的方法
摘要:许多Java新人在看到下面的这段代码的时候,都会问一个问题:dealArray方法里那三个小点点是什么啊? [java] view plaincopy 可变的参数类型,也称为不定参数类型。英文缩写是varargus,还原一下就是variable argument type。通过它的名字可以很直接地看 阅读全文

posted @ 2017-09-15 10:43 云潇洒 阅读(3683) 评论(0) 推荐(1)

Java:实现对象的比较 comparable接口和comparator接口
摘要:在实际应用中,我们往往有需要比较两个自定义对象大小的地方。而这些自定义对象的比较,就不像简单的整型数据那么简单,它们往往包含有许多的属性,我们一般都是根据这些属性对自定义对象进行比较的。所以Java中要比较对象的大小或者要对对象的集合进行排序,需要通过比较这些对象的某些属性的大小来确定它们之间的大小 阅读全文

posted @ 2017-09-15 10:42 云潇洒 阅读(2217) 评论(0) 推荐(0)

Java:设计类的继承关系时的技巧
摘要:继承设计的技巧: (1)将公共操作和域放置在超类 (2)不要使用受保护的域 有些程序员认为,将大多数的实例域定义为protected是一个不错的主意,只有这样,子类才能够在需要的时候直接访问他们。然而,protected 机制并不能够带来更好的保护,其原因主要有两点。第一,子类集合是无限制的,任何一 阅读全文

posted @ 2017-09-15 10:42 云潇洒 阅读(234) 评论(0) 推荐(0)

Java:输入输出流 java.io包的层次结构
摘要:1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。 Java 阅读全文

posted @ 2017-09-15 10:41 云潇洒 阅读(2902) 评论(0) 推荐(1)

Java: AutoCloseable接口
摘要:K7 增加了一些新特性,其中报错AutoCloseable 等。新特性包括如下,下面主要说说AutoCloseable 。 在JDK7 中只要实现了AutoCloseable 或Closeable 接口的类或接口,都可以使用try-with-resource 来实现异常处理和资源关闭异常抛出顺序。 阅读全文

posted @ 2017-09-15 10:39 云潇洒 阅读(2373) 评论(0) 推荐(0)

Java:print、printf、println的区别
摘要:printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和print基本没什么差别,就是最后会换行 System.out.printf("the number is: d",t);参照Java API的定义如下:'d' 整数 阅读全文

posted @ 2017-09-15 10:38 云潇洒 阅读(795) 评论(0) 推荐(0)

java:数组操作工具类 java.util.Arrays包 主要方法详解
摘要:Arrays类位于Java.util包下,是一个对数组操作的工具类,现将Arrays类中的方法做一个总结(JDK版本:1.6.0_34)。Arrays类中的方法可以分为八类: sort(对数组排序) binarySearch(二分法查找数组中的元素) equals(比较两个数组是否相等) fill( 阅读全文

posted @ 2017-09-15 10:36 云潇洒 阅读(10839) 评论(0) 推荐(0)

java:接口特性 接口与抽象类/普通类的区别
摘要:接口 书面定义: Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 在java中不直接支持多继承,因为会出现调用的不确定性。所以java将多继承机制进行改良,在java中变成 阅读全文

posted @ 2017-09-15 10:34 云潇洒 阅读(593) 评论(0) 推荐(0)

mybatis教程:入门>>精通>>实战
摘要:以前曾经用过ibatis,这是mybatis的前身,当时在做项目时,感觉很不错,比hibernate灵活。性能也比hibernate好。而且也比较轻量级,因为当时在项目中,没来的及做很很多笔记。后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项 阅读全文

posted @ 2017-09-15 10:33 云潇洒 阅读(249) 评论(0) 推荐(0)

Java :内部类基础详解
摘要:可以将一个类的定义放在另一个类的定义内部,这就是内部类。 第一次见面 内部类我们从外面看是非常容易理解的,无非就是在一个类的内部在定义一个类。 在这里InnerClass就是内部类,对于初学者来说内部类实在是使用的不多,鄙人菜鸟一个同样没有怎么使用过(貌似仅仅只在做swing 注册事件中使用过),但 阅读全文

posted @ 2017-09-15 10:31 云潇洒 阅读(286) 评论(0) 推荐(0)

Java swing: 实现ActionListener监听器的三种途径
摘要:Swing是目前Java中不可缺少的窗口工具组,是用户建立图形化用户界面(GUI)程序的 强大工具。Java Swing组件自动产生各种事件来响应用户行为。如当用户点击按钮或选择菜单项目时,Swing组件会产生一个 ActionEvent。Swing组件会产生许多事件,如ActionEvents,C 阅读全文

posted @ 2017-09-15 10:30 云潇洒 阅读(26497) 评论(0) 推荐(0)

Java:final、static关键字 详解+两者结合使用
摘要:一 final关键字 1) 关于final的重要知识点 1 private final int COUNT = 10; 1 2 3 4 private final List Loans = new ArrayList(); list.add(“home loan”); //valid list.ad 阅读全文

posted @ 2017-09-15 10:28 云潇洒 阅读(3059) 评论(0) 推荐(0)

Java:双括号初始化 /匿名内部类初始化法
摘要:偶然见到一种初始化方式,感到十分新奇: //新建一个列表并赋初值A、B、C ArrayList<String> list = new ArrayList<String>() {{ add("A"); add("B"); add("C"); }}; 还有其他集合比如HashMap的初始化: Map m 阅读全文

posted @ 2017-09-15 10:26 云潇洒 阅读(8637) 评论(3) 推荐(9)

Java:静态内部类的使用目的、使用限制、与非静态内部类的对比
摘要:Java之静态内部类(static class) 在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。 一、静态内部类的使用目的。 在 定义内部类的时候,在其前面加上一个权限修饰符static。这个内部类就变为了静态内部类。如在进行代码 阅读全文

posted @ 2017-09-15 10:25 云潇洒 阅读(1220) 评论(0) 推荐(1)

域名解析>>"记录类型" 说明
摘要:(1)A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。 说明:用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置自己域名的二级域名。 (2)MX :是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服 阅读全文

posted @ 2017-09-15 10:24 云潇洒 阅读(2744) 评论(0) 推荐(0)

Java:接口继承接口 (多继承机制)
摘要:在看API文档时,突然发现一个接口可以是其他接口的子接口,这说明接口之间会存在继承的关系。查找了相关的资料,做一个总结。 是继承还是实现 首先要搞清楚接口之间的关系使用的关键字是extends还是implement。网友有如下回答: 一个类只能extends一个父类,但可以implements多个接 阅读全文

posted @ 2017-09-15 10:23 云潇洒 阅读(77709) 评论(1) 推荐(8)

Java:extends和implements的区别+用法
摘要:Java代码中的extends和implements让我感到很迷惑,现在终于弄明白它们之间的区别和用法了。 [c-sharp] view plain copy [java] view plain copy [c-sharp] view plain copy 接口实现的注意点: a)实现一个接口就是要 阅读全文

posted @ 2017-09-15 10:22 云潇洒 阅读(44685) 评论(1) 推荐(3)

Eclipse: eclipse文本文件编码格式更改(GBK——UTF-8)
摘要:Eclipse中设置编码的方式 Eclipse工 作空间(workspace)的缺省字符编码是操作系统缺省的编码,简体中文操作系统 (Windows XP、Windows 2000简体中文)的缺省编码是GB18030,在此工作空间中建立的工程编码是GB18030,工程中建立的java文件也是GB18 阅读全文

posted @ 2017-09-15 10:21 云潇洒 阅读(10669) 评论(0) 推荐(0)

Java swing(awt):事件监听机制的实现原理+简单示例
摘要:(2)事件监听示例1 (3)事件监听示例2 阅读全文

posted @ 2017-09-15 10:20 云潇洒 阅读(7921) 评论(0) 推荐(0)

openfire:Openfire源代码在eclipse中的运行配置 + 与spark结合进行二次开发
摘要:1、下载源代码:http://www.igniterealtime.org/downloads/source.jsp 2、把源代码解压出的openfire_src文件夹放至eclipse workplace(注意:若是变更了解压出来的文件名,则接下来所有用到文件名的地方都要作出相应更改,否则会报错! 阅读全文

posted @ 2017-09-15 10:18 云潇洒 阅读(282) 评论(0) 推荐(0)

eclipse: eclipse导入工程出现大红叹号
摘要:总结: 问题原因:工程中classpath中指向的包路径错误 解决办法:到BUILDPATH CONFIG````中,liberaies中 出现红色叉号的包为路径错误的包。到classpath中修改相应包的当前路径。然后回到eclipse中F5刷新工程。 下面两段为我解决此问题时在网上找的参考资料, 阅读全文

posted @ 2017-09-15 10:16 云潇洒 阅读(340) 评论(0) 推荐(0)

Java:@Override标签的多态性详解
摘要:Override(重写)是子类与父类的一种多态性体现。 Override允许子类改变父类的一些行为。 为什么需要Override:当父类不满足子类的一些要求时我们就需要子类对父类的一些行为进行重写。 例如:某公司里的员工的电话号码不允许对外公开,而销售人员(员工)的电话号码则需要对外公开。 这时我们 阅读全文

posted @ 2017-09-15 10:14 云潇洒 阅读(523) 评论(0) 推荐(0)

openfire :openfire 不同类型插件的开发示例
摘要:新建一个自己的Java project工程,添加的jar包如下: 将jasper-compiler.jar、jasper-runtime.jar、servlet.jar添加到新建的工程中。如果没有jar先不要急,看下面的步骤: 下载后的openfire源码目录是这样的 如果你有ant工具可以用dos 阅读全文

posted @ 2017-09-15 10:14 云潇洒 阅读(2014) 评论(0) 推荐(0)

Log4J:Log4J三大组件:Logger+Appender+Layout 格式化编程详解
摘要:快速了解Log4J Log4J的三个组件: Logger:日志记录器,负责收集处理日志记录 (如何处理日志) Appender:日志输出目的地,负责日志的输出 (输出到什么 地方) Layout:日志格式化,负责对输出的日志格式化(以什么形式展现) 类结构图(来自http://www.blogjav 阅读全文

posted @ 2017-09-15 10:13 云潇洒 阅读(19350) 评论(3) 推荐(3)

Java :BufferedWriter类和BufferedReader类的构造方法、主要方法
摘要:BufferedWriter 和 BufferedReader 为带有默认缓冲的字符输出输入流,因为有缓冲区所以效率比没有缓冲区的高。 一、BufferedWriter 类 构造方法:bufferedWriter bf = new bufferedWriter(Writer out ); 主要方法: 阅读全文

posted @ 2017-09-15 10:11 云潇洒 阅读(583) 评论(0) 推荐(0)

Java:java中BufferedReader的read()及readLine()方法的使用心得
摘要:BufferedReader的readLine()方法是阻塞式的, 如果到达流末尾, 就返回null, 但如果client的socket末经关闭就销毁, 则会产生IO异常. 正常的方法就是使用socket.close()关闭不需要的socket. 从一个有若干行的文件中依次读取各行,处理后输出,如果 阅读全文

posted @ 2017-09-15 10:11 云潇洒 阅读(1686) 评论(0) 推荐(0)

多线程:四大线程池详解
摘要:new Thread 的弊端 首先看一段代码: 先说一下此处的打印,第一个参数是当前线程名称,由于线程之间是异步执行,有的还没创建好,有的后来居上就执行完了,导致打印线程的名称会这样,第二个参数是优先级,默认都是5,第三个参数是线程组名称。 如果不停止程序,这段代码会不断创建和销毁线程,直到死机或者 阅读全文

posted @ 2017-09-15 10:02 云潇洒 阅读(611) 评论(0) 推荐(0)

多线程:head first Thread.join()
摘要:不使用Thread.join() 测试线程 先上代码: 以上示例会输出5吗?可能性不大,有可能永远输出为0,之前在线程池原理的那篇就提到过,线程的启动和销毁都需要时间,此处因为thread还没启动好,或者正在为它分配资源准备运行,就已经执行完输出了。 怎样才能确保每次都能输出5呢?现在有请我们的主角 阅读全文

posted @ 2017-09-15 09:59 云潇洒 阅读(407) 评论(0) 推荐(0)

多线程: 多线程中断机制
摘要:在 java中启动线程非常容易,大多数情况下是让一个线程执行完自己的任务然后自己停掉。一个线程在未正常结束之前, 被强制终止是很危险的事情. 因为它可能带来完全预料不到的严重后果,比如会带着自己所持有的锁而永远的休眠,迟迟不归还锁等。在当前的api中,Thread.suspend、Thread.st 阅读全文

posted @ 2017-09-15 09:55 云潇洒 阅读(589) 评论(0) 推荐(0)

多线程:深入Thread.sleep
摘要:一直都说,Threed.sleep是不会释放锁,而wait是释放锁的(对象锁),现理论上来分析一下。 由于CPU分配的每个线程的时间片极为短暂(一般为几十毫秒),所以,CPU通过不停地切换线程执行,这样就给程序员一种错觉,以为多个线程是在同时执行。sleep就是正在执行的线程主动让出CPU,CPU去 阅读全文

posted @ 2017-09-15 09:52 云潇洒 阅读(1403) 评论(0) 推荐(0)

多线程:线程池原理
摘要:面向对象编程中,对象创建和销毁是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是对一些很耗资源的对象创建和销毁。如何利用已有对象来服 阅读全文

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

java:java构造器和java方法的区别
摘要:构造函数(构造器)是一种特殊的函数。其主要功能是用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。构造函数与类名相同,可重载多个不同的构造函数。在JAVA语言中,构造函数与C++语言中的构造函数相同,JAVA语言中普遍称之为构造方法。 [java]  阅读全文

posted @ 2017-09-14 10:34 云潇洒 阅读(898) 评论(0) 推荐(0)

java: Java中this和super的用法总结
摘要:this this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。 this的用法在java中大体可以分为3种: 1.普通的直接引用 这种就不用讲了,this相当于是指向当前对象本身。 2.形参与成员名字重名,用this来区分: 1 2 3 4 5 6 7 8 9 10 11 1 阅读全文

posted @ 2017-09-14 10:06 云潇洒 阅读(195) 评论(0) 推荐(0)

postman: 用于网页调试和发送Http请求的chrome插件
摘要:一 简介 Postman 是一款功能超级强大的用于发送 HTTP 请求的 Chrome插件 。做web页面开发和测试的人员应该是无人不晓无人不用!其主要特点 特点: 创建 + 测试:创建和发送任何的HTTP请求 一 简介 Postman是一款功能超级强大的用于发送 HTTP 请求的 Chrome插件 阅读全文

posted @ 2017-09-14 09:58 云潇洒 阅读(584) 评论(0) 推荐(0)

json:JSONObject包的具体使用(JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包)
摘要:1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包。 2.下载jar包 http://xiazai.jb51.net/201707/yuanma/lib_jb51.rar 提供了除JSO 阅读全文

posted @ 2017-09-12 11:33 云潇洒 阅读(6415) 评论(0) 推荐(0)

openfire:openfire单独编译指定插件的方法
摘要:方法一: openfire默认编译时,是同时编译主程序和所有在plugins目录中的插件。但进行插件开发时,这样编译就太费时费力。使用ant plugins可以只编译插件,能够节省部分时间。最节省时间的编译方法为在命令行下使用ant plugin -Dplugin=xxx进行编译,其中,xxx为插件 阅读全文

posted @ 2017-09-12 11:27 云潇洒 阅读(471) 评论(0) 推荐(0)

json:JSONObject与JSONArray的使用
摘要:1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 2.JSONObject对象使用 JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包。在本例中,我们将使用JSONOb 阅读全文

posted @ 2017-09-12 11:16 云潇洒 阅读(4104) 评论(0) 推荐(0)

openfire:基于开源 Openfire 聊天服务器 - 开发Openfire聊天记录插件
摘要:基于开源 Openfire 聊天服务器 - 开发Openfire聊天记录插件 上一篇文章介绍到怎么在自己的Java环境中搭建openfire插件开发的环境,同时介绍到怎样一步步简单的开发openfire插件。一步步很详细的介绍到简单插件开发,带Servlet的插件的开发、带JSP页面插件的开发,以及 阅读全文

posted @ 2017-09-12 11:03 云潇洒 阅读(1455) 评论(0) 推荐(0)

多线程面试题系列(16):多线程十大经典案例之一 双线程读写队列数据
摘要:前十五篇中介绍多线程的相关概念,多线程同步互斥问题(第四篇)及解决多线程同步互斥的常用方法——关键段、事件、互斥量、信号量、读写锁。为了让大家更加熟练运用多线程,将会有十篇文章来讲解十个多线程使用案例,相信看完这十篇后会让你能更加游刃有余的使用多线程。 首先来看第一篇——第十六篇 多线程十大经典案例 阅读全文

posted @ 2017-09-11 11:23 云潇洒 阅读(2691) 评论(0) 推荐(0)

多线程面试题系列(15):关键段,事件,互斥量,信号量的“遗弃”问题
摘要:一.什么是“遗弃”问题 在第七篇讲到了互斥量能处理“遗弃”问题,下面引用原文: 互斥量常用于多进程之间的线程互斥,所以它比关键段还多一个很有用的特性——“遗弃”情况的处理。比如有一个占用互斥量的线程在调用ReleaseMutex()触发互斥量前就意外终止了(相当于该互斥量被“遗弃”了),那么所有等待 阅读全文

posted @ 2017-09-11 11:17 云潇洒 阅读(448) 评论(0) 推荐(0)

多线程面试题系列(14):读者写者问题继 读写锁SRWLock
摘要:在第十一篇文章中我们使用事件和一个记录读者个数的变量来解决读者写者问题。问题虽然得到了解决,但代码有点复杂。本篇将介绍一种新方法——读写锁SRWLock来解决这一问题。读写锁在对资源进行保护的同时,还能区分想要读取资源值的线程(读取者线程)和想要更新资源的线程(写入者线程)。对于读取者线程,读写锁会 阅读全文

posted @ 2017-09-11 11:15 云潇洒 阅读(435) 评论(0) 推荐(0)

多线程面试体系列(13):多线程同步内功心法——PV操作下
摘要:暂无 阅读全文

posted @ 2017-09-11 11:13 云潇洒 阅读(212) 评论(0) 推荐(0)

多线程面试题系列(12):多线程同步内功心法——PV操作上
摘要:上面的文章讲解了在Windows系统下实现多线程同步互斥的方法,为了提高在实际问题中分析和思考多个线程之间同步互斥问题的能力,接下来将讲解PV操作,这也是操作系统中的重点和难点。本文将会先简要介绍下PV操作的来源和基本使用方法,然后再通过两道经典的计算机考研真题——放水果和安全岛来示范如何运用PV操 阅读全文

posted @ 2017-09-11 11:11 云潇洒 阅读(718) 评论(0) 推荐(0)

多线程面试题系列(11):读者写者问题
摘要:与上一篇的生产者消费者问题一样,读者写者也是一个非常著名的同步问题。读者写者问题描述非常简单,有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者在读文件时写者也不去能写文件。 上面是读者写者问题示意图,类似于生产者消费者问题的分析过程,首先来找找哪些是属于“ 阅读全文

posted @ 2017-09-11 11:07 云潇洒 阅读(2056) 评论(0) 推荐(0)

多线程面试题系列(10):生产者消费者问题
摘要:继经典线程同步问题之后,我们来看看生产者消费者问题及读者写者问题。生产者消费者问题是一个著名的线程同步问题,该问题描述如下: 有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个具有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消 阅读全文

posted @ 2017-09-11 11:05 云潇洒 阅读(1096) 评论(0) 推荐(0)

多线程面试题系列(9):经典线程同步总结 关键段 事件 互斥量 信号量
摘要:首先来看下关于线程同步互斥的概念性的知识,相信大家通过前面的文章,已经对线程同步互斥有一定的认识了,也能模糊的说出线程同步互斥的各种概念性知识,下面再列出从《计算机操作系统》一书中选取的一些关于线程同步互斥的描述。相信先有个初步而模糊的印象再看下权威的定义,应该会记忆的特别深刻。 1.线程(进程)同 阅读全文

posted @ 2017-09-11 11:02 云潇洒 阅读(453) 评论(0) 推荐(0)

多线程面试题系列(8):经典线程同步 信号量Semaphore
摘要:前面介绍了关键段CS、事件Event、互斥量Mutex在经典线程同步问题中的使用。本篇介绍用信号量Semaphore来解决这个问题。 首先也来看看如何使用信号量,信号量Semaphore常用有三个函数,使用很方便。下面是这几个函数的原型和使用说明。 第一个 CreateSemaphore 函数功能: 阅读全文

posted @ 2017-09-11 10:58 云潇洒 阅读(1078) 评论(0) 推荐(0)

多线程面试题系列(7):经典线程同步 互斥量Mutex
摘要:前面介绍了关键段CS、事件Event在经典线程同步问题中的使用。本篇介绍用互斥量Mutex来解决这个问题。 互斥量也是一个内核对象,它用来确保一个线程独占一个资源的访问。互斥量与关键段的行为非常相似,并且互斥量可以用于不同进程中的线程互斥访问资源。使用互斥量Mutex主要将用到四个函数。下面是这些函 阅读全文

posted @ 2017-09-11 10:56 云潇洒 阅读(283) 评论(0) 推荐(0)

多线程面试题系列(6):经典线程同步 事件Event
摘要:上一篇中使用关键段来解决经典的多线程同步互斥问题,由于关键段的“线程所有权”特性所以关键段只能用于线程的互斥而不能用于同步。本篇介绍用事件Event来尝试解决这个线程同步问题。首先介绍下如何使用事件。事件Event实际上是个内核对象,它的使用非常方便。下面列出一些常用的函数。 第一个 CreateE 阅读全文

posted @ 2017-09-11 10:54 云潇洒 阅读(329) 评论(0) 推荐(0)

多线程面试题系列(5):经典线程同步 关键段CS
摘要:上一篇提出了一个经典的多线程同步互斥问题,本篇将用关键段CRITICAL_SECTION来尝试解决这个问题。本文首先介绍下如何使用关键段,然后再深层次的分析下关键段的实现机制与原理。关键段CRITICAL_SECTION一共就四个函数,使用很是方便。下面是这四个函数的原型和使用说明。 函数功能:初始 阅读全文

posted @ 2017-09-11 10:52 云潇洒 阅读(282) 评论(0) 推荐(0)

多线程面试题系列(4):一个经典的多线程同步问题
摘要:上一篇中介绍了原子操作在多进程中的作用,现在来个复杂点的。这个问题涉及到线程的同步和互斥,是一道非常有代表性的多线程同步问题,如果能将这个问题搞清楚,那么对多线程同步也就打下了良好的基础。 程序描述: 主线程启动10个子线程并将表示子线程序号的变量地址作为参数传递给子线程。子线程接收参数 -> sl 阅读全文

posted @ 2017-09-11 10:47 云潇洒 阅读(605) 评论(0) 推荐(0)

多线程面试题系列(3):原子操作 Interlocked系列函数
摘要:上一篇中讲到一个多线程报数功能。为了描述方便和代码简洁起见,我们可以只输出最后的报数结果来观察程序是否运行出错。这也非常类似于统计一个网站每天有多少用户登录,每个用户登录用一个线程模拟,线程运行时会将一个表示计数的变量递增。程序在最后输出计数的值表示有今天多少个用户登录,如果这个值不等于我们启动的线 阅读全文

posted @ 2017-09-11 10:46 云潇洒 阅读(343) 评论(0) 推荐(0)

多线程面试题系列(2): CreateThread与_beginthreadex本质区别
摘要:本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底有什么区别,在实际的编程中到底应该使用CreateThread还是_begi 阅读全文

posted @ 2017-09-11 10:43 云潇洒 阅读(334) 评论(0) 推荐(0)

多线程面试题系列(1):多线程笔试面试题汇总
摘要:第一篇 多线程笔试面试题汇总 多线程在笔试面试中经常出现,下面列出一些公司的多线程笔试面试题。首先是一些概念性的问答题,这些是多线程的基础知识,经常出现在面试中的第一轮面试(我参加2011年腾讯研究院实习生招聘时就被问到了几个概念性题目)。然后是一些选择题,这些一般在笔试时出现,虽然不是太难,但如果 阅读全文

posted @ 2017-09-11 10:40 云潇洒 阅读(840) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(15) :rap如何使用js
摘要:1. 把输入的字符串当 javascript 执行 [java] view plain copy print? try { RWT.getResponse().getWriter().println("alert('123');"); } catch (IOException ex) { ex.pr 阅读全文

posted @ 2017-09-11 10:16 云潇洒 阅读(530) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(14) :rap 图片、数据缓存处理
摘要:一、概述 在进行了 rap 的基本学习之后,您对 rap 的理解是否进入了更高的一个层次呢,个人觉得,对学习 rap 的人来说,进行 rap 的学习是一个探索的过程,在编程中不断的对其进行理解和分析,下面就 rap 在实际应用中用到的一些知识做一总结,好了,别不多说,下面进入正题, rap 图片、数 阅读全文

posted @ 2017-09-11 10:15 云潇洒 阅读(466) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(13) :Rap/Rcp保存按钮处理方式
摘要:一、概述 在做项目的过程中,处理编辑区的保存机制的时候。发现,同样是扩展eclipse 自带的保存和全部保存按钮时候,rcp 工程下,保存按钮可以正常的灰显和可用,但是rap 的按钮就是始终呈现灰显的状态,无论编辑区是否有变化。为了解决这个问题,经过研究在rap 上做了以下处理,问题得以解决。 二、 阅读全文

posted @ 2017-09-11 10:14 云潇洒 阅读(384) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(12) :Rap 优化之组件的销毁
摘要:一、概述 经过几个月的rap 项目实战,总结了一些小经验,在这里总结一下,希望对大家有所帮助。 二、销毁的处理 相信学习rap 的同学都知道,swt 中提供了许多的组件,像label、 button、 text等,这些组件在实际中的运用是非常广泛的,当然具体的用法在这里就不介绍了,主要是在我们实际应 阅读全文

posted @ 2017-09-11 10:13 云潇洒 阅读(286) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(11) : rcp/rap与spring ibatis集成
摘要:1. rcp/rap 与 spring 集成 Activator 是rcp/rap 启动时需要加载的类, 只需要加载一遍,所以与spring 集成的时候一般是在这个类里面加载spring 的ApplicationContext 具体如下: 在 Activator 里添加如下代码: private A 阅读全文

posted @ 2017-09-11 10:12 云潇洒 阅读(378) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(10) : Rap不同系统间的差异和处理方式
摘要:平常进行 rap 程序开发一般都是在 win 下面完成 , 然后在 tomcat 下面测试 , 但是程序最终发布一般都是在 linux aix 上面 , 这个时候就有能会出现一下问题,下面 2 个问题是我们把在开发中真是出现的问题,与大家一起分享下 ; 1、 图片路径 这个是最常用的方法,就是在 r 阅读全文

posted @ 2017-09-11 10:11 云潇洒 阅读(313) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(9) : rap上传与下载
摘要:一 上传 上传即将文件上传到服务器上,在客户端需要写相应的脚本,服务器端需要注册相应的 handle 接受客户端的请求。 原理: Rap 的上传和下载是通过普通的 web 的方式进行上传和下载的 , 但是和传统的 wen 还不相同 1、 rap 本身就单线程在跑 , 和上传下载的线程不能进行混淆 所 阅读全文

posted @ 2017-09-11 10:09 云潇洒 阅读(382) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(8) : 发布到tomcat后解决rap编码和字符集的问题
摘要:1 、解决 rap 字符集乱码的问题 字符集问题,解决办法: 在plugin.xml - build.properties 中添加 javacDefaultEncoding.. = UTF-8 即可解决字符集乱码 2、解决web前台输入乱码问题 使用传统的 字符集过滤器 写一个过滤器类 [java] 阅读全文

posted @ 2017-09-11 10:08 云潇洒 阅读(292) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(7) : 如何修改rap的样式
摘要:1、 Rap样式原理 Rap的界面样式目前是以css来配置的,程序启动后加载相应的css配置文件再对组件进行样式设置,界面上的所有组件 Label button composit等的样式最开始都是通过css来确定显示样式的.因此只需要选择不同的css文件就可以控制css样式了 2、 Rap如何选择样 阅读全文

posted @ 2017-09-11 10:06 云潇洒 阅读(436) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(6) : 如何发布rap到tomcat
摘要:1、先下载以来的打包插件 war products 输入下面的地址,选择相应的插件 新建一个 war product Configutation向导 下面的war product Configutation 配置面板 选择插件 将除了 自己项目 在外的所有插件都删除,然后点 Add Required 阅读全文

posted @ 2017-09-11 10:05 云潇洒 阅读(388) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(5): RAP国际化之路
摘要:Eclipse RCP 中的plugin.xml国际化实现 1、 在工程的根目录下面建立一个plugin.properties资源文件;在此资源文件中写入需要国际化的内容(键/值对),举例如下: Java代码 helloWorldView_name=eclipse国际化 helloWorldView 阅读全文

posted @ 2017-09-11 10:04 云潇洒 阅读(627) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(4):如何搭建 rap 中文开发环境
摘要:Rap中文开发环境搭建大约分为2个部分 1、 rap国际化,详细参加文章(rap开发经验总结(5)-rap国际化之路) 2、rap自带的JFace ,Dialog 等国际化 1.中文包下载地址: http://www.eclipse.org/babel/downloads.php 下载:BabelL 阅读全文

posted @ 2017-09-11 10:03 云潇洒 阅读(520) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(3):rcp/rap目前界面上的一些差异
摘要:1、 Label和Button按钮的显示的差异 当Label 和 Button显示的文字过长显示不开的时候,rcp、rap的处理方式就不一样了,rap显示不开会自己截取掉后面的文字,rcp会在文字的中间加上省略号. 还有关于Label 和Button 设置图片,文字过长的时候rap的图片不会显示,可 阅读全文

posted @ 2017-09-11 10:00 云潇洒 阅读(589) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(2):rap项目目前的进度和存在的问题
摘要:1、 Eclipse rap项目目前的进度 目前rap 的最新版本是 rap 1.5M4,最稳定版本是 rap 1.4.1,我们项目目前使用的版本是rap 1.4.1,Rap目前已经支持的部分是 swt,JFace,rap目前暂时不支持的部分是 dwaw2d、gef关于对dwaw2d、gef的支持目 阅读全文

posted @ 2017-09-11 09:58 云潇洒 阅读(452) 评论(0) 推荐(0)

Eclipse rap 富客户端开发总结(1) :rap简单介绍和开发环境搭建
摘要:一、rap简单介绍 1 基本概念 RAP可以让开发人员使用JAVA API和按照Eclipse 插件的开发模式构建基于AJAX的Web 2.0应用程序, RAP的工作原理是采用交叉编译的方式将Java 代码生成html、JavaScript和CSS文件,底层基于Qooxdoo AJAX框架,这样,我 阅读全文

posted @ 2017-09-11 09:53 云潇洒 阅读(1655) 评论(0) 推荐(1)

eclipse:eclipse for java EE环境下如何配置tomcat服务器,并让tomcat服务器显示在控制台上,将Web应用部署到tomcat中
摘要:eclipse环境下如何配置tomcat 建立一个Web应用 让Tomcat服务器显示在控制台上,将Web应用部署到Tomcat中 点击“Finish”完成 返回下方的“Servers”面板,右键单击该面板中的“Tomcat v8.0 Server at localhost”节点,在弹出的快捷菜单中 阅读全文

posted @ 2017-09-08 11:19 云潇洒 阅读(595) 评论(0) 推荐(0)

java web:在eclipse中如何创建java web 项目
摘要:Eclipse创建java web工程 eclipse版本:eclipse-jee-4.5-win32-x64 tomcat版本:apache-tomcat-7.0.63-windows-x64 jdk版本:jdk1.7 备注: 1.在创建web项目之前首先配置好jdk环境和tomcat环境(即在开 阅读全文

posted @ 2017-09-08 11:09 云潇洒 阅读(1328) 评论(0) 推荐(0)

apache: eclipse的tomcatPluginV插件下载
摘要:Sysdeo Eclipse Tomcat Launcher plugin Plugin features Support and contributions Download Installation Documentation Troubleshooting Plugin features St 阅读全文

posted @ 2017-09-08 10:06 云潇洒 阅读(241) 评论(0) 推荐(0)

apache: apache-tomcat-6.0.35完整下载
摘要:Index of /dist/tomcat/tomcat-6/v6.0.35/bin Name Last modified Size Description Parent Directory - extras/ 2012-06-13 23:11 - apache-tomcat-6.0.35-depl 阅读全文

posted @ 2017-09-08 09:57 云潇洒 阅读(2644) 评论(0) 推荐(0)

Geronimo tomcat: 在 Apache Geronimo 插件体系中将 Apache Tomcat 这个优秀的 Web 容器整合至其中
摘要:Apache Geronimo 灵活的插件体系将 Tomcat, OpenJPA, OpenEJB, ActiveMQ 等第三方组件集成至其中。本文从多角度介绍了在 Apache Geronimo 中,如何通过其微内核的设计和灵活的插件体系将 Apache Tomcat, 这个优秀的 Web 容器整 阅读全文

posted @ 2017-09-08 09:21 云潇洒 阅读(1600) 评论(0) 推荐(0)

eclipse: eclipse创建java web项目
摘要:Eclipse创建java web工程 eclipse版本:eclipse-jee-4.5-win32-x64 tomcat版本:apache-tomcat-7.0.63-windows-x64 jdk版本:jdk1.7 备注: 1.在创建web项目之前首先配置好jdk环境和tomcat环境(即在开 阅读全文

posted @ 2017-09-07 16:44 云潇洒 阅读(660) 评论(0) 推荐(0)

多线程:多线程设计模式(四):生产者-消费模式
摘要:生产者-消费模式,通常有两类线程,即若干个生产者线程和若干个消费者线程。生产者线程负责提交用户请求,消费者线程负责具体处理生产者提交的任务。两者之间通过共享内存缓冲去进行通信。 一、架构模式图: 类图: 生产者:提交用户请求,提取用户任务,并装入内存缓冲区; 消费者:在内存缓冲区中提取并处理任务; 阅读全文

posted @ 2017-09-07 16:16 云潇洒 阅读(397) 评论(0) 推荐(0)

多线程:多线程设计模式(三):Master-Worker模式
摘要:Master-Worker模式是常用的并行模式之一,它的核心思想是,系统有两个进程协作工作:Master进程,负责接收和分配任务;Worker进程,负责处理子任务。当Worker进程将子任务处理完成后,结果返回给Master进程,由Master进程做归纳汇总,最后得到最终的结果。 一、什么是Mast 阅读全文

posted @ 2017-09-07 16:13 云潇洒 阅读(917) 评论(1) 推荐(0)

多线程:多线程设计模式(二):Future模式
摘要:一、什么是Future模型: 该模型是将异步请求和代理模式联合的模型产物。类似商品订单模型。见下图: 客户端发送一个长时间的请求,服务端不需等待该数据处理完成便立即返回一个伪造的代理数据(相当于商品订单,不是商品本身),用户也无需等待,先去执行其他的若干操作后,再去调用服务器已经完成组装的真实数据。 阅读全文

posted @ 2017-09-07 16:12 云潇洒 阅读(298) 评论(0) 推荐(0)

多线程:多线程设计模式(一):总体介绍
摘要:多线程设计模式(一):总体介绍 多线程开发可以更好的发挥多核cpu性能,常用的多线程设计模式有:Future、Master-Worker、Guard Susperionsion、不变、生产者-消费者 模式;jdk除了定义了若干并发的数据结构,也内置了多线程框架和各种线程池; 锁(分为内部锁、重入锁、 阅读全文

posted @ 2017-09-07 16:10 云潇洒 阅读(1015) 评论(0) 推荐(0)

javascript:12种JavaScript MVC框架之比较
摘要:Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并在博客中总结了每种框架的优缺点,最终的结果是,Ember.js胜出。 此次比较针对的特性标准有四种,分别是: UI绑定(UI Bindings) 复合视图(C 阅读全文

posted @ 2017-09-07 15:45 云潇洒 阅读(3938) 评论(0) 推荐(0)

导航