自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

li1060849458的博客

专门解答java理论知识

  • 博客(44)
  • 收藏
  • 关注

翻译 《java工具类collections,arrays》

集合的工具类:collectionsCollections与collection的区别:collection是一个单列集合的根接口,collections是操作集合的工具类Collections常用的方法:1. 对list集合进行排序Sort() 集合升序排序,如果集合储存都是不具备自然顺序的元素,那么排序需要传入比较器2. 对list进行二分查找binarySearch() 查找元素在集合中的索...

2018-03-01 22:30:05 261

翻译 《集合详解之map》

Map接口集合类,具备的特点,储存的数据结构都是以键值对的形式存在的,键不可重复,值可以重复。添加put() 如果之前没有存在该键,那么就返回的是null,如果之前就已经存在该键了,那么就返回该键之前对应的值Putall() 把一个集合添加到另外一个集合中去删除Remove() 根据键删除一条map中数据,返回的是该键对应的值 Clear() 清空集合中的所有元素获取Get() 根据指定的键获取对...

2018-03-01 22:28:15 186

翻译 《java泛型》

泛型是jdk1.5的特性泛型的好处:1. 将运行时的异常提前至了编译时。2. 避免了无谓的强制类型转换。泛型注意事项:泛型没有多态的概念,左右两边的数据类型要一致,或者是写一边的数据泛型。自定义泛型:自定义泛型就是一个数据类型的占位符或者是一个数据类型的变量方法上自定义泛型:格式修饰符 <声明自定义泛型> 返回值类型 函数名(使用自定义泛型...){}Public <T>T...

2018-03-01 12:43:50 179

翻译 《集合详解之set》

Hashset无序:是添加元素的顺序与元素出来的顺序是不一致的。Hashset实现原理:往hashset添加元素的时候,hashset会先调用的hashcode方法得到元素的哈希值,然后通过元素的哈希值经过移位等运算,就可以算出该元素在哈希表中的存储位置。如果算出存储位置分两种情况:情况一:如果算出元素储存位置目前没有任何元素存储,那么该元素可以直接存储到该位置上情况二:如果算出该元素在储存位置目...

2018-03-01 11:42:34 232

翻译 《集合详解之list》

集合集合:集合是存储对象数据的集合容器集合比数组的优势:1. 集合可以存储任意类型的对象数据,数组只能储存同一种数据类型的数据2. 集合的长度是会发生变化的,数组的长度是固定的Collection单例集合的根接口List:如果是实现了list接口的集合类,具备的特点:有序,可重复Set:如果是实现了set接口的集合类,具备的特点:无序,不可重复增加Add() 添加成功返回true,添加失败fals...

2018-03-01 10:02:03 159

翻译 《线程,死锁,守护线程》

自定义线程进程:正在执行的程序称作为一个进程,进程负责了内存空间的划分多线程:在一个进程中有多个线程同时在执行不同的任务Main主线程:任何一个java程序,jvm在运行的时候都会创建一个main线程执行main方法中所有的代码Java应用程序中至少有几个线程:至少有两个线程,一个是主线程负责main方法代码的执行,一个是垃圾回收器线程,负责了回收垃圾。多线程的好处:1. 解决了一个进程能同时执行...

2018-02-28 19:38:57 156

翻译 《system,date,math》

System方法:Currenttimemillis() 获取系统当前时间Exit(int status) 退出jvm 如果参数是0表示正常退出jvm非0表示异常退出jvm,注意0或者非0都可以退出jvm虚拟机。Gc() 建议jvm赶快启动垃圾回收器回收垃圾Finallize() 如果一个对象被垃圾回收器回收的时候,会先调用对象finallize()方法Math类date类Date类:Calend...

2018-02-28 16:00:09 153

翻译 《java包权限》

导包语句包的作用:1. 解决类名重复产生冲突的问题2. 便于软件版本的发布定义包的格式:Package 包名包命名规范:全部小写包语句要注意的事项:1. package语句必须要位于java文件中第一个语句2. 如果一个类加上了包语句,那么该类的完整类名就是:包名.类名3. 一个java文件中可以有多个包4. “*”可以匹配任何类名导包语句格式:Import 包名.类名相互访问的两个类,不是在同一...

2018-02-28 12:38:36 183

翻译 《String》

Object类Object类是所有类的终极父类,任何一个类都继承了object类Java是开源的,源代码是公开的Object方法:1. toString返回该对象字符串表示 完整类名+@+对象哈希吗2. Equals方法用于比较两个对象的内存地址,判断两个对象是否为同一个对象3. Hashcode返回该对象的哈希码值字符串“==”用于比较引用数据类型数据的时候比较的是两个对象的内存地址“equal...

2018-02-28 12:36:54 152

翻译 《java异常》

Throwable基类错误Throwable是java语言中所有错误或异常的超类,有两个子类,一个是error,一个是exception。异常可以被分为两种,运行时异常,编译时异常。Throwable常用的方法:toString(); 返回当前异常对象的完整类名+异常信息getMessage(); 返回的是创建Throwable传入字符串信息Printstacktrace(); 打印异常的栈信息怎...

