2016年4月29日
摘要:
threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. 最好的做法是将调用threadlocal的remove方法. 在threadlocal的生命周期中,都存
阅读全文
posted @ 2016-04-29 09:27
duanxz
阅读(1462)
推荐(1)
摘要:
线程封闭机制强调局部的概念,就是在写代码的时候,尽量使用局部变量代替全局变量(这种叫做栈封闭),如果一定要使用全局变量,而又想让多个线程之间在访问共享变量的时候互不影响,那就使用ThreadLocal<T>。ThreadLocal<T>提供了一种方式,可以让线程在操作共享变量时,复制该共享变量的一个
阅读全文
posted @ 2016-04-29 09:20
duanxz
阅读(604)
推荐(0)
摘要:
在使用HttpClient调用后台resetful服务时,“Connection reset”是一个比较常见的问题,有同学跟我私信说被这个问题困扰很久了,今天就来分析下,希望能帮到大家。例如我们线上的网关日志就会抛该错误: 从日志中可以看到是Socket套接字在read数据时抛出了该错误。 导致“C
阅读全文
posted @ 2016-04-29 09:20
duanxz
阅读(2756)
推荐(0)
2016年4月28日
摘要:
1、父子线程间的传递问题 ThreadLocal的子类InheritableThreadLocal其实已经帮我们处理好了,通过这个组件可以实现父子线程之间的数据传递,在子线程中能够父线程中的ThreadLocal本地变量。 我们发现InheritableThreadLocal中createMap,以
阅读全文
posted @ 2016-04-28 23:38
duanxz
阅读(5386)
推荐(0)
摘要:
Struts2是Struts社区和WebWork社区的共同成果,我们甚至可以说,Struts2是WebWork的升级版,他采用的正是WebWork的核心,所以,Struts2并不是一个不成熟的产品,相反,构建在WebWork基础之上的Struts2是一个运行稳定、性能优异、设计成熟的WEB框架。 我
阅读全文
posted @ 2016-04-28 09:09
duanxz
阅读(3070)
推荐(1)
2016年4月27日
摘要:
hystrix配置 配置下: "hystrix.threadpool.default.keepAliveTimeMinutes": 1 "hystrix.threadpool.default.allowMaximumSizeToDivergeFromCoreSize": true "hystrix.
阅读全文
posted @ 2016-04-27 22:59
duanxz
阅读(2130)
推荐(1)
摘要:
引子 WebSocket 是个好东西,为我们提供了便捷且实时的通讯能力。然而,对于 WebSocket 客户端的鉴权,协议的 RFC 是这么说的: This protocol doesn’t prescribe any particular way that servers canauthentic
阅读全文
posted @ 2016-04-27 22:31
duanxz
阅读(25246)
推荐(0)
摘要:
网站可用性 所谓网站可用性(availability)也即网站正常运行时间的百分比,业界用 N 个9 来量化可用性, 最常说的就是类似 “4个9(也就是99.99%)” 的可用性。 容灾恢复能力的关键指标 RPO:(Recovery Point Obejective,恢复点目标)是指业务系统所允许的
阅读全文
posted @ 2016-04-27 22:30
duanxz
阅读(5242)
推荐(0)
摘要:
如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择。而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好的支持。但是,在开发工作中,对功能的升级是基于既定架构是很常见的情况。本人碰到需要用开发基于Stru
阅读全文
posted @ 2016-04-27 19:26
duanxz
阅读(2066)
推荐(0)
摘要:
http://www.blogjava.net/qbna350816/archive/2016/07/24/431302.html https://segmentfault.com/q/1010000004955225 https://www.cnblogs.com/interdrp/p/40910
阅读全文
posted @ 2016-04-27 12:34
duanxz
阅读(5316)
推荐(1)
2016年4月26日
摘要:
我在winxp的虚拟机上装了一个ubuntu9.04的系统,winxp的ip为10.118.62.157,ubuntu的ip为192.168.116.1 两个ip互相ping都是正常的,但是,我在winxp下通过ssh连接虚拟机的ubuntu,连接失败, 难道是防火墙的原因?我试着ufw disab
阅读全文
posted @ 2016-04-26 18:07
duanxz
阅读(470)
推荐(0)
摘要:
1.MySQL 基础 MySQL 是一个开放源代码的关系数据库管理系统。原开发者为瑞典的 MySQL AB 公司,最早是在 2001 年 MySQL3.23 进入到管理员的视野并在之后获得广泛的应用。 2008 年 MySQL 公司被 Sun 公司收购并发布了首个收购之后的版本 MySQL5.1 ,
阅读全文
posted @ 2016-04-26 11:09
duanxz
阅读(5507)
推荐(0)
2016年4月24日
摘要:
长期以来,session 管理就是企业级 Java 中的一部分,以致于我们潜意识就认为它是已经解决的问题,在最近的记忆中,我们没有看到这个领域有很大的革新。 但是,现代的趋势是微服务以及可水平扩展的原生云应用(cloud native application),它们会挑战过去 20 多年来我们设计和
阅读全文
posted @ 2016-04-24 22:10
duanxz
阅读(8055)
推荐(0)
摘要:
我们可以利用已有的工具类中的秒表,常见的秒表工具类有org.springframework.util.StopWatch、org.apache.commons.lang.time.StopWatch以及谷歌提供的guava中的秒表。 下面用Spring的StopWatch演示下耗时统计及打印的功能:
阅读全文
posted @ 2016-04-24 12:48
duanxz
阅读(1499)
推荐(0)
摘要:
ListableBeanFactory在BeanFactory的位置见《Spring源码阅览——BeanFactory体系结构》 ListableBeanFactory:同样扩展BeanFactory使其支持迭代Ioc容器持有的Bean对象。注意如果ListableBeanFactory同时也是Hi
阅读全文
posted @ 2016-04-24 11:47
duanxz
阅读(2217)
推荐(1)
摘要:
1. DefaultListableBeanFactory的作用: 默认实现了ListableBeanFactory和BeanDefinitionRegistry接口,基于bean definition对象,是一个成熟的bean factroy。 最典型的应用是:在访问bean前,先注册所有的def
阅读全文
posted @ 2016-04-24 11:43
duanxz
阅读(2256)
推荐(1)
摘要:
Ubuntu的版本比较多,而且基于ubuntu的衍生版也很多,让人容易混淆,也让很多人不知道自己适合哪一个,在这里简单比较一下ubuntu的各个版本的特点: 介绍ubuntu版本之前先说一说与ubuntu有关的一些知识: Ubuntu的版本号命名规则: ubuntu的版本命名规则非常简单易记: 前两
阅读全文
posted @ 2016-04-24 11:16
duanxz
阅读(3934)
推荐(0)
摘要:
http://cdimage.ubuntu.com/ubuntukylin/releases/15.10/release/ 不同的网络状况连接以下源的速度不同, 建议在添加前手动验证以下源的连接速度(ping下就行),选择最快的源可以节省大批下载时间。 首先备份源列表(for sure): 而后用g
阅读全文
posted @ 2016-04-24 10:38
duanxz
阅读(828)
推荐(0)
2016年4月23日
摘要:
《spring源码之:循环依赖》 AbstractBeanFactory的作用:别名管理,单例创建与注册,工厂方法FactoryBean支持. 由图我们直接的看出,AbstractBeanFactory继承了FatoryBeanRegistrySupport的同时,也实现了ConfigurableB
阅读全文
posted @ 2016-04-23 15:57
duanxz
阅读(2137)
推荐(0)
摘要:
模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中。此类中的大部分函数都与对文件的操作方法类似。例: python 2 okok hello 中国中国 通过例子,我们看到了StringIO的行为,基本与file一致。StringIO提供了一个方法,可以方便的获取其中的数据:Str
阅读全文
posted @ 2016-04-23 15:42
duanxz
阅读(819)
推荐(0)
摘要:
示例1: 结果: Python的异常处理能力是很强大的,可向用户准确反馈出错信息。在Python中,异常也是对象,可对它进行操作。所有异常都是基类Exception的成员。所有异常都从基类Exception继承,而且都在exceptions模块中定义。Python自动将所有异常名称放在内建命名空间中
阅读全文
posted @ 2016-04-23 15:32
duanxz
阅读(489)
推荐(0)
摘要:
一、windows下的简单示例 1.1、mosquitto:MQTT协议使用mosquitto服务器在windows下使用libmosquitto订阅发布 1.去官网下载mosquitto(我使用Binary Installation--windows--mosquitto-1.6.12-insta
阅读全文
posted @ 2016-04-23 15:19
duanxz
阅读(4485)
推荐(0)
摘要:
一、MQTT Broker的需求 1、基本需求 1)支持 mqtt3.1 / mqtt3.1.1协议(可选 mqtt5.0) 3.1和3.1.1是最常见的协议版本,几乎目前生产的IoT设备都支持,所以Broker也必须支持。至于5.0版本,目前各大Broker都在努力支持,不过还需要一些时间才会普及
阅读全文
posted @ 2016-04-23 15:11
duanxz
阅读(1968)
推荐(0)
摘要:
MQTT QoS 熟悉MQTT协议的同学们一定知道,MQTT的publish有三个QoS,0,1,2。他们分别是: QoS0,最多一次送达。也就是发出去就fire掉,没有后面的事情了。 QoS1,至少一次送达。发出去之后必须等待ack,没有ack,就要找时机重发 QoS2,准确一次送达。消息id将拥
阅读全文
posted @ 2016-04-23 13:59
duanxz
阅读(2447)
推荐(0)
摘要:
Python3.x下实现定时任务的方式有很多种方式。 一、循环sleep: 最简单的方式,在循环里放入要执行的任务,然后sleep一段时间再执行。缺点是,不容易控制,而且sleep是个阻塞函数 二、threading的Timer: 例如:5秒后执行 例如:间隔5秒执行一次 例如:两种方式组合用,5秒
阅读全文
posted @ 2016-04-23 12:08
duanxz
阅读(422)
推荐(0)