关闭

数据库到Java对象的解决方案初探

概述从事Java后台开发的程序员,几乎天天在和数据库打交道,无论是久经考验的关系型数据库,还是主键普及的NoSQL数据库,不可避免的都需要将数据转换到Java对象中,进入内存,才能被应用程序使用。 本文作为这一系列技术的初探,着眼于从数据库到Java对象的转换。关系型数据库表到Java对象 经典的处理方案(jdbc) jdbc作为经典的Java对象和数据库交互的方式,在很长一段时间内占据着重要地...
阅读(223) 评论(0)

设计模式之代理模式

什么是代理模式(Proxy)为其他对象提供一种代理以控制对这个对象的访问 代理模式的几个角色Subject抽象主题角色,可以是一个抽象类或者接口,定义通用的业务 RealSubject具体主题角色,被代理角色,是业务具体的执行者 Proxy代理主题角色,也是委托类、代理类,负责对真实对象的应用,可以做预处理或者善后处理 示例代码(示例中包括基本的代理模式、强制代理、动态代理) 基本的代理模式 pa...
阅读(132) 评论(0)

设计模式之原型模式

什么事原型模式(Prototype)用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 原型模式的核心是一个clone方法 优点:性能优良,在内存二进制流的拷贝,不执行构造器 使用场景资源优化:类初始化需要消耗非常多的资源 性能和安全要求的场景:通过new产生一个对象需要非常繁琐的数据准备或者访问权限 一个或者多个对象修改者的场景:一个对象需要提供给其他对象访问,而且各个调用者可能都需要...
阅读(58) 评论(0)

设计模式之享元模式

什么是享元模式(Flyweight)享元模式是池技术的重要实现方式 使用共享对象可有效地支持大量的细粒度的对象,避免过多的对象造成内存溢出 享元模式:内部状态和外部状态内部状态:保持不变的状态,可以作为共享的状态 外部状态:一般随着环境的状态而改变的状态 享元对象的角色 Flyweight 抽象享元角色,产品的抽象类,同时定义出对象的外部状态和内部状态的接口或实现。 ConcreteFlyweigh...
阅读(56) 评论(0)

设计模式之门面模式

什么是门面模式(Facade)门面模式,也叫作外观模式,是一种常见的封装模式。 要求一个子系统的外部与内部的通信必须通过一个统一的对象进行。 门面模式提供一个高层次的接口,使得子系统更易于使用。 代码示例在我们的日常生活中,通常我们寄送信件的时候,都是通过邮局这一个统一的接口来运作的。 对于寄信的我们而言,并不关心邮局怎么进行通信和寄送,简单一点,假设我们只是信的内容的提供者,那么我们只想提供给邮局...
阅读(122) 评论(0)

设计模式之装饰器模式

