自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 索引

索引是什么MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。所以,索引的本质是数据结构。你也可以理解为:排好序的快速查找数据结构。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。下图就是一种可能的索引方式示例:左边是数据表,一共有两列...

2019-09-05 09:00:08 92

原创 线程的通信

wait():令当前线程挂起并放弃CPU、同步资源,使别的线程可访问并修改共享资源, 而当前线程排队等候再次对资源的访问notify():唤醒正在排队等待同步资源的线程中优先级最高者结束等待notifyAll ():唤醒正在排队等待资源的所有线程结束等待注意:三个方法都是调用的监视器(同步锁)中的[面试题] sleep和wait的区别? 1.sleep调用时不会释放锁...

2019-08-30 16:31:46 76

原创 线程锁(synchronized)

/* * 卖票的问题 : 错票 ,重票 * * 问题的原因 : 多个线程同时操作共享数据,当其中一个线程正在执行操作共享数据的代码时,其它的线程也进入了。 * * 解决问题的方案 : 多个线程同时操作共享数据,只允许同时只有一个线程 对共享数据进行操作 * * 方式一 : 同步代码块 * 格式 : synchronized (监视器) { 操作共享数据的代...

2019-08-30 14:38:37 164

原创 线程

程序 : 一段静态的代码进程 :正在运行的一个程序线程 : 一个进程中可以有多个线程,每个线程可以单独的去做一件事情创建一个线程 :有两种方式第一种继承Thread的方式第一步 创建一个类并继承Thread第二步 重写run方法第三步 创建Thread子类的对象第四部通过Thread子类的对象调用start方法public class ThreadTest { pu...

2019-08-30 14:26:31 66

原创 多线程(Synchronized)

卖票的问题 : 错票 ,重票问题的原因 : 多个线程同时操作共享数据,当其中一个线程正在执行操作共享数据的代码时,其它的线程也进入了。解决问题的方案 : 多个线程同时操作共享数据,只允许同时只有一个线程 对共享数据进行操作方式一 : 同步代码块格式 : synchronized (监视器) {操作共享数据的代码;}1.监视器可以是任意类的对象 (多个线程必须保证是同一把锁)方式...

2019-08-30 13:29:48 58

原创 线程池

public class ThreadPool { public static void main(String[] args) { /* * 线程池有4种 * * 线程池一般都 会设计成单例模式 */ // 创建了一个线程池 带缓存的线程池 - 需要多少创建多少。如果有空闲的就使用空闲的线程 ExecutorService pool = Execut...

2019-08-30 11:34:50 57

原创 Callable

通过实现Callable接口开启一个分线程第一步 创建一个类并实现Callable接口第二步 重写call方法并返回数据第三步 创建Callable实现类的对象第四步 创建FutureTask对象,并将Callable实现类的对象作为参数传递到FutureTask的构造器中第五步 创建Thread对象并将FutureTask对象作为参数传递Thread的构造器中第六步 调用Th...

2019-08-30 11:26:58 116

原创 单例

