`
ccii
  • 浏览: 54785 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
一. Dubbo概述     Dubbo是Alibaba开源的一个高性能优秀的分布式服务框架,致力于提供高性能和透明化的RPC(远程过程调用协议)远程服务调用方案,以及SOA(面向服务的体系结构)服务治理方案。可以和Spring框架无缝集成。   1. 核心部件: (1)远程通讯——提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 (2)集群容错——提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。 (3)自动发现——基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使 ...
    古代,人们用牛来拉重物。当一头牛拉不动一根圆木时,他们不曾想过培育更大更壮的牛。同样,我们也不需要尝试开发超级计算机,而应试着结合使用更多计算机系统。(蕾斯.霍珀) 1. 数据     目前的趋势是保存每个人成长过程中产生的所有数据,但更重要的是,计算机产生的数据可能比个人产生的更多。机器日志、RFID检测器、传感器网络、车载GPS和零售交易数据等——所有这些都将使数据量显著增加。公开发布的数据量也在逐步增加。组织或企业,不仅需要管理好自己的数据,更需要从其他组织或企业的数据中获取有价值的信息,以便在未来获得更大的成功。     曾有这么一句话:“大量的数据胜于好算法”。意思是说对于某 ...
本章内容: 1. 谨慎地实现Serializable接口 2. 考虑使用自定义的序列化形式 3. 保护性地编写readObject方法 4. 对于实例控制,枚举类型优先于readResolve 5. 考虑用序列化代理代替序列化实例 1. 谨慎地实现Serializable接口     对象序列化A ...
本章内容: 1. 同步访问共享的可变数据 2. 避免过度同步 3. executor和task优先干线程 4. 并发工具优先于wait和notify 5. 线程安全性的文档化 6. 慎用延迟初始化 7. 不要依赖于线程调度器 8. 避免使用线程组 1. 同步访问共享的可变数据     关键字synchronized可以保证在同一时刻,只有一个线程可以执行某一个方法,或者某一个代码块。对象同步并不仅限于当多个线程操作同一可变对象时,仍然能够保证该共享对象的状态始终保持一致。与此同时, 他还可以保证进入同步方法或者同步代码块的每个线程,都看到由同一个锁保护的之前所有的修改效果。      Jav ...
本章内容: 1. 只针对异常的情况才使用异常 2. 对可恢复的情况使用受检异常,对编程错误使用运行时异常 3. 避免不必要地使用受检的异常 4. 优先使用标准的异常 5. 抛出与抽象相对应的异常 6. 每个方法抛出的异常都要有文档 7. ...
本章内容: 1. 将局部变量的作用域最小化 2. for-each循环优先于传统的for循环 3. 了解和使用类库 4. 如果需要精确的答案,请避免使用float和double 5. 基本类型优先于装箱基本类型 6. 如果其他类型更适合,则尽量避免使用字符串 7. ...
本章内容: 1. 检查参数的有效性 2. 必要时进行保护性拷贝 3. 谨慎设计方法签名 4. 慎用重载 5. 慎用可变参数 6. 返回零长度的数组或者集合,而不是null 7. 为所有导出的API元素编写文档注释 1. 检查参数的有效性     每当编写方法或者构造器的时候,应该考虑他的参数有哪些限制。应该把这些限制写到文档中,并且在这个方法体的开头处,通过显式的检查来实施这些限制。养成这样的习惯是非常重要的。     对于公有的方法,要用Javadoc的@throws标签(tag)在文档中说明违反参数值限制会抛出异常。手工抛出异常,并且添加@throws注解说明原因 。如下:     /** ...
本章内容: 1. 用enum代替int常量 2. 用实例域代替序数 3. 用EnumSet代替位域 4. 用EnumMap代替充数索引 5. 用接口模拟可伸缩的枚举 6. 注解优先于命名模式 7. 坚持使用Override注解 8. 用标记接口定义类型 1. 用enum代替int常量     枚举类 ...
本章内容: 1. 请不要在新代码中使用原生态类型 2. 消除非受检警告 3. 列表优先于数组 4. 优先考虑泛型 5. 优先考虑泛型方法 6. 利用有限制通配符来提升API的灵活性 7. 优先考虑类型安全的异构容器 1. 请不要在新代码中使用原生 ...
本章内容: 1. 使类和成员的可访问性最小化 2. 在公有类中使用访问方法而非公有域 3. 使可变性最小化 4. 复合优先于继承 5. 要么为继承而设计,并提供文档说明,要么就禁止继承 6. 接口优于抽象类 7. 接口只用于定义类型 8. 类 ...
本章内容: 1. 覆盖equals时请遵守通用约定 2. 覆盖equals时总要覆盖hashCode 3. 始终要覆盖toString 4. 谨慎地覆盖clone 5. 考虑实现Comparable接口 1. 覆盖equals时请遵守通用约定     如果不覆盖equals方法,类的每个实例都只与它自身相等。 ...
本章内容: 1. 考虑用静态工厂方法代替构造器 2. 遇到多个构造器参数时要考虑用构建器(Builder模式) 3. 用私有构造器或者枚举类型强化Singleton属性 4. 通过私有构造器强化不可实例化的能力 5. 避免创建不必要的对象 6. 消除过期 ...
一、Spring概述 1. 简介     Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring框架在框架设计、扩展性、灵活性等方面全面超越了Struts、WebWork等MVC框架,从原来的追赶者一跃为MVC的领跑者。Spring框架围绕DispacherServlet这个核心展开,它负责截获请求并将其分派给相应的处理器处理。 2. Spring MVC和Struts2的比较 (1)Spring MVC的入口是servlet,而Struts2是filte ...
一、国学应用智慧TAT之亮剑精神A 1. 角色就是人格     就像你一回家的时候,你一进屋里面,你已经是儿子,是姑娘啦,给老爸老妈倒怀水吧,你还觉得你是老总呢?还拿派呢?就像今天一样,你们往这儿一坐,你们之间是什么,同学,是朋友。     还有下属最忌讳的就是领导向他询问情况的时候,什么我不知道,我不清楚,该你知道的你凭什么不知道呢,不怨我,这些话都不行。 2. 不二过,不迁怒(颜回)     很多领导人都有这么两下子,发完火之后说正事的时候,立刻把前面的事就放下,所以说,放下才能承担,空才能有。 3. 与时消息     必须有强烈的意识和方法获得及时的信息,很多事情失败的原因不是在行动前 ...
1. 简介     存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快。 2. 存储过程的优点 (1)存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 (2)当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与 ...
Global site tag (gtag.js) - Google Analytics