自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 软件工程基础

2017-2-3软件开发最初始是规模较小的程序,编写者和使用者是同一个人。 软件工程面对的问题:1、产品很多时候根本不是用户想要的。2、开发成本和进度难以估计。前期的估算到后期演变为指数级都常见。为了时间或成本进度而权宜之计常常影响产品质量。3、软件产品的质量靠不住。软件质量保证技术如审查、测试因为主观或客观原因没有完全运用。4、软件常常是不可维护的。缺乏乏文档资料。

2017-02-11 16:38:47 5183

翻译 13字符串-Java编程思想

字符串操作是程序中最常见的行为。String对象是不可变的,看起来在修改对象的实际上都是创建了一个全新的对象。对象具有可读性。重载操作符:操作符在用于特定的类的时候,被赋予特殊的意思。String的+,+=是java中仅有的重载操作符,java不允许程序员重载操作符。关于String,StringBuffer,StringBuilderString是定长的,是不可变

2016-09-15 01:20:37 553

翻译 String2

1、重载"+"重载操作符:操作符在用于特定的类的时候,被赋予特殊的意思。String的+,+=是java中仅有的重载操作符,java不允许程序员重载操作符。2、String,StringBuffer,StringBuilderString是定长的,是不可变对象,每次对String对象进行改变长度的操作实际都是生成了新的对象。对StringBuilder与StringBu

2016-09-14 22:33:13 660

翻译 杂糅-assert断言

assert 是断言, 用的最多的就是测试了,譬如单元测试。断言看作是异常处理的一种高级形式。spring源码里用的比较多,比如利用cookie自动登录时,cookie保存了用户名,和密码,这个cookie就只有两个元素,我断言一下,如果取到的对应的cookie里的对象的元素不是两个,那么直接抛异常,或者不往下处理了。assert关键字语法很

2016-09-14 22:31:32 284

翻译 杂糅-数据库级联关系

实际上无论是多对一,一对多,多对多,还有一对一。最底层的实现的本质就是外键关系,外键怎么处置,放谁中。一对一基本是单向的,不需要双向,双向的话为什么不放在一张表里呢。一对多多对一关键还是多的一方拿到一的外键。不要双向设置,级联关系太乱。多对多,有一种多对多的实现方式是在多的两端设置,实际上最后还是形成了第三张表,不如通过我适应的实现方式,一对多的形式组合。具体是一对多还是一

2016-09-14 22:30:45 1160

翻译 杂糅-mock测试

mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。这个虚拟的对象就是mock对象。mock对象就是真实对象在调试期间的代替品。使用mock对象测试的关键步骤:使用一个接口来描述这个对象 在产品代码中实现这个接口 在测试代码中实现这个接口 在被测试代码中只是通过接口来引用对象,所以它不知道这个引用的对象是真实对象。还是mock对象

2016-09-14 22:30:07 269

翻译 杂糅-反射

java程序运行过程:class文件被classLoader将其load到codeSegment中,运行环境找到main函数开始执行。动态加载机制,将会有很多class被load。jdK的classloader有很多种,jdk内置的bootstrap class loader加载最核心的类,用c等操作系统本地语言来写。jdk内置的extesion class loader。

2016-09-14 22:29:19 293

翻译 杂糅知识2

Jdbc面向对象的应用程序接口,制订了一组访问各类关系型数据库的标准接口。使用纯java语言和标准的sql语句编写完整的数据库应用程序。Jdbc操作不同的数据库仅仅是链接方式不同。Jdbc的四个步骤:与数据库建立连接,向数据库发送sql语句,处理sql,将处理结果返回应用程序—{jdbc api-jdbc驱动管理器-数据库驱动程序}---数据库程序加载不同的数据

2016-09-14 22:27:37 390

翻译 杂糅知识

Uml在软件不同阶段的应用:一、需求分析阶段:搞清楚用户的想法,uml用例图。对于外部的用户角色和他们所需要的系统功能进行建模。与用户的功能确认,QA人员的功能review,测试用例。二、系统分析阶段:考虑所要解决的问题,可用uml的逻辑视图动态视图,类视图描述静态结构,协作图状态图序列图活动图状态图描述系统的动态特征。只对问题领域的类建模,不对于具体细节分析。三、系统

2016-09-14 22:27:01 261

翻译 后端杂烩

Servlet技术可以将http请求和响应封装在标准的java类中实现各种web应用方案。Jsp(java server page)在html页面中添加java程序段(scriptlet)和jsp标记(tag)形成jsp。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问

2016-09-14 22:25:19 248

翻译 Object类