2018-02-28 09:43:17 169

翻译 《内部类》

强制类型转换多态情况下不能访问子类特有的成员,如果需要访问子类特有的成员,那么就需要类型强制转换基本数据类型转换:小数据类型------->大数据类型 自动类型转化大数据类型------->小数据类型 强制类型转换引用数据类型转换:小数据类型------->大数据类型 自动类型转换大数据类型------->小数据类型 强制类型转换类型转换最常见的异常:classca...

2018-02-27 19:30:59 121

翻译 《面向对象3》

FinalFinal关键字用法:1. final关键字修饰一个基本类型变量时,该变量不能重新赋值,第一次的值为最终的2. Final关键字修饰一个引用类型变量时,该变量不能重新指向新的对象3. Final修饰一个函数的时候,该函数不能被重写4. Final修饰一个类的时候,该类是不能被继承的常量的修饰符一般为:public static final调用一个方法时,传递的是变量存储的值,不同方法上的...

2018-02-27 15:57:12 227

翻译 《面向对象2》

静态函数静态方法访问方式方式一:可以使用对象进行访问对象.静态函数名();方式二:可以使用类名进行访问类名.静态函数名();静态函数注意事项:1. 静态函数是可以调用类名或者对象进行调用的,而非静态函数只能使用对象进行访问2. 静态函数可以直接访问静态成员变量,不能直接访问非静态成员变量原因:静态函数是可以直接使用类名直接调用的,这时候还没有存在对象,而非静态成员数据是随着对象创建而存在的3. 非...

2018-02-27 12:22:13 109

翻译 《构造函数》

构造函数构造函数的作用,给对应的对象进行初始化构造函数格式定义:修饰符 函数名(形式参数){函数体}构造函数注意事项:1. 构造函数,没有返回值类型2. 构造函数的函数名必须与类型一致3. 构造函数并不是由我们手动调用的,而是在创建对应的对象时,jvm就会主动调用到对应的构造函数。4. 如果一个类没有显示的写上一个构造方法,那么java编译器会为该类添加一个无参的构造函数5. 如果一个类已经显示写...

2018-02-26 21:59:00 568

翻译 《面向对象》

面向对象对象存在唯一的实物类:实际上就是对某种类型的事物的共性,属性与行为的抽取,抽象的概念。注意:成员属性是有默认的初始值Byte 默认0Short 默认初始值0Int 默认初始值0Long 默认初始值0LFlort 默认初始值0.0fDouble 默认初始值0.0dChar 默认初始值’ 空格’Boolean 默认初始值falseString 默认初始值null引用数据类型 默认初始值...

2018-02-26 10:03:51 313 1

翻译 《数组》

数组是同一种数据类型数据的集合的容器。数组的定义格式:数据类型[] 变量名 = new 数据类型[长度]Java虚拟机管理五个内存:堆内存,栈内存栈内存的特点:栈内存储存的都是局部变量,变量一旦出了自己的作用域,那么马上就会从内存中消失,释放内存空间。局部变量就是在一个方法的内部声明的,那么该变量就是一个局部变量。成员变量就是在一个类里面,在一个方法之外就是成员变量。堆内存的特点:堆内存存储都是对...

2018-02-25 22:32:50 359

翻译 《java常量》

Java常量常量就是应用程序在运行过程中其值不能发生改变常量类型:整数常量,小数常量,布尔常量,字符常量,字符串常量整数常量 System.out.println(1)小数常量 System.out.println(3.14)布尔常量 System.out.println(true)字符常量 System.out。Println(‘10’) 字符常量只允许单个字符存在是错误的,因为1是一个字符,0...

2018-02-25 15:34:21 473

原创 《MySQL索引使用》

查看表结构SHOW CREATE TABLE 表名;查看表中创建的索引SHOW INDEX FROM 表名;索引介绍使用CREATE TABLE创建表时,除了可以定义列的数据类型,还可以定义主键约束、外键约束或者唯一约束,而不论创建那种约束,在定义约束的同时相当于在指定列上创建了一个索引,创建表时创建索引的基本语法如下:CREATE TABLE table_name

2018-02-06 12:08:34 167

翻译 《访问者模式》

访问者模式(Visitor Pattern)是GoF提出的23种设计模式中的一种,属于行为模式。据《大话设计模式》中说算是最复杂也是最难以理解的一种模式了。定义(源于GoF《Design Pattern》):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。从定义可以看出结构对象是使用访问者模式必备条件,而且这个结构对象必须存在遍历自身

2018-02-06 11:42:38 165

翻译 《享元模式》

享元模式(英语:Flyweight Pattern)是一种软件设计模式。它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。使用场景如果一个应用程序使用了大量的对象,而这些对象造成了很大的存储开销的时候就可以

2018-02-06 11:40:58 157

翻译 《命令模式》

在面向对象程式设计的范畴中,命令模式(Command Pattern)是一种设计模式,它尝试以物件来代表实际行动。在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式

2018-02-06 11:39:01 122

