自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 Java读取Level-1行情dbf文件极致优化(3)

最近架构一个项目,实现行情的接入和分发,需要达到极致的低时延特性,这对于证券系统是非常重要的。接入的行情源是可以配置,既可以是Level-1,也可以是Level-2或其他第三方的源。虽然Level-1行情没有Level-2快,但是作为系统支持的行情源,我们还是需要优化它,使得从文件读取,到用户通过socket收到行情,端到端的时延尽可能的低。本文主要介绍对level-1行情dbf文件读取的极致优化

2016-06-26 13:16:30 649

原创 Java读取Level-1行情dbf文件极致优化(2)

最近架构一个项目,实现行情的接入和分发,需要达到极致的低时延特性,这对于证券系统是非常重要的。接入的行情源是可以配置,既可以是Level-1,也可以是Level-2或其他第三方的源。虽然Level-1行情没有Level-2快,但是作为系统支持的行情源,我们还是需要优化它,使得从文件读取,到用户通过socket收到行情,端到端的时延尽可能的低。本文主要介绍对level-1行情dbf文件读取的极致优化

2016-06-26 13:13:38 479

原创 Java读取Level-1行情dbf文件极致优化(1)

最近架构一个项目,实现行情的接入和分发,需要达到极致的低时延特性,这对于证券系统是非常重要的。接入的行情源是可以配置,既可以是Level-1,也可以是Level-2或其他第三方的源。虽然Level-1行情没有Level-2快,但是作为系统支持的行情源,我们还是需要优化它,使得从文件读取,到用户通过socket收到行情,端到端的时延尽可能的低。本文主要介绍对level-1行情dbf文件读取的极致优化

2016-06-26 13:11:49 862

原创 如何配置pom.xml用maven打包java工程

最近由于项目需要,研究了一下maven的打包,项目要做到 1,生成3个目录/lib,/conf,/bin目录 2,把所有的jar目录编译、拷贝到/lib目录(包括maven的jar包和lib目录下的jar,以及编译的jar包) 3,把所有的启动脚本从工程根目录拷贝到/bin目录 4,把所有的配置文件从src/main/resources拷贝到/conf   下面是配置的pom.xml,我把相关的配

2016-06-21 20:54:42 433

转载 转载:AbstractQueuedSynchronizer的介绍和原理分析

简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础。使用的方法是继承,子类通过继承同步器并需要实现它的方法来管理其状态,管理的方式就是通过类似acquire和release的方式来操纵状态。然而多线程环境中对状态的操纵必须确保原子性,因此子类对于状态的把握,需要使用这个同步器提

2016-06-21 20:27:57 271

原创 Protobuf3 + Netty4: 在socket上传输多种类型的protobuf数据

