03 2017 档案
摘要:前面几篇介绍,终于到了应用阶段啦,我们来做一个RPC来加强学过的知识 做基础核心时先确定解决什么问题,提供什么服务,同将来扩展等 rpc 分两部份,一个是调用者,另一方是服务提供者 调用者只关心那个服务,传相应参数,返回内容就可以 而提供者根据调用相应服务同参数,工作处理后响应内容即可 根据他们的关
阅读全文
摘要:真想学吉它,起码要有一把好的琴,至少一千左右 但对于新人来讲又不懂看,那怎么办呢? 可以去闲鱼里买,五百左右能买到一千的琴,这又有一个问题了,怎么识别是真卖家呢? 这识人沟通的问题只能自己平时去积累了,如果你年纪还少,真无法识别,可以找个行内的朋友帮忙看一下,或约几个朋友一齐去琴行试玩下(不用钱)
阅读全文
摘要:应用动态代理技术要先掌握annotation技术 注解是JDK1.5之后才有的新特性,JDK1.5之后内部提供的三个注解 @Deprecated 意思是“废弃的,过时的” @Override 意思是“重写、覆盖” @SuppressWarnings 意思是“压缩警告” 注解可以加在类名,方法,参数,
阅读全文
摘要:先在mavne项目里添加cglib库 maven仓库搜索cglib版本 maven地址:http://mvnrepository.com/ 点击最新的版本 3.2.5 复制到pom.xml dependencies 标签下 接着在TestProxy.class添加方法 继续运行测试: native:
阅读全文
摘要:需要用到的工具 jdk : javac javap class 反编译 :JD-GUI http://jd.benow.ca/ 先来看下jdk动态代理跟native性能比较 运行结果: native: 175 native: 182 native: 126 native: 172 native: 1
阅读全文
摘要:由于java是种强类型静态语言,在执行时无法动态生成代码,静态语言基本都有这特性 动态生成代码有几种好处,也是弱类型语言的优点 1.部份逻辑可以实现热更新 2.远程调用实现非常适合 3.能动态生成扩展类,屏蔽复杂性,在原来基础上扩展功能,无破坏源码特性 1.部份逻辑可以实现热更新 2.远程调用实现非
阅读全文
摘要:QException是项目业务异常基类 按模块划分子类异常,方便定位那块出错 有个来源码属性code作用定位某个功能处理出错逻辑,数字类型节省内存空间,同时减少创建子类的子类 QSocketException 是通信层出错 凡是来自QSocketException 统一认为非法请求,强制关闭sock
阅读全文
摘要:Java异常体系结构 Thorwable类所有异常和错误的超类,有两个子类Error和Exception,分别表示错误和异常。 其中异常类Exception又分为运行时异常(RuntimeException)和编译时异常(checked Exception), 下面将详细讲述这些异常之间的区别与联系
阅读全文
摘要:1 public class QNode implements IRecycle { 2 /** 3 * session会话,记录通信层属性 4 **/ 5 private QSession session; 6 /** 7 * message cb 维护消息回调 8 **/ 9 private Q
阅读全文
摘要:proxy server 提供外部公开访问服务 client向proxy server访问时,proxy server分发N个任务调用工作服 而client无需要关心proxy server 如何工作,如服务调度异步还是同步、等侍合并结果、数据过滤去脏等 常用于代理公开访问服务,如数据分析任务分发
阅读全文
摘要:上面已提到消费端感知topic服务器有新消息叫推拉模式 左图采用短连接,server端不能获取clinet连接资源,无法主动推给client。所以要求client定时过来拿数据 右图采用长连接,server端可以获取clinet连接资源,有消息过来就能主动推给client 短连接应用受环境因素限制,
阅读全文
摘要:上面时序流程能解决外部请求,适合c/s,b/s架构 如果是s/s可以简化流程处理 这是经典的消费/生产模式,简化了大量的处理逻辑,并消去通信同并发产生的问题,服务与服务之间形成独立解偶。 一切以记录为主,只要写进就认为是处理成功 发布订阅模式能支持多个消费同多个生产 而发布订阅模式难点在于数据发生变
阅读全文
摘要:1.eclipse maven 一直在 update maven dependencies 原来发现机器不能上网。。。。 2.plug 依赖 出错 setting.xml 下载仓库地址出错,去掉改为默认 3.右击项目卡死 目前找到原因svn路径失效,在svn资源管理重新定位正确路径,如果不想重新定位
阅读全文
摘要:学武还是有用的,身体好才能保持良好状态工作 还有程序员太多数比较务实,容易被人欺负,学下也不吃亏
阅读全文
摘要:消息处理常有以下几种方式 来源ZeroMq 1.请求响应模式 Request-reply 2.发布订阅模式 Publisher-Subscriber 3.推拉模式 Push-Pull 4.管道/异步模式 Pipeline 1.请求响应模式 Request-reply 2.发布订阅模式 Publish
阅读全文
摘要:OpCode(Operation Code) 操作码的意思。 OpCode 有几种域组成,不同领域格式组成不同 1.指令号 2.数据范围 3.数据内容 如 {code}{addr range}{data} {1}{2-5}{2至5地址内容为 "你好"} {2}{6-10}{6至10地址内容为 "he
阅读全文
摘要:上篇有介绍过,对象设计按开发者角度划分设计 为什么不直全部实现不走QRpc? 开始设计时没考虑到rpc功能,后面才补上,加上rpc有二级业务模型,要进行二次解释,有性能损耗,所以干脆不改了 用两幅图来解释 QPacket是个吸血模型(相对贫血模型来讲 如 java bean对象只有getter se
阅读全文
摘要:接下来介绍netty如何切割分包 学习目的,了解处理业务,方便以后脱离依赖 读者如果不感兴趣或看不懂可以先忽略,难度比较大 LengthFieldBasedFrameDecoder.class 如示例 如图: 数据包由低到高是从左到右 红色部份lengthFieldOffset 1byte=8bit
阅读全文
摘要:上节介绍问题出现跟处理方式,写数据部份已经实现 这节介绍如何读处理 处理流程分三部分 1.校验包是否合法 2.读取包内容 3.切割包 1.校验包是否合法 2.读取包内容 3.切割包 由于切割包用的是netty处理,所以只需集中精力解决前两个问题即可 ByteToMessageHandler.clas
阅读全文
摘要:出现难听是因为音高低不平 我在学习时发现根音没扫出,所以扫时全扫6弦,根音要扫出来 产生咚咚咚共震就好听多了 之后再考虑屏闭根音
阅读全文
摘要:理论部分 网络传输是以流的方式传送,这时会出现意想不到的事 如:发送两个消息 共8byte byte[] messagea=new byte[4]; byte[] messageb=new byte[4]; byte[] messagea=new byte[4]; byte[] messageb=n
阅读全文
摘要:目前水平还是练格子 我在练习过程发现,一个星期练一两个和弦,跟之前学习打字,一天练两个字母,26个字母两个星期就完成 这说明有些是急不得的,只要是保持持之以恒心态去做 还有个比较大的感悟 一切都是靠双手去创造,大脑运作设计 但人只靠身体两个部份是没办突破极限,还差脚跟嘴,眼没用上 脚能发挥用处能增加
阅读全文
摘要:http://demo.lanrenzhijia.com/2015/css0601/
阅读全文
摘要:.item{ max-width:48%; float:left; padding:2px; border-top:1px solid #000; border-left:1px solid #000; } .itemRight{ border-right:1px solid #000; } ...
阅读全文
摘要:用食指手掌关节顶住。 靠近品柱往上压 右手压住琴尾,这样就很轻松试下C跟F不停转换就快找到感觉 等熟练了,食指自然不会按太上练得差不多了,手指向琴头倾压,有两个好处 1.手指后面的肉不会碰到弦 2.利用重力顺势压下去,很省力
阅读全文
摘要:本人绝对是业余的哈 业余到什么水平呢?正在练习爬格子,还是一个星期练几次那种 先说下《海阔天空》 6,5,4,3 1,2,3,4 简单是简单得不得了,声从低到高,然后再从高到低,产生一种回旋的感觉,像是"去了,又想回来"的意境 有很多人说是很简单,但真的热爱事业的人往往会把复杂的简单化,这么简单为什
阅读全文
摘要:理论部分 一个long占8byte,大多数应用数值不超过int每次传输多4byte会很浪费 有没有什么办法可以压缩long或int呢? 答案是有的,原理好简单,如果数值不超过int.max_value的话就"自动变成"int类型 现在问题又出现了读取时如果知道原来的类型是什么? 可以先写一个byte
阅读全文
摘要:对象职责分离 给对象定职责,有几种好处 1.将复杂降级达到分而治之,每个对象集中实现相应功能,修改时不会影响其它对象,这叫解偶 2.职责分工明确,知道那些功能做了用不上,那些是可以不用公开使用,这叫黑箱操作 一般从使用者角度去规分对象职责 QPacket 对象是定在系统层 作用与底层通信框架交互 我
阅读全文

浙公网安备 33010602011771号