什么是装饰器模式(Decorator)动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式相比生成子类更为灵活。 装饰器模式的优点装饰类和被装饰类可以独立发展,而不会互相耦合。 装饰模式是继承关系的一个替代方案 装饰模式可以动态地扩展一个实现类的功能 装饰器模式的缺点多层的装饰比较复杂 示例代码 package com.pattern.decorator;/** * 抽象类,装饰器的父类...
阅读(161) 评论(0)

设计模式之组合模式

什么是组合模式组合模式也叫合成模式,用于描述局部和整体的关系 将对象组合成树形结构以展示“部分-整体”的层次结构,似的用户对单个对象和组合对象的使用具有一致性。 组合模式的几个角色Component抽象构件角色 定义参加组合对象的共有属性和方法,可以定义一些默认的行为或属性 Leaf叶子构件 叶子对象,其下再也没有其他的分支,也就是遍历的最小单位 Composite树枝构件 树枝对象,作用是组...
阅读(98) 评论(0)

设计模式之桥接模式

什么是桥接模式将抽象和实现解耦,使得两者可以独立变化 桥接模式的4个角色Abstraction、Implementor、RedefinedAbstraction、ConcreteImplementor Abstraction:抽象化角色,定义出角色的行为,同时保存一个对实现化角色的引用,该角色一般是抽象类,示例中为Corp类 Implementor:实现化角色,接口或者抽象类,定义角色必须的行为和属...
阅读(157) 评论(0)

设计模式之适配器模式

什么是适配器模式将一个类的接口装换成客户端所期待的另一种接口,从而使原本因接口不配而无法一起工作的两个类能够一起工作。 适配器包括两种:类适配器和对象适配器,大多数情况下,对象适配器比类适配器更加灵活,作为组件元素而存在。类适配器收到类继承关系的限制。 适配器模式的优点适配器模式可以让两个没有任何关系的类一起运行 增加类的透明性 提高类的复用性 灵活性高 使用场景想要修改一个已经投产中的接口,主要使...
阅读(166) 评论(0)

Redis的数据管理持久化

一、持久化因为Redis的数据都在内存中,为了使得Redis在重启后仍能保证数据不丢失,需要将数据从内存中以某种形式同步到硬盘中,这一过程就是持久化。 Redis支持两种方式的持久化:RDB方式、AOF方式 1、RDB方式 RDB持久化方式是通过快照完成的,当符合一定条件时Redis会自动将内存的所有数据进行快照并存储在硬盘上。 进行快照的条件可以由用户在配置文件中自定义,由两个参数构成:时...
阅读(206) 评论(0)

Redis进阶-事务管理、消息通知等

1、概述 Redis中的事务是一组命令的集合。事务同命令一样,是Redis的最小执行单位,一个事务中的命令要么都执行,要么都不执行。 熟悉数据库的猿们,都知道事务具有的特性,概括起来就是ACID(原子性,一致性,隔离性,持久性)2、如何使用Redis的事务 redis>MULTI OK redis>SADD “user:1:following” 2...
阅读(245) 评论(0)

测试基础之网站测试

网页需要测试的基本部分 首先建立状态表:不同的网页就是不同的状态 1、文字 检查方式参考测试文档的方式 2、超级链接 超级链接一定要显眼、文字链接一般有下划线,鼠标经过链接会变成手形指针 如果链接打开电子邮件信息,填写并发送,保证能够得到回应。 查找孤页 3、图形 正确载入信息?文字环绕图形,调整浏览器大小,看环绕是否有问题?载入...
阅读(92) 评论(0)

测试基础之测试文档

测试审查提供的软件相关的文档:用户手册等 1、检查项目 1)听众 文档面对同一级别的听众,不低不高? 2)术语 术语适用于所有听众么?用法一致么?使用首字母或其他缩写?是否标准?需要定义么?公司的首字母缩写一定不能与术语完全相同。所有术语可以正确索引和交叉引用么? 3)内容和主题 主题合适么?有...
阅读(240) 评论(0)

测试基础之易用性测试

优秀的UI 符合标准和规范、灵活性、正确性、直观性、舒适性、实用性、一致性 不同的平台具有不同的标准和规范说明书1、符合标准和规范 1)直观性 用户界面是否洁净,不唐突,不拥挤 UI的组织和布局合理么?功能跳转轻松?下一步做什么明显么?任何时候想退出?输入得到承认了么?菜单或者窗口是否深藏不露? 有多余功...
阅读(158) 评论(0)

测试基础之白盒测试

1、正式审查 1)确定问题:找出软件出错的项目、遗漏的项目 2)遵守股则 3)准备 4)编写报告 2、伙伴审查 3、公开陈述 4、检验(最正式的审查类型,资料和文档学习,陈述,记录) 5、编码规范和准则 标题、标准(允许&不允许项)、解释说明、示例 6、通用代码审查清单 1)数据引用错误 指使用...
阅读(95) 评论(0)

测试基础之黑盒测试

产品说明书需求文档 定义软件是什么样的黑盒测试 & 白盒测试静态测试 & 动态测试1、对产品说明书审查2、研究现有的标准和规范3、审查和测试同类软件 软件的规模、复杂性、测试性、质量/可靠性严谨的产品说明书8个重要属性 完整、准确、精确、一致、贴切、合理、代码无关、可测试1、没有产品说明书时,探索性测试,记录软件执行情况,详细描述功能。 2、通过测试和失败测试...
阅读(133) 评论(0)

软件测试基础概念

产品说明书:充分挖掘需求,并表达出功能点,隐性的但必须实现的功能设计方案:架构,数据流示意图,状态变化图,流程图,注释代码,错误提示信息软件缺陷定义: 1、软件没有实现产品说明书宣称的功能 2、软件实现了产品说明书宣称不应有的功能 3、软件执行了产品说明书没讲的操作 4、软件没有实现产品说明书没讲但应该实现的功能 5、从软件测试员的角度来看,软件难于理解,不易使用,运行缓慢,或者最终用户认...
阅读(96) 评论(0)

如何保证Java对象内部属性的不可变状态

很多人看到上面的提问,立刻就会想到 final 关键字。但是却不完全正确。 看如下代码private final int a; private final Date date;示例代码中分别声明了整型的属性a,Date型的属性date,final关键只能确保基本数据类型的值不会变,但是对于Date这样的,非基本数据类型,就需要注意了。注意Date这样的非基本数据类型,在内存分配时是占用两块内存的,...
阅读(893) 评论(0)

Redis常用命令及5种数据类型操作

redis-cli 是Redis自带的基于命令行的客户端连接Redis redis-cli -h 127.0.0.1 -p 6379测试连接是否正常 redis-cli PINGincr key 给key的值+1get key 获取key对应的valuekeys * 返回所有的键启动Redis redis-server –port 关闭Redis redis-cli SHUTD...
阅读(160) 评论(0)

设计模式之建造者模式

基本概念 建造者模式将一个复杂对象的构建与它的表示分离,使得同样的过程可以创建不同的表示。 建造者模式内容 建造者模式一般包含以下内容: AbstractBuilder:抽象接口,用于声明建造某种对象所需要的方法,需要创建哪些部分。 ConcreteBuilder:具体建造者,实现抽象接口,具体实现创建各个部分的方法,并且提供创建完的对象实例。 Director:调度器,用于确定建造对象时...
阅读(100) 评论(0)
28条 共2页1 2 下一页 尾页
    个人资料
    • 访问:4949次
    • 积分:315
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类