Protobuf序列化的字节流数据是不能自描述的,当我们通过socket把数据发送到Client时,Client必须知道发送的是什么类型的数据,才能正确的反序列化它。这严重影响限制了C/S功能的实现,不解决的话信道事实上只能传输一种类型的数据。本文讲解一下我用的解决办法,虽然我觉得应该有官方的实现更合理,即原生支持Protobuf的自描述。 (在金融领域,有一个叫FAST的协议,基本原理和Prot

2016-06-12 15:16:43 739

原创 无锁编程:采用不可变类减少锁的使用

很多的同学很少使用、或者干脆不了解不可变类(Immutable Class)。直观上很容易认为Immutable类效率不高,或者难以理解他的使用场景。其实不可变类是非常有用的,可以提高并行编程的效率和优化设计。让我们跳过一些宽泛的介绍,从一个常见的并行编程场景说起:   假设系统需要实时地处理大量的订单,这些订单的处理依赖于用户的配置,例如用户的会员级别、支付方式等。程序需要通过这些配置的参数来计

2016-06-12 14:45:26 540

原创 String高效编程优化(Java)

1, substring截取超大字符串可能造成的“内存泄漏” 2,+ 操作符的优化和局限 3,StringBuilder和StringBuffer 4,split和StringTokenizer做简单字符分割效率的比较     1, substring截取超大字符串可能造成的“内存泄漏” 我们知道,String对象内保存着一个char数组。但是char数组未必和String所代表的字符集等长,而可

2016-06-12 14:45:23 323

原创 Redis3.2+Tomcat实现集群的Session管理 -- tomcat-redis-session-manager的编译和开发部署环境搭建

已经有不少文章介绍使用tomcat-redis-session-manager来实现Redis存储Tomcat的Session,实现分布式Session管理。但是现在官方编译的tomcat-redis-session-manager的jar包已经很旧了,基于的Redis版本也很低。这里我把我自己重新编译并部署它的步骤介绍一下。   1,首先,从Github上clone下载tomcat-redis-

2016-06-12 14:45:20 444

翻译 复杂事件处理技术概览(二)

翻译前言:感觉作者有点夸夸其谈兼絮絮叨叨,但文章还是很有用的。原文《An Overview of Complex Event Processing》 复杂事件处理技术概览(一)   用户用例:客户问题的解决方案   所以,现在如何使用复杂事件处理平台来解决业务问题?毫无疑问,在过去的几年中,这一技术被在大多数的-- 如果不是全部的--不同类型的行业。   金融服务资本市场公司都采用这种技术作为实

2016-06-12 14:45:18 1054

转载 转载:SqlServer数据库性能优化详解

本文转载自:http://blog.csdn.net/andylaudotnet/article/details/1763573       性能调节的目的是通过将网络流通、磁盘 I/O 和 CPU 时间减到最小,使每个查询的响应时间最短并最大限度地提高整个数据库服务器的吞吐量。为达到此目的,需要了解应用程序的需求和数据的逻辑和物理结构,并在相互冲突的数据库使用之间(如联机事务处理 (OLTP

2016-06-12 14:45:15 1290

翻译 复杂事件处理技术概览(一)

翻译前言:我在理解复杂事件处理(CEP)方面一直有这样的困惑--为什么这种计算模式是有效的,能够分析得到有用的结果?为什么它会快?我始终还没有找到我期望的答案。不像map-reduce模型,google的论文非常清楚的描述了它的场景;或者disruptor框架,原作者清晰地解释了它为什么会快。在试图理解CEP的过程中,我准备翻译一些我认为有启发性的文章,希望也对大家有用。这篇文章的原文《An Ov

2016-06-12 14:45:12 892

原创 Netty : writeAndFlush的线程安全及并发问题

使用Netty编程时,我们经常会从用户线程,而不是Netty线程池发起write操作,因为我们不能在netty的事件回调中做大量耗时操作。那么问题来了 –1, writeAndFlush是线程安全的吗?2, 是否使用了锁,导致并发性能下降呢 我们来看代码 – 在DefaultChannelHandlerContext中@Override public Channe

2016-06-12 14:45:10 8169

原创 如何在RCP程序中添加一个banner栏

前言:这段时间还算比较空闲,我准备把过去做过的有些形形色色,甚至有些奇怪的研究总结一下,也许刚好有人用的着也不一定,不枉为之抓耳挠腮的时光和浪费的电力。以前有个客户提出要在RCP程序中添加一个banner栏,研究了很久才搞定。代码是基于eclipse4.3.2的。先看一下效果预览: 为了添加一个banner栏,我们必须重写RCP程序最外层的layout类,即TrimmedPartL

2016-06-12 14:45:07 260

原创 AChecker + Selenium2对需要登录的页面进行自动化可访问性测试

前言:这段时间还算比较空闲,我准备把过去做过的有些形形色色,甚至有些奇怪的研究总结一下,也许刚好有人用的着也不一定,不枉为之抓耳挠腮的时光和浪费的电力。   名词解释: 网站可访问性测试:国内基本没有什么开展,简单又不太科学地说,就是让盲人,色弱,聋哑人也可以访问的网站。网站只有符合很多的编码和布局标准,屏幕阅读器才能很好地帮助残疾人访问这个网站。在美国,可访问性是立法了的,政府或者政府资助

2016-06-12 14:45:05 558

翻译 5分钟开启Esper之旅

原作者:CoffeeOneSugar翻译:刘斌华 在我之前发表的文章中,我提到我最近热衷于Complex Event Processing (CEP) (复杂事件处理)。简单来说,CEP把数据流作为输入,根据一系列预定义的规则,把数据(或部分数据)重定向给监听者们;又或者是当发现数据中的隐含的模式(Pattern)时,触发事件。在大量数据被产生出来并需要进行实时地分析的场景下,CEP特

2016-06-12 14:45:02 292

原创 使SWT/JFace支持跨平台

由于SWT的实现机制,在不同平台下,必须引用不同swt*.jar. 由于这个瓶颈,我们要为不同的平台编译不同的版本。但是这是可以避免的。这将是本文要讨论的内容。我一共google到了3种solution:1,使用swtjar.jar。http://mchr3k.github.io/swtjar/其主页有详细的介绍。但是似乎下载链接已经无效了,一个下载的办法是从github上找到引用

2016-06-12 14:44:59 620

原创 Ubuntu上Docker安装Trouble Shooting

(我的环境是Mint7.1,相当于Ubuntu14.04) 1,首先,根据docker.com上的安装指导来安装docker,这里就不重复了,参考: https://docs.docker.com/installation/ubuntulinux/   2,执行 $ docker version 你可能遭遇如下错误: FATA[0000] Get http:///var/run/d

2016-06-12 14:44:57 227

原创 使Docker Container支持运行SWT程序

1, 下载安装JDK的docker container 我是从这个源下载已经做好的JDK8的container: https://registry.hub.docker.com/u/dockerfile/java/ docker run -it --rm dockerfile/java:oracle-java8   2, 添加GUI支持 有好几种方案,我使用的是这种: http://fabiore

2016-06-12 14:44:55 261

原创 Xcode5中如何切换Storyboards为xib

在Xcode5中,当创建一个带View的iPhone项目时,默认必须使用Storyboards,不再支持切换xib的checkbox。本文讲解如何手动切换到使用xib来布局。1,把Main.storyboard从项目中移除 2,添加xib文件到项目中。添加一个新文件,选择View,命名和*ViewContorller相同。 3,把Main storyboard对应的项从plis

2016-06-12 14:44:52 283

原创 Web Performance Test : 为Request的Post参数名添加XPath支持

问题描述 本文的标题看起来有些含糊其辞,这里我需要把问题阐述得更加清楚。这是我们使用VSTS进行Web Performance Test时,Asp.net造成的特定问题(也许其他开发工具或插件也会造成类似问题)。 我们知道Asp.net的控件名在前端是自动生成的,比如开发人员设计时,控件名为username; 在bowser端,会自动生成包含一大段前缀的HTML控件,例如ctl00$conten

2016-06-12 14:44:49 203

原创 Web Performance Test : IP切换/IP欺骗

译者前言 本文翻译自 有关于IP Switching的章节。的最新版本可以从这里下载 IP地址切换 – 工作机制解析 每个代理(译者:指使用Visual Studio进行Load Test时,开启controller-agent模式下的agent)可分配最多达256个IP地址以供使用。测试开始时,代理服务在网卡上配置IP地址。测试运行时,新的连接循环地使用IP地址池中的地址。 IP

2016-06-12 14:44:47 505

原创 Web Performance Test: 如果使用Plugin过滤Dependent Request

前言 由于Visual Studio的Web Performance Test是基于XML脚本的,留给用户修改测试行为的自由度并不高。因此,Plugin机制就对于实现很多客户化的配置显得很重要。 问题描述 当使用Web Performance Test进行测试,发送一个Request并收到Response后,框架会自动帮你解析Dependent Request,比如 -- css,javas

2016-06-12 14:44:44 174

原创 RCP:如何保存TaskList及如何获取TaskList

如果我们在Eclipse RCP程序中添加TaskList View,用来管理Task或者TODO项,如下代码: PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() .showView("org.eclipse.ui.views.TaskList"); 我们发现,创建的Task,在重启之后无

2016-06-12 14:44:41 538

原创 GMF:如何在不打开Editor的情况下生成图片

问题 GMF应用中,有时我们希望在不打开*DiagramEditor的情况下,从文件就能生成它的图片   解决方案 首先,从文件中构造DiagramImpl实例: TransactionalEditingDomain domain = GMFEditingDomainFactory.getInstance().createEditingDomain();IFile pageFile

2016-06-12 14:44:39 247

原创 RCP:如何移除Toolbar中的Quick Access

问题 自4.x开始,Quick Access搜索框成为Toolbar的“标准装备”,一般删除Actionset的方式似乎不起作用,通过Quick Access,用户很容易访问到RCP程序本来想隐藏的功能。 解决方法 在WorkbenchWindowAdvisor的openIntro中加入以下代码 IWorkbenchWindow window = (IWorkbenchWindow) Pl

2016-06-12 14:44:36 325

原创 GMF Q&A(1): 如何让palette支持拖拽(DnD)等10则

1,如何让palette支持拖拽(DnD)在*PaletteFactory类中,把私有类NodeToolEntry 和LinkToolEntry的基类修改为PaletteToolEntry。并在构造函数中把调用super(title, description, null, null);修改为super(null, title, null);this.setDescription

2016-06-12 14:44:34 462

原创 RCP: P2 Update两个烦人bug和解决办法

问题Eclipse新的P2 Update机制,使用起来很方便,如果使用P2 plugin自带的UI,开发者完全不用写任何代码 即可实现application的在线更新。 但是P2 Update至少有2个已知的bug,都是打包jre相关的问题,讲清楚后,你会发现解决方案很简单,但是厘清之前,它甚至可能困恼你几天而没有头绪。(注:笔者当前使用的eclipse版本为4.3) Bug1:htt

2016-06-12 14:44:31 289

原创 GMF中,删除节点和连线的另一种实现

问题 在GMF中,如果需要programmatically删除节点或连线,在google中我们很容易搜索到《GMF中,删除节点和连线的实现》一文(我并不确定这是原创作者的原始链接),很多人可能都使用这种实现。这是一种很好的实现,但有时候也有其缺点--除了需要删除View和Edge外,还需要删除model,在element对应于各种不同的model时,显然需要写大量if else来处理不同的mod

2016-06-12 14:44:29 256

原创 RCP:如何把Preferences中的项从一个类别移动到另一个类别

前言 很久没写文章了,准备写一系列关于Eclipse RCP /Plugin的文章。 这些文章都是trouble shooting性质的,不准备写的很细,当你碰到这样的问题,google到时,能帮你把问题解决了,这就ok了。另外有些问题我也是不求甚解的,哈。 问题描述 在开发RCP程序时,一些引用的plugin会向Perferences中贡献一些Perference page,如何删除这些p

2016-06-12 14:44:27 223

原创 原创开源项目HierarchyViewer for iOS 2.1 Beta新功能介绍

回顾 HierarchyViewer for iOS是我们发布的一个开源项目,采用GPL v3.0协议。 HierarchyViewer for iOS可以帮助iOS应用的开发和测试人员,在没有源代码的情况下,也可以图形化地浏览iOS应用的控件树和控件属性。并且,HierarchyViewer for iOS还可以帮助生成iQuery代码和UIAutomation原生代码,把控件树导出为图片等功

2016-06-12 14:44:24 163

原创 HierarchyViewer for iOS 2.0 BETA Introduction

We know HierarchyViewer is an useful tool in Android SDK. The developer and tester, who haven’t the source code of the application, also can get the the hierarchy view of activities, and every propert

2016-06-12 14:44:21 262

原创 Visual Studio的Web Performance Test提取规则详解(3)

总结Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互。Web Performance Test发送和接收的一系列请求和响应之间存在相关性,例如,用户登录后,SID被传递给客户端,下一次请求时,需要把SID发送到服务器。因此,Web Perfomance Test 定义了多种提取规则,帮

2016-06-12 14:44:19 286

原创 Visual Studio的Web Performance Test提取规则详解(2)

总结Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互。Web Performance Test发送和接收的一系列请求和响应之间存在相关性,例如,用户登录后,SID被传递给客户端,下一次请求时,需要把SID发送到服务器。因此,Web Perfomance Test 定义了多种提取规则,帮

2016-06-12 14:44:16 8811

原创 Visual Studio的Web Performance Test提取规则详解(1)

总结Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互。Web Performance Test发送和接收的一系列请求和响应之间存在相关性,例如,用户登录后,SID被传递给客户端,下一次请求时,需要把SID发送到服务器。因此,Web Perfomance Test 定义了多种提取规则,帮

2016-06-12 14:44:14 363

翻译 .Net最佳实践3:使用性能计数器收集性能数据

本文值得阅读吗? 本文讨论我们如何使用性能计数器从应用程序收集数据。我们将先了解的基本知识,然后我们将看到一个简单的示例,我们将从中收集一些性能数据。  介绍: - 我的应用程序的性能是最好的,像火箭 让我们这篇文章从一个客户和开发人员之间的简短交谈开始。 场景1客户:- 你们的应用程序的性能怎么样? 主观的开发者:- Well,它真的很快,它是

2016-06-12 14:44:11 1209

原创 GMF:如何让网格显示在background,而不是foreground

前言 很久没写文章了,准备写一系列关于Eclipse RCP /Plugin的文章。 这些文章都是trouble shooting性质的,不准备写的很细,当你碰到这样的问题,google到时,能帮你把问题解决了,这就ok了。另外有些问题我也是不求甚解的,哈。 正文 GMF中,Grid,也就是用来对齐的网格,默认是显示在foreground的,这样网格就会覆盖在你的图形上面,看上去很糟糕。解决

2016-06-12 14:44:09 207

原创 RCP:如何移除Search对话框中不需要的项

前言很久没写文章了,准备写一系列关于Eclipse RCP /Plugin的文章。 这些文章都是trouble shooting性质的,不准备写的很细,当你碰到这样的问题,google到时,能帮你把问题解决了,这就ok了。另外有些问题我也是不求甚解的,哈。 正文Search Dialog中可能出现一些你不需要的项,比如“Java Search”,这个项是org.eclipse.jd

2016-06-12 14:44:06 263

翻译 Visual Studio进行Web性能测试- Part III

原文作者:Ambily.raj对于一个多用户的应用程序,性能是非常重要的。性能不仅是执行的速度,它包括负载和并发方面。Visual Studio是可以用于性能测试的工具之一。Visual Studio Test版或Visual Studio 2010旗舰版为自动化测试提供了支持。 介绍对于一个多用户的应用程序,性能是非常重要的。性能不仅是执行的速度,它包括负载和并发方面。性能测

2016-06-12 14:44:04 776

翻译 Visual Studio进行Web性能测试- Part II

原文作者:Ambily.raj对于一个多用户的应用程序,性能是非常重要的。性能不仅是执行的速度,它包括负载和并发方面。Visual Studio是可以用于性能测试的工具之一。Visual Studio Test版或Visual Studio 2010旗舰版为自动化测试提供了支持。介绍对于一个多用户的应用程序,性能是非常重要的。性能不仅是执行的速度,它包括负载和并发方面。性能测试是对

2016-06-12 14:44:01 1650

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除