任何类都是继承object类。Object类提供equals方法,源码如下:public boolean equals(Object obj) {return (this ==obj);}实际上就是判断两个比较的是不是指向同一个内存空间。String s1 = new String(“kvill”),String s2= new String(“

2016-09-14 22:24:22 181

翻译 Spring1

http://spring.io/guides/tutorials/bookmarks/http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.htmlhttp://projects.spring.io/spring-framework/http://projects.spring

2016-09-14 22:20:13 249

翻译 技术指标

网龙工作要求:1、负责完成产品服务端框架代码开发;2、参与系统安全性、可用性、扩展性、稳定性等方面提出解决方案;3、对软件需求进行分析,细化系统相关的接口或协议的定义。1、本科及以上学历,计算机相关专业;2、3年以上开发经验,有B/S项目的设计、分析、架构经验者优先;3、理解OOP、OOA,了解SOA架构设计,了解设计模式、代码重构;

2016-09-14 22:14:45 581

翻译 TCP/IP 教程

TCP/IP 是因特网的通信协议。TCP/IP 通信协议是对计算机必须遵守的规则的描述,只有遵守这些规则,计算机之间才能进行通信。浏览器与服务器使用 TCP/IP 协议来链接因特网。浏览器使用 TCP/IP 协议进入服务器,服务器使用 TCP/IP 协议来发送 HTML 到浏览器。TCP/IP 是供已连接因特网的计算机进行通信的通信协议。TCP/

2016-09-14 22:02:11 590

翻译 HTTP协议

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP 工作原理HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端

2016-09-14 21:54:07 230

翻译 16数组-Java编程思想

对数组的理解:可以通过整型索引访问,尺寸不能改变。数组相对于容器而言,效率最高的存储和随机访问序列的方式。代价就是大小被固定,并在生命周期中无法改变。最大的优势在于效率。public class ArrayMultidimensionalTest { //多维数组 public static void main(String args[]){ int

2016-09-11 17:10:19 664

翻译 11持有对象-Java编程思想

Java提供一套相当完整的容器类来存储数量不确定的对象。集合类:list,set.queue,map。通过使用泛型,可以在编译器防止将错误类型的对象放置到容器中去,在取出的时候也会帮忙转型。Collection,一个独立元素序列。List按照插入的顺序保存元素,set不能有重复的元素,Queue按照队列的规则确定对象顺序。Map键值对,允许用键来找值。HashSet\Tre

2016-09-10 15:47:08 280

翻译 5初始化与清理-Java编程思想

随着计算机革命的发展,不安全的编程方式逐渐成为编程代价昂贵的因素。通过提供构造器,可以保证每个对象都得到初始化。在static方法内部是没法调用非静态方法的,但是非静态方法是可以调用static方法的。static像全局方法一样,不被对象调用,被类调用。数组是相同类型的用一个标识符名称封装在一起的对象序列或基本类型数据序列。public class ArrayTest

2016-09-09 14:41:16 258

翻译 产品学习技术路线

朋友需要。备份防止以后再有同样的事情发生。技术方向分为前端和后端。前端负责显示,实际对于核心的逻辑并没有涉及,个人以为研究后端意义更大。后端实现有各种语言,对于app,网站等,主流是java.向来搞Java搞PHP都有各种梗,诸如PHP是世界上最好的语言之类。总的来说,搞Java的研究差不多了,想搞PHP,分分钟。到了一些高端的位置,如数据挖掘,分布式集群,PHP基本没啥出场机会了。但

2016-09-07 15:29:56 1081

翻译 11持有对象-Java编程思想

Java提供一套相当完整的容器类来存储数量不确定的对象。集合类:list,set.queue,map。通过使用泛型,可以在编译器防止将错误类型的对象放置到容器中去。Collection,一个独立元素序列。List按照插入的顺序保存元素,set不能有重复的元素,Queue按照队列的规则确定对象顺序。Map键值对,允许用键来找值。HashSet\TreeSet\LinkedHa

2016-09-03 21:04:21 257

翻译 9接口-Java编程思想

你不能总是用纯接口,抽象类也是重要的工具。包含抽象方法的类叫抽象类。抽象类中不一定有抽象方法,但是有了抽象方法一定要被定义为抽象类。如果抽象类中不含有任何的抽象方法,那么就是为了阻止产生这个类的任何对象。接口interface更加极致,产生一个完全抽象的类,允许创建者确定方法名,参数列表和返回类型。没有任何方法体。极度抽象的类。遵循接口的实现需要使用implements关键字。

2016-09-03 20:08:28 297

翻译 8多态-Java编程思想

面向对象的三大特征:数据抽象,继承和多态。多态又名动态绑定,后期绑定,运行时绑定。C语言是前期绑定,Java除了static方式和final方法都是动态绑定。使用final就是声明关闭动态绑定。将接口与实现分离开来,改善代码的组织结构和可读性,创建可扩展的程序。封装通过合并特性和行为来创建新的数据类型。实现隐藏则通过将细节私有化,把接口和实现分离开来。多态的作用

2016-09-03 17:04:12 173

翻译 7复用类-Java编程思想

复用主要有两种形式:组合和继承。新的类是由现有的类的对象组成;用现有类的形式添加新代码。 对于继承需要额外注意的是,子类继承了父类,当new子类的时候,父类的构造器会被调用。判断是使用组合还是继承的时候,思考是否需要从新类向基类向上转型。final关键字:通常指的是这是无法改变的。不想改变出于两个目的:设计和效率。final数据:很多编程语言都有某种方法,来向编辑器

2016-09-03 15:31:27 272

翻译 4控制执行流程-Java编程思想

本章节介绍了基本的if-else,do-while,for,foreach,break,continue,switch,用法,没有花费太多时间停留,毕竟驾轻熟路。goto在Java中是保留字,但是没有使用。Java可以使用标签。由于平时用得少没有额外花时间,需要注意的地方是,标签的使用场景是由于有循环嵌套的存在,而且想从多层嵌套中break或continue。

2016-09-02 21:22:39 282

翻译 3操作符-Java编程思想

基本数据类型的赋值中,基本类型存储了实际的数值并非是对象的引用。类型转换cast:在适当的时候,Java会将一种数据类型转化为另外一种数据类型。

2016-09-02 21:06:07 160

翻译 2一切都是对象-Java编程思想

一切都是对象。创建引用和与对象关联。String s=new String("Hello World");new 创建对象。数据存储位置:1寄存器,位于处理器内部,最快的存储区,数量有限。不由程序员控制,C、C++语言允许程序员建议寄存器的分配方式。2堆栈,位于ram(随机访问存储器)速度仅次于寄存器,堆栈的指针上下移动释放和收回内存。3堆,同样位于ram,用于存放所有的Java对

2016-09-02 20:27:38 404

翻译 1对象导论-Java编程思想

所有的编程语言都提供抽象机制。人们解决问题的复杂性直接取决于抽象的类型和质量。汇编语言的抽象层次是对底层机器的轻微抽象。命令式语言如c,basic都是对汇编语言的抽象。它们主要的抽象要求解决问题仍要基于计算机的结构。程序员必须建立机器模型和实际问题之间的关联。建立这种映射关系昂贵复杂。另外一些语言是对针对待解问题建模,对特定的问题能表现优秀,超出范围力不从心。面向对象不会受限于特定类型的问

2016-09-02 19:31:45 353

翻译 mysql数据库基础知识

朋友需要,今天整理的速成的。有了orm数据库crud忘记的干干净净==。类型属性:◦ZEROFILL–适用于所有数值类型数据数据列–作用:如果数值的宽度小于定义的显示宽度,则在数值前填充 0◦UNSIGNED–作用:不允许数据列中出现负数,无符号型◦AUTO_INCREMENT  自增长◦NULL/NOT NULL–作用:控制数据列的值是否为空

2016-07-27 20:29:01 6593

翻译 设计模式—工厂模式

new创造对象的方式实际本质是面向实现编程,不是面向接口编程。代码绑着具体的实现会使代码更加脆弱。工厂模式解决的一般是对象的实例化问题。把new的放在代码中,不利于拓展维护。变化的部分和不变的部分。类的具体实例化抽出来,放置在一个类中。维护扩展运行。耦合程度降低。简单工厂模式:定义一个创建对象的类,由这个类封装实例化对象的行为。把原来的代码取出来封装。对象的实例化放在主程序中,依赖

2016-07-12 23:36:28 151

翻译 设计模式-装饰者模式(问题比较大,需要重新处理)

设计原则:类应该对扩展开放,对修改关闭。在不修改现有代码的情况下,拓展,搭配新的行为。设计更加弹性应对改变,可以接受新的功能应对改变的需求。遵循开放关闭原则会引入代码抽象层次,增加代码的复杂度。我们的注意力是在于设计中最有可能发生改变的地方,然后应用开放关闭原则。装饰者模式:动态的将责任附加到对象上。若要扩展功能,装饰者提供比继承更有弹性的方法。待更新。。

2016-07-10 00:31:53 464

翻译 Android基础-6

碎片Fragment是一种可以嵌入在活动当中的ui片段。使程序更加合理和充分的使用大屏幕的空间。在平板上使用得广泛。在一个网络范围内,最大的ip地址是保留作为广播地址来用的,如果某个网络的ip地址是192.168.0.xxx,子网掩码是255.255.255.0,那个广播地址就是192.168.0.255.广播数据包会发送到同一网络的所有端口。即该网络中的每一台主机都会收到这个广播

2016-07-09 16:47:59 247

翻译 Android基础-5

FrameLayout没有位置概念。好处在于,运行效率高。LinearLayout,子元素一个个接一个排布。水平排布和垂直排布。RelativeLayOut,相对布局,子元素相对于其他子元素排布。TableLayOut,是水平方向和垂直方向的LinearLayOut的混合。使用可视化编辑工具不具有很好的屏幕适配性,编写复杂的页面时候,使用可视化的编辑工具也难以胜任。

2016-07-09 16:47:24 220

翻译 Android基础-4

Intent,一个与基本组件相关联的数据对象。Intent指定要开辟的目标组件。IntentFilter用于过滤。Intent是安卓程序的组件间进行交互的一种方式。不仅仅可以指定当前组件想要执行的动作还可以传递数据。Intent一般用户启动活动,启动服务,发送广播等场景。关于隐式Intent的使用,并不去明确的指定启动哪一个活动,而是指定更为抽象的action和category

2016-07-09 16:46:46 193

翻译 Android基础-3

在新建安卓应用的时候,minimum required sdk程序最低兼容版本。Target sdk指在该目标版本上已经做过了充分的测试,系统不会再这个版本上做向前兼容了。Compile with程序使用哪一个版本进行编译。DDMS DalvikDebugMonitorServiceDalvik虚拟机调试监控服务。Src存放源码。Gen目录中的内容是自动生成的,有一个R.j

2016-07-09 16:46:12 239

翻译 Android基础-2

我们平时打开一个应用程序,一般是通过桌面的应用程序图标双击或单击系统开始菜单中应用程序的菜单链接,无论是桌面的快捷图标还是菜单链接都包含了应用程序的安装位置信息,打开它们的时候系统会按照这些位置信息找到安装目录然后启动程序。当要求系统启动一个应用程序时,系统会先在当前目录下查找,如果没有则在系统变量Path指定的路径去查找。前面我们说了JDK包含了一堆开发工具,这些开发工具都在JDK的安装

2016-07-09 16:45:22 179

翻译 Android基础-1

Android分为4层架构:1lilux内核层。为安卓设备的硬件提供底层驱动,如显示驱动,音频驱动,照相机驱动,蓝牙驱动。2系统运行库。通过c/c++库为安卓系统提供主要特性支持,如SQLite提供了数据库支持,WebKit库提供浏览器内核支持。同时在这一层还有安卓运行时库,主要提供一些核心库,允许开发者编写java编写安卓应用。安卓运行库包含Dalvik虚拟机,使得每一个安卓

2016-07-09 16:44:09 285

翻译 git相关

在linux系统下,以.开头的文件或者目录默认是隐藏的。使用ls-a命令显示隐藏文件或者目录。Git分布式项目控制,svn集中式版本控制。Git只记录txt文本的变化,不记二进制文件。Word是二进制文件。Git管理的是修改而不是文件。Pwd显示当前路径地址。cat wan.txt显示文本内容。viwan.txt进入某文本以vi进行修改

2016-07-09 16:42:05 153

翻译 Maven基础

maven:服务于基于java平台的项目构建,依赖管理和项目管理信息。maven是跨平台的。maven对项目目录结构、测试用例方法提供了成熟的规则。约定优于配置。总结:1自动构建工具,抽象构建的生命周期。构建方面:清理,编译,测试到生成报告,打包和部署。2依赖管理,提供中心仓库。引入经纬确定每一个构件artifact。3良好的测试集成。 mave

2016-07-09 16:39:09 179

翻译 设计模式-观察者模式

设计原则:实现对象之间的松耦合,交互对象彼此无需知道彼此实现细节。能应对变化,因为彼此的依赖降低到了最低。另一个例子:订报。有两个角色,报社和订户。报社为主题对象,而订户为观察者。当报社有新的报纸产出(数据变化),会发送消息给相应的订户。如果订户接收,则接收报社的投递。如果订户不接受,则不接受报社的投递。松耦合:两个对象可以相互交互,但是不清楚彼此的实现细节。观察者模式:主体只知道

2016-07-07 18:11:15 241

翻译 设计模式-策略设计模式

设计模式让开发者有共同语言。大部分的设计模式着眼于软件变化的主题,允许系统局部改变独立于其他部分。把系统的变化的部分封装。策略模式:?定义一系列算法,分别封装,让它们可以相互替换。算法的变化独立于使用算法的客户。?原则:封装变化;多用组合少用继承;针对接口编程而不是根据实现编程。面向对象原则:可扩充,可复用,可维护。面向对象基础:抽象,多态,继承,封装。

2016-07-07 01:14:07 262

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除