翻译 《桥接模式》

桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。

2018-02-06 11:36:56 113

原创 《MySQL查询知识点》

基本查询SELECT 后面接字段 FROM表名单表查询* 匹配所有的的字段SELECT * FROM 表名查询指定字段SELECT 字段1 FROM表名;查询指定记录SELECT 字段1,字段2FROM 表名WHERE 条件;带IN关键字的查询IN关键字表示必须满足IN条件缺一不可SELECT 字段1,字段2,字段3FROM 表名

2018-02-06 11:31:38 410

翻译 《单例模式》

单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例数学与逻辑学中,singleton定义为“有且仅有一个元素的集合”。单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。”Java中单例模式定义:“一个类

2018-02-05 14:47:50 154

翻译 《迭代器模式》

迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。适用性访问一个聚合对象的内容而无需暴露它的内部表示支持对聚合对象的多种遍历为遍历不同的聚合结构提供一个统一的接口

2018-02-05 14:45:59 153

翻译 《组合模式》

组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。掌握组合模式的重点是要理解清楚“部分/整体”还有 ”单个对象“与 "组合对象"的含义。组合模式可以让客户端像修改配置文件一样简单的完成本来需要流程控制语句来完成的功能。经典案例:系统目录结构,网站导航结构等。组合模式(Composite Pattern)

2018-02-05 14:43:32 134

翻译 《适配器模式》

在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。基本信息共有两类适配器模式:对象适配器模式-- 在这种适配器模式中,适配器容纳一个它包裹的类的实例。在这种情况下,适配器调用被包裹对象的物理实体。类适配器模式-- 这种适配器模式下

2018-02-05 14:41:41 118

翻译 《状态模式》

允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类(源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。适用场景1.一个对象的行为取决于它的状态,并且它必须在运行时刻

2018-02-05 14:39:09 108

翻译 《抽象工厂模式》

抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据里氏替换原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相同的一些实例,而不是这些抽象产品的实例。换言之,也就是这

2018-02-05 14:37:08 151

翻译 《观察者模式》

观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。观察者模式(Observer)完美的将观察者

2018-02-05 14:33:56 200

翻译 《MySQL索引》

(1)普通索引和唯一索引普通索引是MySQL中的基本索引类型,允许在定义索引的列中插入重复值和空值唯一索引,索引列的值必须是唯一,但允许有空值。如果是组合索引,则列值得组合必须唯一。主键索引是一种特殊的唯一索引,不允许有空值(2)单列索引和组合索引单列索引即一个索引只包含单个列,一个表可以有多个单列索引组合索引指在表的多个字段组合上创建的索引,只有在查询条件中使用了这些字段

2018-02-05 14:30:53 142

翻译 《SQL语句包含的四个部分》

(1)数据库定义语言(DDL)DROP CREATE ALTER 等语句(2)数据库操作语言(DML)INSERT(插入) UPDATE(修改) DELETE(删除)(3)数据库查询语言(DQL)SELECT语句(4)数据库控制语言(DCL)GRANT   REVOKE  COMMIT  ROLLBACK等语句

2018-02-05 14:26:16 2825

翻译 《建造者模式》

建造者模式是设计模式的一种,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。实用范围1 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。[1] 2 当构造过程必须允许被构造的对象有不同表示时。

2018-02-04 13:57:02 88

翻译 《外观模式》

外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。优点(1)实现了子系统与客户端之间的松耦合关系。(2)客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易。适用场景在以下情况下可以考虑使用外观模式:(1)设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。

2018-02-04 13:54:44 107

翻译 《模板方法模式》

工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题。首先完全实现‘开-闭 原则

2018-02-04 13:52:13 156

翻译 《原型模式》

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。解决问题它主要面对的问题是:“某些结构复杂的对象”的创建工作;由于

2018-02-04 11:17:50 124

翻译 《工厂方法模式》

工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题。首先完全实现‘开-闭 原则

2018-02-04 11:13:12 182

翻译 《代理模式》

为其他对象提供一种为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。优点(1).职责清晰真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。(2).代理对象可以在客户端和目标对象之间起到中介的作用,这样

2018-02-04 11:09:45 132

翻译 《装饰模式》

装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。优点1. Decorator模式与继承关系的目的都是要扩展对象的功能,但是Decorator可以提供比继承更多的灵活性。2. 通过使用不同的具体装饰类以及这些装饰类的排列组合,设计师可以创造出很多不同行为的组合。缺点1. 这种比继承更加灵活机动的特

2018-02-04 11:05:15 109

翻译 《数据库访问接口》

不同的程序设计语言会有各自不同的数据库访问接口,程序语言通过这些接口,执行SQL语句,进行数据库管理,主要的数据库访问接口有:ODBC(开放数据库互连)ODBC使用SQL作为访问数据的标准,这一接口提供了最大限度的互操作性,一个应用程序可以通过共同的一组代码访问不同的SQL数据库管理系统(DBMS)一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有

2018-02-04 11:00:06 9583

空空如也

空空如也

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

TA关注的人

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