![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
0mens
这个作者很懒,什么都没留下…
展开
-
java的知识点
java小白学习collectionboolean add() 增加一个元素boolean remove()删除一个元素int size()返回collection的大小,即元素个素boolean contains()是否包含目标元素boolean isEmpty()判断collection是否为空Iterator iterator()返回一个迭代器boolean containsA...原创 2019-03-18 17:36:17 · 99 阅读 · 0 评论 -
Construction for Reuse
Behavioral subtyping(行为子类型) and Liskov Substitution Principle (LSP)Behavioral subtyping·假设q(x)是关于T类型的对象x的一个可证明的属性,那么q(y)应该是关于S类型的对象y的可证明的,其中S是T的子类型Java中编译器强制的规则:1.子类型可以添加,但不能删除方法2.具体类必须实现所有未定义的方法...原创 2019-06-23 22:38:10 · 85 阅读 · 0 评论 -
Multi-Dimensional Views of Software Construction
Multi-dimensional software views多维软件视图原创 2019-06-24 14:33:11 · 99 阅读 · 0 评论 -
Software Lifecycle and Configuration Management
**Software Configuration Mgmt(SCM)**软件配置管理·SCM的任务是追踪与控制软件中的变化·SCM实际任务是版本控制和建立基线**Software Configuration Items (SCI)**软件配置项·软件配置项是软件配置管理的基本单位,任何需要管理的要素都是软件配置项(源代码、数据、文档、软硬件、环境等)Baselines基线:·基线是在某...原创 2019-06-24 14:39:40 · 113 阅读 · 0 评论 -
Robustness & Correctness
Comparison of Robustness and Correctness原创 2019-06-24 14:43:25 · 191 阅读 · 0 评论 -
Error and Exception Handling
Error handling错误处理是指 编程、应用程序和通信中错误的预测、检测和解决。“Abnormals” in Java所有异常对象的基类都是java.lang。可抛出的,以及它的两个子类java.lang。异常和java.lang.ErrorError and Exception-Error类描 述Java虚拟机内部错误(资源耗尽和系统错误等),多数情况下无需处 理,也无法处理...原创 2019-06-24 15:32:48 · 240 阅读 · 0 评论 -
Concurrency and Thread-Safety
Thread Safety数据类型或静态方法在多线程中执行时,无论如何执行,不需调 用者做额外的协作,仍然能够行为正确,则称为线程安全的行为正确意味着满足规格说明和保持不变性“不管线程是如何执行的”意味着线程可能在多个处理器上,或者在同一处理器上的时间片不能在前置条件中对调用者增加时间性要求还记得迭代器吗?这不是线程安全的。迭代器的规范说明,您不能在遍历集合的同时修改集合(除非使用迭...原创 2019-06-24 18:03:47 · 88 阅读 · 0 评论 -
Memory Allocation
Static mode在程序执行期内 entity至多attach一个运行时对象Entity是指属性、参数、 局部变量和结果等在代码中的名字,其值为对象或对对象的引用该技术在程序加载时或开始时一劳永逸地为所有对象分 配空间(并将它们附加到相应的实体)不支持递归不支持动态创建数据结构Stack-based mode栈是存储方法调用和局部变量的地方。如果一个方法被调用时,其栈帧将在...原创 2019-06-24 20:56:52 · 1408 阅读 · 0 评论 -
Design Patterns for Maintainability
Creational patterns创建型模式Factory method pattern:创建对象时不指定要创建的确切类Abstract factory pattern:将具有共同主题的对象工厂分组Builder pattern :通过分离构造和表示来构造复杂的对象Static Factory Method类允许客户端获取自身实例的通常方法是提供一个公共构造函数。一个类可以为...原创 2019-06-24 22:33:14 · 115 阅读 · 0 评论 -
Maintainability-Oriented Construction Techniques
Grammar-based construction基于语法的结构regular expression正则表达式一种特殊的语法用于处理字符串,进行拆分、信息提取和转换Three Basic Grammar OperatorsConcatenation(连接), represented not by a symbol, but just a space:x ::= y z 含...原创 2019-06-24 23:00:35 · 181 阅读 · 0 评论 -
Metrics and Construction Principles for Maintainability
OO Design PrinciplesSOLID▪ (SRP) The Single Responsibility Principle 单一责任原则▪ (OCP) The Open-Closed Principle 开放封闭原则▪ (LSP) The Liskov Substitution Principle Liskov替换原则▪ (ISP) The Interface Segre...原创 2019-06-24 23:07:17 · 97 阅读 · 0 评论 -
Equality(平等性)in ADT and OOP
Equality operation on an ADT·AF决定了ADT中各操作的实现·可通过AF判定ADT中操作的等价Three ways to regard equality1.Using an AF使用AF作为等价性的定义,我们可以说当且仅当AF(a)=AF(b)时a = b2.Using a relation– Reflexive自反的: E(t,t) ∀t∈T– sym...原创 2019-06-23 21:47:50 · 166 阅读 · 0 评论 -
Object-Oriented Programming (OOP)面向对象编程
Visibility modifiers for members成员的可见性修饰符Inheritance and OverridingInheritance继承是为了代码重用Overriding(覆盖/重写)· 子类 可以重新实现父类中的方法·子类中可以通过super关键字调用父类中被重写的方法· 根据调用时的对象类型决定被调用方法的版本Rewriteable Methods...原创 2019-06-23 21:27:02 · 565 阅读 · 0 评论 -
Abstract Data Type (ADT)
Data Abstraction数据抽象:·一个类型的特征由可对其执行的操作刻画·抽象类型的新颖性和以往不同之处在于对操作的关 注对抽象类型的操作进行分类Creator:产生类型的新对象创建器可以将对象作为参数,但不能接受正在构造的类型的对象Producers:在已有对象 基础上产生新的对象例如,String的concat()方法是一个生成器:它接受两个字符串并生成一个表示它们连接的...原创 2019-06-23 20:19:14 · 1020 阅读 · 0 评论 -
eclipse如何修改字体大小,以及解决注释中文大小不一的问题
修改字体大小:Window → Preferences → General →Appearance → Colors and Fonts→Basic→Text Font→Edit,然后设置字体大小,喜好自己尝试,修改完后点apply and close。解决中文注释大小不一:Window → Preferences → General →Appearance → Colors and Fon...原创 2019-04-07 13:06:25 · 5276 阅读 · 1 评论 -
eclipse如何导入junit
右键需要添加junit的项目→Build Path→config build path→library→addlibrary→junit→junit4→apply and close注:一般都选择junit4原创 2019-04-07 14:18:06 · 2332 阅读 · 0 评论 -
eclipse如何自动生成规格注释
键入/**,然后enter,自动生成规格注释原创 2019-04-08 12:43:25 · 157 阅读 · 0 评论 -
不使用git命令将文件提交到github的分支上
将文件拖到框框中,文件即可上传选择创建分支,在箭头指向的框框中填写分支名,最后提交原创 2019-06-20 23:59:26 · 717 阅读 · 0 评论 -
关于线程锁的一些知识点
线程锁机制:多个线程同时访问共享数据时,会产生某些错误,例如数据不同步。所以使用线程锁是必要的。一般应用于I/O操作较密集或者资源需要保持同步的场景中。使用方法:创建锁:lock = threading.Lock()锁定代码:lock.acquire([timeout])解除锁:lock.release()线程锁保证了资源的同步,但是存在一些缺点,等待的时间加长...原创 2019-06-21 00:12:59 · 125 阅读 · 0 评论 -
Design Patterns for Reuse
Behavioral patterns如何交互和分配责任策略允许在运行时动态选择一系列算法中的一种。Template method将算法的骨架定义为一个抽象类,允许它的子类提供具体的行为。迭代器按顺序访问对象的元素,而不公开其底层表示。Strategy 整体地替换算法Problem: 针对特定任务存在多种算法,调用者需要根据上下文环境动 态的选择和切换。Example: 对客...原创 2019-06-25 07:02:01 · 123 阅读 · 0 评论 -
复杂数据类型
Array数组类型int[]包含所有可能的数组值,但是一个特定的数组值一旦创建,就不能改变它的长度操作类型·索引 indexing: a[2]·赋值 assignment: a[2]=0·长度length: a.lengthList操作类型· 索引indexing: list.get(2)·赋值assignment: list.set(2, 0)·长度length: list...原创 2019-06-23 16:52:48 · 1254 阅读 · 0 评论 -
SPEC
Designing SpecificationMethods: Building Blocks方法的用户不需要知道方法是如何工作的—称 之为抽象Java API documentationAPI:Application Programming Interface,应用程序编程接口Documenting Assumptions定义变量 时声明其类型是一种文档约定(编译器会进行检...原创 2019-06-23 19:16:00 · 168 阅读 · 0 评论 -
Testing and Test-First Programming
Black-box testing黑盒测试是一种软件测试方法,它检查应用程序的功能,而不检查其内部结构或工作方式黑盒测试试图在以下类别中发现错误:-(1)不正确或缺失的函数,-(2)接口错误,-(3)数据结构或外部数据库访问中的错误,-(4)行为或性能错误,-(5)初始化和终止错误黑盒测试 的测试用例是围绕规范和需求构建的,即应用程序应该做什么。测试用例通常来自软件的外部描述,包...原创 2019-06-24 23:58:12 · 236 阅读 · 0 评论