- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 设计模式
模式:避免重复使用问题,提出的解决方案分类:架构模式:指一个软件系统整体的组织结构。是从宏观角度看待问题设计模式:是从微观的角度来看待软件开发中的问题。创建型设计模式:关注对象创建的过程,描述如何创建一个对象工厂方法(Factory Method)抽象工厂(Abstract Factory)单例模式(Singleton)原型模式(Prototype)建造模式(Builder)结...
2018-10-29 18:16:52
201
原创 OOAD
软件危机<60年代>(特征):1) 软件开发周期无法确定2) 软件开发成本越来越高,甚至无法控制3) 产品质量不高,产品的功能无法满足客户的需求,项目容易失败4) 当时程序员的技术,沟通能力等相关能力参差不齐,导致产品质量不高5) 软件产品维护困难,(例如:程序员的技术以及个人习惯等因素)6) 当时软件开发,不注重文档,软件缺少适当的文档资料软件开发中,经典开发步骤:瀑...
2018-10-28 22:41:48
203
原创 XML
XML(可扩展标记语言)全称:可扩展含义:允许程序员按照自己的想法去扩展新的标签,但扩展的时候,必须遵循XML规范XML特点:1、 自带描述性2、 可以支持跨平台3、 保留面向对象编程的层次感语法:1、 头,也被称之为序言(包含文档声明,注释,空白)XML文档声明由“<?xml”开始,以“?>”结束 <?xml 内容 ?>XML文档注释以“”...
2018-10-24 20:40:52
415
原创 MySQL
流程控制语句IF语句if 条件表达式 then sql语句集end if但分支ifif 条件表达式 then sql语句集else sql语句集end if多分支ifif 条件表达式 then sql语句集elseif 条件表达式 then sql语句集[else sql语句集](可选项)end ifcase 语句语法case ...
2018-10-17 19:05:15
270
原创 MySQL
内连接使用linner join on 实现内连接Select 列名列表 from 表1 inner join 表2 on 表1.列名 = 表2.列名外连接左外连接:用法:left outer join 或 left join (outer可省略)Select 左表列名 as 别名 , 右表列名 as 别名 from表名(左) left oute...
2018-10-16 21:27:39
513
原创 SQL
修改数据的完整性实现唯一约束Alter table 表名 add unique(列名);刪除唯一约束Alter table 表名 drop index 索引名;查看表信息Show create table 表名\G;创建索引:Create index 索引名 on 表名(列名);刪除索引Alter table 表名 drop index 索引名;实现非空...
2018-10-11 19:53:18
231
原创 MySQL
SQL(结构化查询语言)组成:DDL(Data Definition Language)(数据定义语言)DML(Data Manipulation Language)(数据操作语言)DQL(Data Query Language)(数据查询语言)DCL(Data Control Language)(数据控制语言)数据库数据类型:整数型:TinyInt(1字节)、Smal...
2018-10-10 20:28:49
169
原创 IO
字节流低级字节流对二进制文件进行读写操作的FileInputStream和FileOutputStream类,其数据源是磁盘文件对内存缓冲区中的字节数组进行读写操作的ByteArrayInputStream和ByteArrayOutputStream类,其数据源是内存中的字节数组高级字节流缓冲流:包括BufferedInputStream 和 BufferedOutputStream打...
2018-10-09 19:00:48
170
原创 IO
流是具有流质(数据)、方向的一个抽象管道,用于数据交互分类:1、按方向:输入流:把外部文件向程序里边输io包中的输入流都继承自抽象类InputStream或Reader输出流:把程序里边文件向外输io包中的输出流都继承自抽象类OutputStream或Writer2、按流的数据单位:字节流:是以byte为最小单位进行数据传送io包中的字节流都继承自抽象类InputStream或O...
2018-09-29 18:45:03
237
原创 集合
HashMap底层是数组+单向链表的结构,数组用于存放键的hash值,链表用于存放K-V结构数组构成了HashMap中的Hash表,表的大小默认是16,可以存放的数据是16加载因子0.75。当超过160.75个数据时,Hash表将自动扩容,扩容后大小是16*2^nHashMap中,如果是我们自定义的类的对象,作为键的时候,必须要重写hashcode()和equals()当然上层的HashSe...
2018-09-28 17:44:39
168
原创 集合框架
List是一个有序的,且存放元素可以重复的集合ArrayList底层是基于数组结构的集合,使用数组的复制,来完成集合的扩容或缩容ArrayList、LinkedList、Vector 三者均是List实现类,都可以代表有序,重复集合但是,ArrayList 底层是基于数组结构来实现的,查询数据较快,操作数据较慢LinkedList 底层是基于链表结构来实现的,操作数据上较快,查询数据较...
2018-09-27 18:49:07
142
原创 线程
Synchronized 修饰对象时,对象可以是自身的,也可以是其他对象Synchronized 如果用于修饰对象的话,表示开启对象本身的对象锁,当多根线程同时访问该对象,谁抢到了该对象锁,谁就可以访问该对象Synchronized 也可以来修饰成员方法,同样开启“自身对象”的对象锁Synchronized 还可以修饰类对象,修饰类对象时,开启的是Class对象的对象锁如...
2018-09-27 08:56:56
195
原创 线程(一)
线程一个进程里产生的多个任务称为线程(每个任务是一个线程)特点:动态性、独立性、并发性并发:同一时间,CPU交替运行每个任务并行:同一时间,CPU同时运行多个任务线程(基本执行单位)进程(系统分配的基本单位)指一个程序开始运行(例如:打开一个游戏)进程不执行任务,而是线程用来执行任务线程是执行在进程内部的线程实现的第一种方式:继承Thread类(这种方式不被推荐)重写run...
2018-09-25 20:03:26
201
原创 反射、类加载(三)
在JAVA中,对象实际上代表现实生活中的一些数据,或者是数据的表示。数组的根,依旧是Object对象,但是从定义上来说,数组却又不是一个类,只是它根类都继承了Object探究某个类中的属性Fieldc.getFields()只能获得此Class类的公共属性c.getDeclaredField()获得此Class类的所有的属性(包括私有)探究某个类中的方法Meth[ ] meth =...
2018-09-22 10:38:43
187
原创 反射、类加载
类的加载机制类加载:将我们 .java文件编译后的 .class 文件中二进制代码加载到内存中,这个过程,叫做类加载类的生命周期加载→查找并加载类的二进制数据加载又分为3个步骤:1、 根据类的全限定名(包名+类名)类获取二进制字节流2、 将类中的所有的静态数据的存储结构转化到方法区(方法区也是堆)中,作为程序运行时所需的数据结构。方法区中放置更多的是跟类相关的数据那些数据与类相关?...
2018-09-20 19:03:33
178
原创 常用类
包装类JDK1.5之后,包装类和基本数据类型之间,可以完成自动“拆/装箱”Integer、Byte、Short、Long、Float、Double,这些类包装类都是Number类的子类而Number类的父类是Object类;另外一组是Character和Boolean类,这两个类的父类都是Object类在使用包装类时,必须注意:所有的包装类都是final类型,不能创建它们的子类。包装类...
2018-09-19 20:56:58
153
原创 常用类
//获得系统当前时间,根据时间差,反向推测出当时的时间Date date = New Date()或date.detTime()//得到某一个时间,距1970-01-01的时间差System.out.println(date.detTime());默认情况下,日期输出的格式是格林尼治时间 EEE MM dd HH:ss zzz yyytoGMTString //格林威治时间 ...
2018-09-18 19:20:34
247
原创 系统相关类
系统相关类System(运行平台)Runtime(运行环境)Java.lang包含一些JAVA语言的核心类,如:String、Math、Integer、System……,提供常用功能Java.awt包含了构成抽象窗口工作集的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)Java.net包含执行与网络相关的操作的类Java.io包含能提供多种输入/输出功能的类J...
2018-09-17 21:24:27
286
原创 异常处理
Finally 关键字 主要使用在try-catch 语句块中,而且,不论异常是否发生,finally 语句块总是会执行的,此语句块可用来执行清理类型的语句,做一个程序的收尾工作用户自定义异常: 所有的异常必须是Throwable的子类; 如果我们想编写一个可以自动被异常处理或声明规则强制的检查异常,就需要继承Exception类; 如果想编写一个运行时异常,就需要继承Runtim...
2018-09-15 20:41:12
181
原创 异常处理
异常分类 检查异常:也被称之为“编译时异常”,由编译器检查出来的异常 运行时异常:编译器无法检查出,只有在程序运行时,抛出的异常,才是运行异常 错误:错误实际上已经脱离了“异常”的范畴,因为程序员无法通过修改代码来解决问题。例:内存不足……异常处理方式: 1、 方法本身直接捕捉异常,不让这个“异常”不让这个“异常”对象沿着方法调用栈,继续向下传递 2、 方法本身直接捕捉异常,...
2018-09-13 18:05:26
163
原创 接口
使用接口的原则 使用接口解决多继承 使用接口为外部类添加功能 以面向对象的角度考虑将一个类与生俱来的特征和行为和依赖于外部的可选的特征和行为分离,让类尽可能的丰富,让我们在程序设计的时候,不在关注具体的类,而是分离关注类上拥有哪些接口所定义的能力,从而做到程序设计时,类类的直接关系,变换为类—接口—类,这种变换关系,也被称之为“解耦”。接口的优点 将设计和实现分离,(调用者)隐藏了...
2018-09-12 18:06:51
315
原创 多态与抽象
动态多态技术基础 向上转型 引用数据类型转型,只能发生在父子之间。不能指鹿为马 子类和子类之间,不是父子关系,不能相互转换 为什么父类的引用,可以指向子类的实现? 因为子类的实例中,一定拥有一个完整的父类的所有的值数据 引用数据类型向上转型,是指子类向父类转型,这个编译器会自动识别,能自动转换成功,原因是:父类的范围>子类的范围向下转型 引用数据类型,向下转型是有风险的...
2018-09-11 18:03:34
235
原创 JAVAOO
访问修饰符,描述定义在类中的属性和行为在什么情况下允许被访问 作用:限制属性和方法被使用和调用的范围 分类: 私有的(private)适用于本类 默认:适用于同包 受保护的(protected)适用于同包、非同包子类 公开的(public)适用全部范围封装 组装:类的属性、行为 隐藏:体现在访问修饰符的不同 优点: 1、 类的成员变量可以成为只读或只写 2、 类可以对...
2018-09-07 15:19:34
288
原创 类的高级概念
封装: 用于组装类的属性和行为,并且通过访问修饰符以及方法的包装来类的成员的方式 是oop的四大特征之一优点: 1、 类的成员变量通过访问器和修改器进行控制,可以是只读或只写,不再是外部可以任意操作 2、 类可以通过对方法的控制,完成对成员变量的内容的整体控制,比如:输入口令(XXXXXXX),只有在输入正确的情况下,才可以进行访问 3、 类还可以改变一个成员变量的数据类型...
2018-09-05 18:34:34
190
原创 继承2
子类可以重写从父类继承的方法,从而允许子类添加或者改变父类中方法的行为。这称为方法重写“==” 代表,如果两边的数据类型是基本数据类型,那么之间比较值是否相等,如果两边的数据类型是引用数据类型,那么比较的是引用是否相等Equals() 默认情况下,调用的是Object.equals(),这个方法比较的是对象的引用是否一致,但是在某些特殊的业务场景中,我们可以重写该方法 Supre(...
2018-09-04 21:33:14
185
原创 继承
在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式称为继承(Inheritance)。引用的东西不是对象所在地址本身,而是对地址进行一系列处理之后得到的一个哈希值继承是类和类之间的继承 每个子类只能有一个父类,保证类的结构层次结构更加清晰使用继承,当需要一个新类型时,通过继承父类编写一个新的子类。这样,已经写好的代码就不用再修改了。...
2018-09-03 20:47:20
146
原创 JAVA
没有地址引用的对象称为匿名对象编译、解释。两种方式只是翻译的时间不同 编译型语言写在程序执行之前,需要一个专门的编译过程,把程序编译成为特定硬件平台或操作系统平台的机器语言的文件,但是,不能跨硬件或操作系统平台。 解释则不同,解释型语言的程序不需要编译,省了道工序。解释性语言在运行程序的时候才翻译,可以做到跨平台。当实际参数传递给形式参数时,实际参数的数据被复制给形式参数。当一个类...
2018-09-01 13:31:25
143
原创 数组
数组是存储在一个连续的内存块中的元素集合。数组中的每个元素必须是相同的数据类型,并且通过索引进行区分。数组中的第一个元素的索引为0。为什么用数组 单一值类型变量有时候很难满足应用程序的设计要求。 数组类型变量可以同时存储多个类型基础数据类型变量或对象。数组声明方式,根据其他的引用数据类型声明变量一模一样特点: 1.数组中间只能存放相同类型的数据 2.数组定义好之后,内存中元...
2018-08-30 19:43:37
139
原创 JAVA
构造器 作用:产生对象 语法特点:没有返回类型(连void都没有),方法名必须和类名相同 构造器可以不写,编译器会自动为我们生成一个公共的无参的构造器构造器产生对象的步骤: 1. 如果其他程序使用new构造器()调用构造方法,那么构造器就会去内存中申请内存空间(对象那么大)用于存放对象 2. 去申请的内存空间中,为属性分配对应的存储空间 3. 对属性进行初始化 4. ...
2018-08-29 18:42:01
177
原创 今日掌握
实际参数如果是数据基本类型,和String类型,在被调用的方法内部针对形参做任何改变,实际参数所对应的变量都不会变 但如果是其他引用数据类型,在被调用的方法内部针对形参做改变,实际参数也会跟着改变 方法调用栈遵循先进后出规则。 每个对象可以使用this关键字引用它本身。如果一个类的方法需要访问该类本身的成员变量或其它方法,就应该使用this引用。使用import关键字导入其它包中的类...
2018-08-28 18:36:36
192
原创 学习总结
“i++ i– ++i –i”在不参与计算表达式时,仅表示i的自增自减 当参与计算表达式时: “i++ i–”i先参与表达式计算,然后自身在进行增减 “++i –i”i自身先进行增减,在参与到表达式运算中能作为变量类型得有:char、byte、short、int(jdk1.7以后,还允许string作为变量类型)布尔逻辑指将两到多个布尔表达式组合为单个布尔表达式。 表...
2018-08-23 21:14:40
179
原创 学习总结
JAVA注释分为三种,分别是: 单行注释:用两个正斜线“//”注释掉斜线后的同行文本。 多行注释:“/”和“/”符号用于多行代码的注释。用“/”打开注释,“/”关闭注释。所有在二者之间的文本都会被注释掉。 JavaDoc注释:“/*”和“/” 是一对特殊类型的注释符号,用于与javadoc工具一起生成包含注释的HTML文件。这些生成的HTML页面与Java代码一起提供给程序员,以帮助程序...
2018-08-22 21:19:57
147
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