设计模式 : 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式常见的是23种设计模式其中两种:单例设计模式 : 在一个项目中只对某一个类创建一个对象单例设计模式分为 : 懒汉式 和 饿汉式 懒汉式和饿汉式的区别? 懒汉式:线程不安全的,延迟了对象创建的时机,节省了内存的占用。 饿汉式:线程安全的class Animal{ ...

2019-08-30 10:49:24 69

原创 多肽

多态性 : 一种事物的多种形态多态性的体现:1.广义上 : ①方法的重载和重写 ②子类对象的多态性2.狭义上 :①子类对象的多态 性子类对象的多态性 : 父类的引用指向子类的对象 (Person p = new Student())多态使用的前提 : ①要有继承关系 ②要有方法的重写一个对象的实例:Man m = new Man();m就是这个对象的实例public stati...

2019-08-30 10:22:12 300

原创 封装

面向对象特之一 : 封装性为什么要使用封装?创建对象以后,我们往往通过对象名.属性进行赋值。只能对属性的类型和数值范围有限制。但是我常常还会需要一些额外的限制条件。这时我们就需要使用封装。一 :首先会对属性进行权限设置。不让属性在其它类中被直接访问二 : 提供公共的方法,对属性进行赋值和获取值 并 在方法中可以对属性的赋值加以限制条件。封装的体现(狭义上): 私有化属性,提供公共的方法...

2019-08-30 10:12:21 70

原创 继承

面向对象特性之二 : 继承性好处 : ①减少了代码的冗余,提高了代码的复用性;②更好的扩展性 ③为多态性的使用提供了前提格式 : A extends Bextends(继承 、 扩展)A 叫做子类 (subClass)B 叫做父类 (SuperClass),超类,基类一 如果子类继承了父类,那么子类就拥有了父类中的属性和方法。子类还可以添加自己特有的属性和方法。二 如果父类中的属...

2019-08-30 10:10:34 73

原创 JWT

JWT工具JWT(Json Web Token) 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用在用户登录上JWT 最重要的作用就是对 token信息的防伪作用。JWT的原理,一个JWT由三个部分组成:公共部分、私有部分、签名部分。最后由这三者组合进行base6...

2019-08-29 14:29:52 79

原创 IO流

IO流 :一 流的分类1.按操作数据单位不同分为:字节流(8 bit)(视频,音频,图片),字符流(16 bit)(文本文件)2.按数据流的流向不同分为:输入流,输出流3.按流的角色的不同分为:节点流,处理流 @Test public void test2(){ FileInputStream fis = null; try { //1.创建File对像 File ...

2019-08-29 14:14:23 85

原创 File

java.io.File类 :1. File类是在java.io包下的2. File用来表示一个文件(.mp3 .mp4 .avi .txt .doc) 还可以代表一个目录3. File可以用来创建文件和目录 还可以获取目录或文件的大小等操作。 不能对文件内容进行添加(对于文件内容的添加需要使用IO流)。 4. File往往作为流的节点。往往我们会将File类的对象传入到IO流的构造器中。...

2019-08-27 11:37:42 73

原创 Map(接口)

/*Map : 双列集合| --------Map |----HashMap:HashMap:线程不安全的,key和value可以是null |----LinkedHashMap: LinkedHashMap是HashMap的子类。底层于HashMap实现的方式一样。 LinkedHashMap可以安照元素存放的顺序进行遍历。因为底层维护了一张链表,该链表记录了元素存...

2019-08-27 09:19:08 67

原创 Set集合(接口)

Set : 存储的数据是无序的且不可重复的 不可重复的:根据调用equals方法返回的结果来判断是否一样。如果是true就是一样的,反之不一样。 无序的:无序性不是指的随机性,根据hashCode方法算出的哈希值来决定数据在数组中存放的位置。 -----Set |---- HashSet : Set的主要实现类 |-----LinkedHashSet : Linke...

2019-08-26 18:11:19 77 1

原创 List集合

|---- List : 存放的数据是有序的且可重复的,以下是实现类: |---- ArrayList: List的主要实现类, 底层是数组实现的,查找快,增删慢。线程不安全的,效率高一些 |---- Vector :底层是数组实现的,线程安全,效率比ArrayList低一些 |---- LinkedList :底层是双向链表,删除和插入比较快,查找慢。/*// ...

2019-08-26 17:26:46 52

原创 Collection集合

/*** 一 集合** 二 数组的特点 :* 1.数组一旦创建成功,长度不可变* 2.数组声明的类型就决定了存储的元素的类型** 三 数组的缺点:* 1.数且的长度不可变。* 2.数组的属性和方法比较少。比如缺少 添加,删除,插入等方法* 3.数组存放元素是有序的,对于无序的无能为力。** 四 Collection* List : 存放的数据是...

2019-08-26 15:38:04 98

原创 equals和==的区别是什么

面试提问:equals和==的区别是什么? == : 如果比较的是基本数据类型,那么比较的是变量的值 == :如果比较的是引用数据类型,那么比较的是地址值(两个对象是否指向同一块内存) equals:如果没有重写equals方法比较的是两个对象的地址值。 如果重写了equals方法后我们往往比较的是对象中的属性的内容具体解释一 、 java.lang.Object ...

2018-09-13 14:29:42 5797

空空如也

空空如也

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

TA关注的人

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