- 浏览: 797221 次
- 性别:
- 来自: 杭州
最新评论
-
huan19900606:
像haskell这些脚本语言很容易定义DSL,实现对应的词法语 ...
DSL的基本介绍(groovy来进行构建) -
express_wind:
https://yq.aliyun.com/album/130 ...
qlexpress规则引擎初探 -
readxuxuegang:
博主你好。如果groovy的代码是保存在数据库里,不是文件,这 ...
在java中使用groovy怎么搞 (java and groovy) -
express_wind:
hi,兄弟,有没有兴趣来阿里巴巴专门做这方面的研究,https ...
qlexpress规则引擎初探 -
langcaiye:
有2个问题请教:1. 这里的base32算法为什么需要以负数的 ...
【原】geohash算法详解
文章列表
参加工作已经两年多了,加上实习的时间差不多快三年了,中间做过很多项目,但是成功的不多,PM,也就是所谓的项目经理做过很多次,有业务项目,有技术驱动项目,有大型跨团队项目,有了一些感悟,大概 ...
这篇文章来自一个公司内部的分享,是自己所服务的业务中数据平台的发展历程,已经讲了有几个月了,最近打算挑几个点拿出来用文章的形式写出来。是自己进入公司以来参与过或者接触过的数据型项目的情况。基本包含了业务数据分析的整个流程。这篇文章纯文字描述,没有任何图呵呵。所以看我需要耐心。
1、最早的数据分析可能就报表
目前很多数据分析后的结果,展示的形式很多,有各种图形以及报表,最早的应该是简单的几条数据,然后搞个web页面,展示一下数据。早期可能数据量也不大,随便搞个数据库,然后SQL搞一下,数据报表就出来了。但是数据量大起来怎么分析呢?数据分析 ...
目前的互联网架构中,缓存已经成了一个不可或缺的部分,可以将没有了缓存,很多事情玩不转了,目前开源中用的比较多的例如memcached,也有公司自己研发缓存系统的,例如淘宝已经开源的tair,当缓存的服务器数量增加或者本身就需要多机房容灾的时候,数据在多机房情况下如何分配,就成了一个问题,这篇文章就对这个问题展开讨论。
对于分布式缓存来讲,由一个集群机器组成,这些机器有个特点,就是内存很牛逼,没办法,做缓存就是要放在内存里的吗,不过也有内存服务器的硬板来缓冲的,把内存文件dump到硬盘,用于机器断电等情况。虽然由一个集群(也就是多台机器)组成,但是对于应用系统来讲 ...
国庆库布齐沙漠徒步
或许,我们赋予了徒步沙漠很多意义;或许,我们就是想走走,没有原因;或许,我们就是想自虐一下;或许,沙漠冥冥之中在召唤我们;或许,我们是想在大漠黄沙中需找失去的自己;或许,就是玩一下。
十分庆幸,我们完成了突破,坚持了下来,在出发之前,我自己也在怀疑自己,是否能够走下来?三天两夜,坐标距离48公里,一行八人小队,成功穿越。
关于队员组成?
最早的时候和女朋友讨论国庆去哪里玩,最后定了内蒙古,然后就开始在蚂蜂窝上找游记,后来看了库布其沙漠,觉得可以挑战一下。然后就和大学的两个哥们联系,一个@林先生,一个是@路sir,后来这两个名额就定下了。又在公司内网上发帖召集队友, ...
基于AOP和注解简化异步化处理
- 博客分类:
- java
Spring3中提供了一个功能,就是在一个方法上添加注解,调用这个方法的时候自动在线程池中异步话执行。
由于老系统暂时无法升级到spring的3版本,所以翻了一下Spring3中的实现代码。
Spring3中总体就是Spring的AOP和Schema,这两个方式,至于Spring3中注解异步化的使用,这里就不介绍了。
实现思路:
1、搞一个注解来做标志位(就是添加了这个注解,方法自动异步化);
2、用Aspect来处理注解;
3、系统直接使用;
最近在关注性能的事情,所以对于多线程程序中,如何设置最佳的线程数,找了一些文章。虽然有公式可以套用,
但是,其实最佳的话只是相对的,了解了过程之后,处理线程数的设置就会游刃有余了。
名字解释:
1、QPS:系统每秒处理的请求数(query per second)
2、RT:系统的响应时间,一个请求的响应时间,也可以是一段时间的平均值
3、最佳线程数量:刚好消耗完服务器瓶颈资源的临界线程数
QPS和RT的关系:
对于单线程:QPS=1000/RT
java进行debug的几个小技巧
- 博客分类:
- java
关于debug,在很早之前看过一篇不错的文章(http://iamzhongyong.iteye.com/blog/1397374 ),转载了一下,
最近做项目,有些已经忘记了,整理几个技巧在这里。
但是,建议大家少做debug,debug是很耗时的操作。。。
1、远程debug(这个大家基本都会)
就是本机的eclipse来debug远程的java进程,需要两个步骤。
第一个:java进程启动的时候,加入可以debug的参数
(-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,addre ...
关于AOP的种种疑问
- 博客分类:
- java
最近在用AOP做一个小东西,于是开始翻阅一些AOP的资料,中间解决了自己的一些疑问,记录下来。
什么是AOP?
其实早就知道呵呵,这里作为引子吧。AOP是面向切面的编程。最大的好处就是对于已有的系统 ...
关于java协程和kilim的一些概念
- 博客分类:
- java
最近了解了一下基于协程来做异步话的场景。一些基本概念写在这里。
多任务调度方面,操作系统怎么搞的?
一种是抢占式,指操系统给每个任务一定的执行时间片,在到达这个时间片后,如果任务仍然没有释放对CPU的占用,则操作系统强制释放,这是目前多数操作系统实现的方式。
一种是协作式,指操作系统按照任务的顺序来分配CPU,每个任务执行过程中除非主动释放,否则将一直占据CPU,一旦任务占据CPU不放,会导致其他任务饿死,目前操作系统不太采用这种方式。
通常程序如何支持高并发?
一种是基于 ...
使用Btrace已经一段时间了,对于原理一直处于比较模糊的状态,最近有时间来进一步看代码,所以打算写一下。
类似Btrace的工具目前不少,例如housemd,以及很多基于Btrace的扩展。本来考虑搞一个源码分析的,但是发现没那么多经历,万变不离其宗,还是看一下基本的原理吧。
1、JDK6中的Instrucment (java扩展组件)
这个似乎JDK5之后提供的一个组件,能够修改Class的信息,但是JDK5的时候需要在进程中添加agent的信息,这样就导致了不是很灵活。无法再不停机的情况下来进行动态的变化。于是JDK6 ...
目前在做性能分析的事情,之前没怎么接触perf,找了几篇文章梳理了一下,按照问题的形式记录在这里。
方便自己查看。
什么是perf?
linux性能调优工具,32内核以上自带的工具,软件性能分析。在2.6.31及后续版本的Linux内核里,安装perf非常的容易。
几乎能够处理所有与性能相关的事件。
什么是性能事件?
指在处理器或者操作系统中发生,可能影响到程序性能的硬件事件或者软件事情。
主要关注点在哪里?
最近在看一个开源的Cache框架,里面提到使用JMX来查看Cache的命中率以及响应时间等,于是翻了一些JMX的文章,整理了一下。
问题:什么是JMX?
问题:JMX的架构是什么样子的?
问题:JMX以及Mbean中的 概念都有那些?
问题:如何编写一个简单的Standard MBean?
把时间当作朋友-读后感
- 博客分类:
- 读书笔记
这本书其实看了有一年多了,当时看完之后觉得很有用,但是一直没有记录下来。最近在床头有翻起这本书,再一次觉得这本书很好。于是决定写一下笔记。
1、书的开头,写的很好,虽然就一句话:
“都是平凡人,为什么若干年之后彼此已成天壤之别。时间这条船,为什么只会送心智成熟的人去往梦想的彼岸。”
2、俞敏洪作序中的一句话:
“一切都靠积累,一切都可以提前准备,越早醒悟越好。人的一生是奋斗的一生,有的人一生过的很伟大,有的人一生过得很琐碎。”
这篇文章是一个思路,陆续接触空间范的细化过程中的体会和一些实践。抛出来供大家拍砖。
概述
本文的例子是拿物流公司的配送来展开,大家都知道,物流是一个空间属性很强的行业,有些地方能够送到,有些地方送不到,有些服务在一些去也没法履行,而这个时候,我们应该怎样做,才能满足这个需求呢?且看本文逐步道来。
首先国家标准行政区域,目前总体是分为三级:省、市、区(当然也有特殊,有些市下面就没有区,例如东莞市),如果范围精确到市和区这一级别,我们应该怎么做?如果精确到区下面的级别(例如文三路送到,文二路送不到),这个时候又应 ...
首先讲一下开关的由来,例如东京在6月18日做店庆促销活动,在交易下单环节,可能需要调用A、B、C三个接口来完成,但是其实A和B是必须的,C只是附加的功能(例如在下单的时候做一下推荐),可有可无,在平时系统没有压力,容量充足的情况下,调用下没问题,但是在类似店庆之类的大促环节,系统已经满负荷了,这时候其实完全可以不去调用C接口,怎么实现这个呢?改代码?no,no,no,这样太不敏捷,此时开关诞生了,开发人员只要简单执行一下命令或者点一下页面,就可以关掉对于C接口的调用,在大促过去之后,再把开关恢复回去即可。
问题一:在单个java系统中如何实现开 ...