`
gao_xianglong
  • 浏览: 462000 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
《spring利用zookeeper作为配置中心》   原理: 首先动态加载相关bean,如果配置中心发生改变,对应的watcher监听到事件后,客户端则对相关bean进行重新注册,并且从配置中心获取到了最新数据,然后客户端直接调用getBean()方法获取相关bean实例,确保不再是之前引用。   代码示例地址:https://github.com/gaoxianglong/spring-zk-test  
《线程同步辅助类CountDownLatch》   Java5提供了一个非常有用的线程同步辅助类型,java.util.concurrent.CountDownLatch。假设有多个线程正在执行异步操作,主线程希望这些异步线程全部完成之后再继续执行后续任务,那么使用CountDownLatch将非常方便。当这些异步任务并未全部执行完成之前,主线程会一直阻塞,直至所有的异步任务完成为止。   示例代码,如下所示: public class ThreadTest { public static void main(String[] args) { final CountDow ...
《笔者带你剖析分布式应用一致性协调服务——Zookeeper》   本文参考了许多其他关于Zookeeper的文献,在此就不一一列举了。    前言 Hadoop大数据平台发展的如火如荼,除此之外,Hbase、Dubbo的风光更离不开这位诚恳的幕后工作者Zookeeper。    目录 一、使用Zookeeper能做什么; 二、Zookeeper的下载与集群安装; 三、Zookeeper的简单操作; 四、Zookeeper的数据结构; 五、Zookeeper的重要特性; 六、Zookeeper的会话及状态; 七、使用Zookeeper Client API; 八 ...
《线程安全之ReadWriteLock》   synchronized关键字可以用于修饰方法和对象,被修饰的方法和对象在某一时间内只允许任意一条线程对其进行访问操作,这就是典型的排它锁。那么假设一个对象内部的某个数据类型同时拥有读/写方法时,读操作的权重比例明显高于写操作时,那么为了保证线程安全,我们都会加上synchronized关键字进行修饰,那么程序在并发环境下的吞吐量将会大大降低。因为从理论上来说,并发对同一数据进行写操作时,肯定是非线程安全的,但是读操作却是允许的,因此synchronized关键字并不能满足开发人员的需要。   为了解决上述问题,Java5开始提供读写锁A ...

shell脚本学习

http://c.biancheng.net/cpp/view/6994.html
原文地址:http://blog.163.com/yang_jianli/blog/static/1619900062010391127338/   一:查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo 如果觉得需要看的更加舒服 grep "model name" /proc/cpuinfo | cut -f2 -d:   二:查看内存 grep MemTotal /proc/meminfo grep MemTo ...
原文地址:http://blog.csdn.net/kaitiren/article/details/38513715   最近对它的README.md文件颇为感兴趣。便写下这贴,帮助更多的还不会编写README文件的同学们。 README文件后缀名为md。md是markdown的缩写,markdown是一种编辑博客的语言。用惯了可视化的博客编辑器(比如CSDN博客,囧),这种编程式的博客编辑方案着实让人眼前一亮。不过GitHub支持的语法在标准markdown语法的基础上做了修改,称为Github Flavored Markdown,简称GFM。可不是GFW呀。 —————————— ...
原文地址:http://my.oschina.net/songxinqiang/blog/313226   使用maven有一段时间了,不管你同意与否,我都坚决认定maven是很伟大的软件项目,使用它,可以节约很多时间,特别是和git搭配使用的时候,简直就是绝了,就像川菜的花椒和海椒的搭配一样,无与伦比,用过之后肯定会爱上它的。在我的以前的博客里面有关于怎样使用git(eclipse里面的egit插件)管理项目的说明,下面我就怎样将构件发布到maven的中央仓库进行说明。如果你还不知道什么事maven或者git(及时你的工作不会使用到它们,但是都应该有所了解吧),那真的应该去了解一下了。 ...
原文地址:http://bigbully.github.io/Dapper-translation/ 概述 当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同 ...
Kratos提供了一个内置验证页面用于对执行后的sql进行验证。注意:使用内置验证页面,必须使用kratos1.3.2及以上版本。 内置验证页面(QueryViewServlet)是一个标准的javax.servlet.http.HttpServlet,需要配置在你web应用中的WEB-INF/web.xml中,如下所示: <servlet> <servlet-name>queryViewServlet</servlet-name> <servlet-class>com.gxl.kratos.utils.web.http.Query ...
  java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 
《Kratos使用过程中的常见问题》   原文地址:https://github.com/gaoxianglong/kratos/wiki/常见问题 1、什么是Kratos? 基于Java语言编写的轻量级分库分表(Sharding)中间件,丰富的Sharding算法支持(2类4种分片算法),能够方便DBA实现库的水平扩容和降低数据迁移成本。Kratos站在巨人的肩膀上(SpringJdbc),采用与应用集成架构,放弃通用性,只为换取更好的执行性能与降低分布式环境下外围系统的宕机风险。关于更多Kratos的介绍,请参考https://github.com/gaoxianglong/kra ...

我的github地址

https://github.com/gaoxianglong/
《amq web管理界面参数含义》   原文地址:http://lhbthanks.iteye.com/blog/1940767  Number Of Consumers  消费者 这个是消费者端的消费者数量 Number Of Pending Messages 等待消费的消息 这个是当前未出队列的数量。可以理解为总接收数-总出队 ...
《Emulator and Virtual Machine》   原文出处:http://www.tuicool.com/m/articles/2EFJVf 模拟器是什么Emulator,中文一般译为模拟器。但实际上这个翻译是错误的,准确的翻译是仿真器。仿真器与模拟器的区别在于:前者是用软件实现硬件的行为,而后者仅仅是使某一软件的运行和输出在不同平台上没有太大区别。举个例子,如果在某个街机上有一个游戏软件需要在PC平台运行,仿真需要做的是在PC平台上实现一个软件能正确的完成街机硬件的功能,从而使游戏软件可以不进行任何修改的在这个PC平台上实现的软件上运行;而模拟需要做的是修改该游戏的源代 ...
Global site tag (gtag.js) - Google Analytics