NEW

Lucene 4.7 学习及实例demo – 萧影

Lucene 4.7 学习及实例demo – 萧影
http://www.tuicool.com/articles/aqIZNnE 很早就听说Lucene的大名了,但一直没空研究,这几天比较闲,抽了一个下午时间,学习了一下Lucene,写了一个简单的Demo,总的感受是使用起来简单方便,在使用之前,首先要理解以下关键的类: Document Document 是用来描述文档的,这里的文档可以指一个 HTML 页面,一封电子邮件,或者是一个文本文件。一个 Document 对象由多个 Field 对象组成的。可以把一个 Docu...
NEW

Java中,对多线程访问同一变量(并发访问)的认识

Java中,对多线程访问同一变量(并发访问)的认识
在Java中,如果启动多个线程对同一个对象或者变量时候,在没有安全保护前提下有可能会抛出并异常 java.util.ConcurrentModificationException 当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常(并发异常) 解决方法: 在对象/变量前加上 volatile 。 Volatile修饰的 成员变量 在每次被 线程 访问时,都强迫从 共享内存 中重读该成员变量的值。而且,当 成员变量 发生变化时,强迫线程将变...

ThreadDump 的获取与分析工具

ThreadDump 的获取与分析工具
如何将介绍几种获取ThreadDump的方法,以及ThreadDump的分析工具。 1)在Java程序的运行会话中,使用下面方式: Unix、Linux:CTRL-\ Windows:CTRL-BREAK 2) 方式1)要求是在Java程序的会话中才可以,如果不是在Java程序的会话中,如何做呢? 使用Jdk中提供Jstack工具,即jstack pid,这个不论Windows还是Linux都是可以的。如果不想使用这个工具或者没有安装这个工具,还可以使用下面的命令: Linux:k...

微服务实战(一):微服务架构的优势与不足

微服务实战(一):微服务架构的优势与不足
 英文原文:Introduction to Microservices 这篇文章作者是Chris Richardson,他是早期基于Java的Amazonite EC2 PaaS平台CloudFoundry.com的创始人。现在他为企业提供如何开发和部署应用的咨询服务。他也经常在http://microservices.io上发表有关微服务的文章。 微服务正在博客、社交媒体讨论组和会议演讲中获得越来越多的关注,在Gartner的2014 Hype Cycle上它的排名非常靠前。同时,软件社区中也有不少...

代码度量工具——SourceMonitor的学习和使用

代码度量工具——SourceMonitor的学习和使用
引言 我们提倡编写功能单一、结构清晰、接口简单的函数,因为过于复杂的函数会给我们带来很多问题:加深其他开发人员理解代码的难度;不方便测试人员对其编写测试用例;容易隐藏错误;出现问题难以定位……怎样的函数算是复杂的函数?哪些代码散发着“臭味”?除了依靠经验丰富的程序员的敏锐嗅觉,我们还可以通过工具,对我们的函数和代码进行度量。 不像一位严格苛刻的代码检视人员,代码度量工具并不会板着脸...

Dubbo架构设计详解

Dubbo架构设计详解
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。 总体架构 Du...

OpenResty

OpenResty
OpenResty ™ 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。 OpenResty 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言...

ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自: http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。 通常,日志被分散的储存不同的设备上。如...