- 博客(227)
- 资源 (23)
- 问答 (1)
- 收藏
- 关注
原创 多线程之CountDownLatch详解(五)
上篇博客我们介绍了一下重入锁ReentrantLock,这篇博客我们详细的介绍CountDownLatch。CountDownLatch是什么?CountDownLatch如何工作?CountDownLatch应用demo
2019-09-23 16:10:18 923 1
原创 多线程之重入锁ReentrantLock(四)
在博文多线程之内存可见性Volatile(一),多线程之原子变量CAS算法(二)中,我介绍了如何安全的访问共享对象,给了两种解决方案,java5.0之后,增加了lock接口的高级功能。这篇博文,我们介绍lock接口的一种实现,重入锁ReentrantLock,我们只是简单的介绍和synchronized进行一下对比。对于重入锁更加深入的内容,后面我们会再详细的写。ReentrantLockReent
2017-04-14 17:57:21 3341 11
原创 多线程之创建线程的方式之一:实现Callable接口(三)
对于多线程,大家并不陌生,对于如何创建线程也是轻车熟路,对于使用new thread和实现runable接口的方式,不再多说。这篇博文我们介绍第三种:实现Callable接口。
2017-03-16 17:23:03 5445 5
原创 多线程之原子变量CAS算法(二)
上篇博文,我们介绍了多线程之内存可见性Volatile(一),但是也遗留了一个问题,如何保证变量的”原子性操作(Atomic operations)”?Volatile保证部分类型的原子性上篇博文,我们说Voloatile不能保证原子性,有一点局限: 因为在32位(4字节)处理器中,Java中读取long类型变量不是原子的,需要分成两步,如果一个线程正在修改该long变量的值,另一个线程可能只能看
2017-03-16 10:06:23 2919 6
原创 多线程之内存可见性Volatile(一)
从这篇博文开始,我们开始分享一些多线程的内容,毕竟在工作中,使用多线程比较多。多总结一下,终归没有坏处。这个系列的文章不会特别长,争取在3到5分钟之间结束,主要以说明白内容,给出相应的解决方案,重点在于实践。如标题所示,这篇博文我们简单的介绍一下内存可见性问题,之前,要简单的介绍一下什么是内存模型?内存模型什么是JAVA 内存模型?Java Memory Model (JAVA 内存模型)是描述线程
2017-03-15 11:59:07 6606 9
原创 Java NIO系列教程(一)java NIO简介
这个系列的文章,我们开始玩一玩IO方面的知识,对于IO和NIO,我们经常会接触到,了解他们的基本内容,对于我们的工作会有特别大的帮助。这篇博文我们仅仅是介绍IO和NIO的基本概念,以及一些关键词。基本概念IO是主存和外部设备(硬盘、终端和网络)进行数据拷贝的过程。IO是操作系统的底层功能实现,底层通过I/O指令完成对数据的操作。java标准IO回顾Java 标准 IO 类库是 io 面向对象的一种抽
2017-02-23 14:57:34 4132 7
原创 Zookeeper的java客户端API使用方法(五)
前面几篇博文,我们简单的介绍了一下zookeeper,如何安装zookeeper集群,以及如何使用命令行等。这篇博文我们重点来看下Zookeeper的java客户端API使用方式。创建会话客户端可以通过创建一个Zookeeper(org.apache.zookeeper.ZooKeeper)实例来连接ZooKeeper服务器。给大家推荐一篇博文,构造方法和参数都介绍的非常的详细,看一下就好。我们看一
2017-02-20 16:07:30 7109 4
原创 Zookeeper命令行zkCli.sh&zkServer.sh的使用(四)
上篇博文,我们成功的安装和启动了zookeeper服务器,zookeeper还提供了很多方便的功能,方便我们查看服务器的状态,增加,修改,删除数据(入口是zkServer.sh和zkCli.sh)。还提供了一系列四字命令,方便我们跟服务器进行各种交互,来确认服务器当前的工作情况(这也是服务器监控告警的基础)。zkServer.shzookeeper启动成功之后,我们先看一下zkServer.sh提供
2017-02-17 11:38:42 10774 4
原创 Zookeeper安装以及配置说明(三)
Zookeeper的安装和配置非常的简单,既可以配置成单机模式,也可以配置成集群模式。如下图所示:下面将分别进行介绍:单机模式下载最新稳定版本zookeeper的安装包之后(看第一篇博文), 解压到合适目录. 进入zookeeper目录下的conf子目录, 修改zoo_sample.cfg示例文件,改名zoo.cfg。不修改任何配置,运行bin目录下的启动命令即可(windows环境运行zkServ
2017-02-15 16:47:26 2519 2
原创 ZooKeeper的基本概念(二)
第一篇博文,我们对Zookeeper有了一个简单的认识,而且比较浅显,易懂,这篇博文,我们了解它的基本概念,如下图所示:了解它的基本概念,有助于我们后面的学习,虽然今天的文章都是概念性质的内容,但是意义重大。一、集群角色:Zookeeper集群通常有三种角色:Leader,Follower,Observer。 角色 描述 Leader服务器 整个Zookeeper集群工作机制中的核心
2017-02-13 15:22:38 3629 5
原创 菜鸟程序员的成长之路(五)——说说2015年,畅谈一下2016年
时间从不等人,一晃半年多的时间没有写博文了,实在惭愧。今天特别的清闲,简单的说一说2015,畅谈一下2016。 2015年上半年一直疯狂的写代码,做项目,虽然当时每天感觉有点累,但是每天都有新的收获和进步,每一步都很踏实。从15年6月份开始出来工作,在国企单位工作了半年的时间。半年的时间让完成了从毕业的大学生转变成真正的IT职场人士,多了另外的一个角色或者说身份。精彩内容太多了,十月一回来之后为大
2016-09-23 23:00:40 5787 20
转载 微服务架构下的数据一致性:可靠事件模式
在《微服务架构下的数据一致性:概念及相关模式》中介绍了在微服务中实现数据一致性的三种方式,包括可靠事件模式、业务补偿模式、TCC模式。本文重点说一下可靠事件投递。1. 可靠事件模式可靠事件模式属于事件驱动架构,微服务完成操作后向消息代理发布事件,关联的微服务从消息代理订阅到该事件从而完成相应的业务操作,关键在于可靠事件投递和避免事件重复消费。可靠事件投递有两个特性:1)每个服务原子性的完成业务操作
2016-08-17 09:51:25 3517 1
转载 微服务架构下的数据一致性:概念及相关模式
从2014年开始,微服务逐渐进入大家的实现,被认为是下一代实现信息化的有效手段。设计到系统,其中绕不开的就是数据一致性,从本地事务,到后来的分布式事务,都能够有效的保证数据一致性。但是在微服务架构中,这两种方式都不是最好的选择。1. 使用本地事务和分布式事务保证一致性在传统的单击应用中,最简单、最直接、最普遍的会使用一个关系型数据库,通过关系型数据库的事务保证数据的一致性。这种事务有四个基本要素:
2016-08-17 09:48:49 3458 2
原创 ZooKeeper简单介绍(一)
这篇博文我们简单的介绍一下什么是ZooKeeper,ZooKeeper的下载安装,以及Zookeeper的整体概况,它们将作为黑暗中的探照灯指明我们前进的方向。
2016-04-29 16:28:40 12075 10
原创 ElasticSearch教程(三)————ElasticSearch集群搭建
这篇博文我们亲自搭建一个简单的ElasticSearch集群。配置ElasticSearch集群异常的简单,简单到甚至只需要修改两个地方:保证集群名一致和保证集群的中节点端口不重复。
2016-04-29 15:38:34 35348 15
原创 ElasticSearch教程(一)——简介与安装
ElasticSearch一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。。。
2016-04-26 10:53:25 14106 6
原创 ElasticSearch教程(二)——ElasticSearch基本插件head
这篇文章我们介绍一个非常好的工具:elasticsearch-head,从简单介绍,到安装,最后使用。
2016-04-25 11:46:26 50911 12
翻译 muleESB的第一个开发实例-HelloWorld(二)
上篇博文我们简单的介绍了什么是ESB,教给了大家如何下载和安装了Studio。假设在学习本教程之前,假设您已经下载、安装并启动了Anypoint Studio。创建新项目单击File,选择New>Mule Project打开新的Mule项目向导,输入我们第一个项目的名称:My First Project,然后单击Finish。 打开一个新的空白项目,下面是用于快速构建Mule项目的各种视图: 开
2015-10-31 00:16:34 18366 9
原创 【项目管理与构建】Nexus的详细介绍以及安装(四)
Nexus不是Maven的核心概念,它仅仅是一种衍生出来的特殊的Maven仓库。。。
2015-10-27 00:12:09 10999 15
原创 使用CXF开发简单的Web Service-HelloWorld(二)
上篇博文我们介绍了Web Service的基本概念,了解它的基本概念之后,我们这篇博文介绍一个开源的WebService框架-Apache CXF,并实现一个HelloWorld实例。
2015-10-07 17:01:07 9669 3
原创 Web Service简介(一)
这篇博文,我们对Web Service进行一个简单的介绍和认识,作为Web Service的入门。在学习之前,你需要对HTML和XML有基本的了解,Web Service并不难,而且非常的简单。
2015-09-28 10:08:13 9739 10
原创 深入浅出JMS(四)--Spring和ActiveMQ整合的完整实例
我们基于Spring+JMS+ActiveMQ+Tomcat,做一个Spring4.1.0和ActiveMQ5.11.1整合实例,实现了Point-To-Point的异步队列消息和PUB/SUB(发布/订阅)模型,简单实例,不包含任何业务。
2015-09-27 00:13:23 124118 185
原创 深入浅出JMS(三)--ActiveMQ简单的HelloWorld实例
JMS其实并没有想象的那么高大上,看完这篇博文之后,你就知道什么叫简单。。
2015-09-26 13:37:47 111311 63
原创 分享作为程序猿的快乐
做为资深程序猿最大的快乐,就是苦中作乐。相信每个人在工作中总会碰到各种无语的场景,请大家在文章评论中留下最搞笑的瞬间,笑一笑十年少,笑多了,不怀孕。 1. 当客户要求兼容各大主流浏览器 2. 当我的代码终于编译成功时: 3. 当一个Bug出现在周五晚上时~~~ 4. 当组长问:你是否测试时: 5. 当你没测试代码就上传,结果完美运行时: 6. 凌晨3点还在修Bug时:
2015-08-31 23:05:09 4736 8
原创 【Tomcat】一分钟教你eclipse如何配置tomcat(二)
对于初学者来说,在eclipse下如何配置tomcat,完全是一团雾水,不知怎么下手,在此,我们花费十分钟的时间,使用最简单的图文解说方式介绍一下,希望对大家有所帮助。
2015-08-31 00:35:52 88863 6
原创 【Tomcat】tomcat简单介绍,安装以及启动(一)
最为一个资深的吊死程序猿,在工作中,经常使用tomcat,但是从来没有做过深入的总结,真是罪过。从这篇博文开始,我们对tomcat进行一个深入的学习,先是基本使用学习,之后我们再看一看tomcat的源码部分。
2015-08-30 00:08:04 30292 4
原创 敏捷开发实战(三)--每日晨会,是否只是摆设?
经过上面总结的两篇博文敏捷开发实践(一)–谈谈我对敏捷开发的理解和敏捷开发实战(二)–你真的了解Scrum吗?,我们已经对Scrum进行了整体的认识和学习,这篇博文我们一起讨论和学习,我在实施敏捷的过程发现的一个问题。
2015-07-31 21:56:29 13170 4
原创 深入浅出JMS(二)--ActiveMQ简单介绍以及安装
现实的企业中,对于消息通信的应用一直都非常的火热,而且在J2EE的企业应用中扮演着特殊的角色,所以对于它研究是非常有必要的。
2015-07-31 00:11:24 126140 39
原创 【SpringMVC架构】SpringMVC入门实例,解析工作原理(二)
上篇博文,我们简单的介绍了什么是SpringMVC,这篇博文,我们搭建一个简单SpringMVC的环境,使用非注解形式实现一个HelloWorld实例,从简单入手,逐步深入。
2015-07-31 00:08:04 14363 15
原创 【SpringMVC架构】SpringMVC介绍(一)
这篇博文,我们主要介绍什么是SpringMVC,以及重新解释一下什么是MVC,以及MVC的详细执行步骤。
2015-07-29 00:01:51 38129 24
原创 深入浅出JMS(一)--JMS基本概念
摘要:JMS(JAVA Message Service,java消息服务)API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。
2015-06-30 22:23:25 198053 71
原创 Flex开发实战(一)--Flex的详细介绍
无论是做web还是桌面应用,相信大家对于界面的要求已经越来越高,界面趋于大图标,扁平化,要求不断提高用户体验度高,把握好人机交互。相应的技术也层出不穷,例如:Flex,JQuery,Ajax,HTML5+CSS3等等吧。
2015-06-24 00:01:25 16836 3
原创 敏捷开发实践(一)--谈谈我对敏捷开发的理解
随着敏捷开发越来越流行,人人都在谈敏捷,人人也都在学习scrum等敏捷开发方法。。。当然,自己也是敏捷开发的实施者和受益者。
2015-05-31 08:16:30 26627 22
原创 【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)
上篇博文中我们介绍了maven下载、安装和配置(二),这篇博文我们配置一下eclipse,将它和maven结合,并我们创建一个maven的项目。
2015-05-29 08:09:24 43493 32
java客户端使用api访问zookeeper,增删改查Znode
2017-02-20
Spring框架的简单实现
2015-03-09
SpringIoC的简单实现
2015-03-07
jquery.form.js
2014-02-13
2020年,你投票了吗?
2021-01-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人