- 博客(27)
- 资源 (5)
- 收藏
- 关注
原创 每日一发Python---Python中的__name__和类
1. python中if __name__ == '__main__': 的解析经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__nam
2017-07-31 15:07:43 9882 1
转载 Hystrx权威指南--Hystrix的注解方式
引入Hystrix Aspectapplication-context.xml文件中@HystrixCommand(groupKey = "PoiInfoServiceCommand", commandKey=“getStagedPoiBase”, fallbackMethod = "getStagedPoiBaseFallBack", commandPr
2017-07-28 16:45:24 3443
转载 Hystrx权威指南--Hystrix实现原理
1.Hystrix中的命令模式将所有请求外部系统(或者叫依赖服务)的逻辑封装到 HystrixCommand或者HystrixObservableCommand(依赖RxJava)对象中Run()方法为要实现的业务逻辑,这些逻辑将会在独立的线程中被执行当请求依赖服务时出现拒绝服务、超时或者短路(多个依赖服务顺序请求,前面的依赖服务请求失败,则后面的请求不会发出)时,执行该依
2017-07-28 15:59:41 2986 1
原创 Hystrx权威指南--Hystrix属性配置策略
Hystrix属性配置建议设置 选择设置 了解含义属性含义默认值备注设置方法属性含义默认值备注设置方法isolation.thread.timeoutInMilliseconds线程超
2017-07-28 14:51:20 1366
转载 Hystrx权威指南--Hystrix执行流程
Hystrix的执行流程如图所示:1、构建HystrixCommand或者HystrixObservableCommand对象2、执行命令(execute()、queue()、observe())3、如果请求结果缓存这个特性被启用,并且缓存命中,则缓存的回应会立即通过一个 Observable 对象的形式返回。4、检查熔断器状态,确定请求线路是否是开路,
2017-07-28 14:47:23 2179
转载 每日一发Python---python list转字符串会显示u'的问题
在从元组转换到字符串时,中文字符前会出现u'例子'类似这种[u'\u773c', u'\u8179\u90e8', u'\u4e94\u5b98', u'\u53e3\u8154', u'\u8179\u90e8', u'\u53e3\u8154'] 这样处理一下就好了str_symptom = str(all_symptom).replace('u\'','\'') str_s
2017-07-28 13:22:26 5543
转载 JAVA中常量使用常量类或者常量接口,还是使用枚举的区别
转载来源:最近在熟悉小组的代码时看见常量声明的不同方式就看了看这几种方式的不同之处。。来源:https://segmentfault.com/q/1010000007620581?_ea=1406439第一种使用接口:public interface Constants{ public static final int AUDIT_STATUS_PASS = 1;
2017-07-27 17:23:45 15763 3
转载 Hystrx权威指南--Hystrix请求缓存和COLLAPSER
简介在Hystrix中有个Request的概念,有一些操作需要在request中进行缓存在Hystrix调用服务时,如果只是查询接口,可以使用缓存进行优化,从而跳过真实访问请求。应用需要启用缓存的话需要重写command中getCacheKey方法@Override protected String getCacheKey() {
2017-07-25 17:22:38 834
转载 Hystrx权威指南--Hystrix的熔断机制解析
circuit在Hystrix调用服务时,难免会遇到异常,如对方服务不可用,在这种情况下如果仍然不停地调用就是不必要的,在Hystrix中可以配置使用circuit,当达到一定程度错误,就会自动调用fallback方法而不是用run方法。配置在Command的构造函数的CommandPropertiesDefaults中可以配置以下的参数 circui
2017-07-25 16:03:58 603
转载 Hystrx权威指南--Hystrix的线程池解析
线程池在Hystrix中Command默认是运行在一个单独的线程池中的,线程池的名称是根据设定的ThreadPoolKey定义的,如果没有设置那么会使用CommandGroupKey作为线程池。这样每个Command都可以拥有自己的线程池而不会互相影响,同时线程池也可以很好地控制Command的并发量。设置线程池配置可以使用Setter来初始化Command在Sette
2017-07-25 15:59:12 3759 2
转载 Hystrx权威指南--Hystrix的Timeout解析
在调用第三方服务时有些情况需要对服务响应时间进行把控,当超时的情况下进行fallback的处理下面来看下超时的案例public class CommandTimeout extends HystrixCommand { private final String name; public CommandTimeout(String name) { supe
2017-07-25 15:10:47 2721
转载 Hystrx权威指南--Hystrix调用方法解析
之前所说Hystrix的he'llWord,今天看一下Hystrix的不同调用方法这样就完成了一个Command。接下来调用这个Command//需要继承HystrixCommand,还可以继承HystrixObservableCommand只是对应接口、调用方法不同public class CommandHelloWorld extends HystrixCommand {
2017-07-25 14:58:31 688
转载 设计模式:策略模式
转载原因声明:之所以转载这篇文章是因为在项目中经常遇到策略模式的身影,而且在一些开源的框架中经常见到策略模式。如Hystrix。。。在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的: 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发
2017-07-25 11:47:44 195
转载 Hystrx权威指南--Hystrix的类是如何组织的
在Hystrix中,类的引用都是单实例对象,由静态工厂方法创建,使用时如:xxx.Factory.getInstance() 。如获取一个HystrixCircuitBreaker实例:HystrixCircuitBreaker circuitBreaker = HystrixCircuitBreaker.Factory.getInstance(key); 接口、Fac
2017-07-21 16:21:52 433
转载 Hystrx权威指南--Hystrix隔离策略
隔离服务 计算机的线程、内存等资源是有上限的,达到上限时,离系统被拖垮宕机的时间就不短了。特别是访问网络资源,由于网络的不稳定性,被依赖资源的不稳定性都可能出现处理延迟。在一个高并发高流量的互联网系统中,一旦其中有一个依赖处理延迟,瞬间系统的所有线程和内存都会被这一个依赖所占用,导致其他服务也没有资源处理,甚至整个系统被宕机。 Hystrix提供
2017-07-21 16:12:02 1091
转载 Hystrx权威指南--Hystrix是什么
在Hystrix中,类的引用都是单实例对象,由静态工厂方法创建,使用时如:xxx.Factory.getInstance() 。如获取一个HystrixCircuitBreaker实例:HystrixCircuitBreaker circuitBreaker = HystrixCircuitBreaker.Factory.getInstance(key); 接口、Fact
2017-07-21 15:42:39 1206
原创 Thrift基础
一、thrift 定义: Thrift 最初由Facebook开发,而后捐献给Apache,目前已广泛应用于业界。Thrift 正如其官方主页介绍的,“是一种可扩展、跨语言的服务开发框架”。目前流行的服务调用方式有很多种,例如基于 SOAP 消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等。其中所用到的数据传输方式包括 XML,JSON 等
2017-07-20 16:09:53 713 1
原创 MAC/linux 下Thrift安装
1.安装boost2. 安装libevent3. 安装thrift4.参考由于mac上homebrew安装的thrift是0.10版本,而公司使用的是0.80版本一下,使用中存在兼容问题,因此需要手动安装thrift 0.80版本。Mac版本10.121.安装boostBoost库是为C++语言标准库提供扩展的一些C++程序库的总称,由Boost社区组织开发、维护
2017-07-20 15:14:42 1977
原创 彻底搞定NIO(一)
因为小组要使用jetty和thrift等框架的原因,这些框架的很多设计思想实现都是基于NIO的,之前接触NIO都是懵懵懂懂的,所以这一次决心搞定NIO。通道和缓冲区概述通道 和 缓冲区 是 NIO 中的核心对象,几乎在每一个 I/O 操作中都要使用它们。通道是对原 I/O 包中的流的模拟。到任何目的地(或来自任何地方)的所有数据都必须通过一个 C
2017-07-19 15:33:13 255
原创 Jetty学习笔记(1)
jetty的官网文档http://www.eclipse.org/jetty/documentation/current/
2017-07-19 11:56:23 214
转载 Idea快捷键
功能快捷键标记查看类方法cmd + F12 接口打开实现类alt + cmd + B 查询选择某个内容cmd + fcmd + Gshift + cmd + G 在整个工程搜索shift + cmd + F 打开settings
2017-07-19 11:30:45 223
转载 每日一发Python---python中的enumerate函数
enumerate 函数用于遍历序列中的元素以及它们的下标:>>> for i,j in enumerate(('a','b','c')): print i,j 0 a1 b2 c>>> for i,j in enumerate([1,2,3]): print i,j 0 11 22 3>>> for i,j in enumerate
2017-07-18 09:29:01 348
转载 每日一发Python---Python中双冒号的作用[::]
Python中双冒号的作用[::]Python sequence slice addresses can be written as a[start:end:step] and any of start, stop or end can be dropped.python序列切片地址可以写为[开始:结束:步长],其中的开始和结束可以省略range(n)生成[0,
2017-07-18 09:26:13 3752 3
原创 Java对象设计成OOP-Klass
HotSpot源码中为什么要把Java对象设计成OOP-Klass这种结构?仅仅是为了避免每个Java对象都生成一个虚函数表吗?http://hg.openjdk.java.net/jdk8/jdk8/hotspot/file/87ee5ee27509/src/share/vm/oops/klass.hppvtbl主要是实现多态这个特性的,如果一个类的所有的实例都是
2017-07-14 18:38:53 1294
原创 新创建对象直接触发fullGC问题
今天在群里遇到个问题,这段程序,老年代占用会不断增大、直到fullgcArrayList扩容默认申请的对象在young分区,而其包含的对象晋升到老年代了,所以无论是young gc还是cms gc都不能一次完全把垃圾对象回收掉,只能full gc才能一次性全部gc掉隔代引用的问题虚拟机提供了一个-XX:PretenureSizeThreshold参数,令大于这个设置值的对象直接在老年代
2017-07-13 13:51:37 740
原创 每日一发Python---Python基础及安装
由于团队的项目需要,所以开始学习了一下python这门神奇的语言。在这里做一个简单的记录。。。与大家分享1. Unix & Linux 平台安装 Python:以下为在Unix & Linux 平台上安装 Python 的简单步骤:打开WEB浏览器访问http://www.python.org/download/选择适用于Unix/Linux的源
2017-07-12 14:13:20 464 3
原创 并发编程笔记(一)
1.线程安全线程安全是指当多个线程同时访问一个对象(方法、类)的时候,该对象(方法、类)都能表现出正确的行为,那么就表示是线程安全的。2.synchronized关键字synchronized可以加在任意的对象或方法上,我们称之为互斥区。当多个线程访问互斥区的时候,是按照排队的形式访问的,是以CPU分配的先后顺序而定,一个方法如果想执行synchronized方法中的区域,那么需要获得
2017-07-09 23:37:07 245
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人