- 博客(14)
- 资源 (3)
- 收藏
- 关注
原创 python 中基本运算的性能简析
运算的性能分析有一个高深的词汇——算法分析,主要研究的是运行时间和空间的需求。对计算时间的描述一般通过增长量级,增长量级是一套函数,其渐进增长行为是等价的,用大O来表示。O(1) < O(logb n) < O(n) < O(n logb n) < O(n)< O(n2)<O (n3)<O(cn ) 对数算法中的基数并不重要,指数算法只适用于小数据问题......
2015-03-22 18:16:22 2167
原创 Java 后台性能优化简要
业务系统性能优化的前提时观察和诊断,观察工具如下:前端优化工具:YSlow页面响应时间:Firebug方法相应时间:btraceGC日志分析:JVM 启动参数数据库优化:慢查询系统资源调用:监控
2015-03-15 13:35:15 5181
原创 分布式系统架构之消息系统
消息系统中,常用的一致性解决方案如下:1) 发送消息给消息系统2) 消息系统入库消息3) 消息系统返回结果4) 业务操作5) 发送业务操作结果给消息系统6) 更改存储中的消息状态......
2015-03-13 08:01:36 2591
原创 分布式系统架构设计之数据访问
数据访问层是一个链式的处理过程,并且多数组件都是提供对外提供JDBC的实现,提供服务的方式有三:1) 提供专有API,通用性差2) 通用性强的方式,如JDBC3) 基于ORM的方式,可以在ORM框架上再包一层,对外暴露的还是原有框架的接口。在合并查询时,JDBC优势明显。
2015-03-12 08:47:44 3731
原创 分布式系统架构之框架化服务
要使业务系统无极缩放,微服务架构方兴未艾。本质上,就是采用API(例如REST) 封装服务调用,形成服务框架。既然是分布式API调用,必然涉及到网络IO常见的三种方式:1) BIO:Blocking IO,阻塞方式,一个socket用一个线程处理2) NIO: Non-blocking IO,事件驱动,采用reactor模式,一个线程中处理多个socket,JDK1.4以上版本支持3) AIO:Asynchronous IO,异步,采用Proactor模式,NIO在有通知时可以进行相关操作,
2015-03-11 07:51:27 2876
原创 分布式系统架构中的中间件
分布式系统: A distributed system is one in which components located at network computers communicate and coordinate their actions only by passing messages.由于单机处理能力存在瓶颈,而升级单机处理能力的性价比越来越低,出于稳定性和可用性的考虑,就出现了分布式系统的架构方案。将分布式系统中的一些通用功能提出来形成了中间件,常用的有消息系统,服务框架,数据访问等...
2015-03-10 15:49:38 10585
原创 Java 中的线程管理概念梳理
在Java中,“线程”指java.lang.Thread类的一个实例以及线程的执行,主要使用的线程池是ThreadPoolExecutor以及ScheduledThreadPoolExecutor,要使用固定线程上限的线程池......
2015-03-09 07:21:50 2252
原创 Erlang中的OTP简要
OTP包含了一组库和实现方式,可以构建大规模、容错和分布式的应用程序,包含了许多强大的工具,能够实现H248,SNMP等多种协议,核心概念是OTP行为,可以看作一个用回调函数作为参数的应用程序框架,类似一个J2EE容器。行为负责解决问题的非函数部分,回调函数负责解决函数部分。 通过gen_server模块可以实现事物语义和热代码交换,1) 确定回调模块名2) 编写接口函数3) 在回调模块里编写6个必需的回调函数
2015-03-07 11:10:26 3447
原创 Erlang的socket 编程简例
Erlang 中gen_tcp 用于编写TCP程序,gen_udp用于编写UDP程序。一个简单的TCP服务器echo示例:Start_echo_server()-> {ok,Listen}= gen_tcp:listen(1234,[binary,{packet,4},{reuseaddr,true},{active,true}]), {ok,socket}=get_tcp:accept(Listen), gen_tcp:close(Listen),
2015-03-07 07:17:09 2620
原创 基于Erlang的并发程序简要
基本的并发函数1) Pid =spwan(Mod,Func,Args) 创建一个新的进程来执行apply(Mod,Func,Args),与调用进程并列运行,会使用最新的代码定义模块。2) Pid!Message 向Pid进程异步发送Message,!为发送操作符3) Receive … end 接收消息Receive Pattern1 [when Guard1]-> Expression1; Pattern2[when Guard2]->Expression2;… After time-
2015-03-06 13:39:11 1738
原创 运行Erlang的程序
运行Erlang程序的方式:1) 在Erlang shell 中编译执行2) Shell 脚本执行,例Hello.sh#!/bin/shErl –noshell –pa /home/abel/practice/erlang/code –s hllstart –s init stop3) 作为Escript 运行,例#!/usr/bin/env escriptMain(args)->Io:format(“Hello world ~n”)
2015-03-06 12:44:16 7395 1
原创 Erlang中的模块与模式匹配
模式匹配是erlang的根基,case和if表达式使erlang小而一致。case Expression of Pattern1[ when Guard1] -> Expr-seq1; Pattern2[when Guard2]-> Expr-seq2; …endif Guard1-> Expr_seq1; Guard2-> Expr_seq2; …end
2015-03-05 15:17:11 2255
原创 Erlang中的基本元素操作
Erlang shell中,用句号加空格、tab或回车来结束表达式,%表示注释的起点,;隔离子句。模块是.erl 文件,库的头文件.hrl, shell中的编译时c(),外编译命令时erlc, 退出shell用q(),或erlang:halt(). 变量以大写字母开头,且不能重新绑定变量,只能一次性赋值,具有不可变状态......
2015-03-05 13:55:50 2590
原创 Erlang 印象
和朋友切磋高并发的时候,有一次涉及了Erlang,Erlang出自名门爱立信,具有稳定性极高的虚拟机和平台库,Facebook用它实现了聊天系统,Amazon 开发了SimpleDB,最令人惊叹的是What'sApp了,高并发的处理机制令人瞩目,是时候了解一下Erlang了。世界是并行的,Erlang程序反应了我们思考和交流的方式,人作为个体通过发送消息进行交流,如果有人死亡,其他人会注意到。Erlang里的模块类相当于OOPL中的类,进程相当于OOPL里的对象或类实例。并发编程可以用来提升性能,创
2015-03-04 16:33:29 1508
计算机世界1000期特稿——信息革命的流金岁月
2008-11-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人