自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

迁就100

走在学习之路

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

原创 Mysql之聚簇索引和非聚簇索引

MySQL中最常见的两种存储引擎分别是MyISAM和InnoDB,分别实现了非聚簇索引和聚簇索引。聚簇索引:在一个数据table中,它的数据文件和索引文件是同一个文件。即在查询过程中,找到了索引,便找到了数据文件。在innodb中,即存储主键索引值,又存储行数据,称之为聚簇索引。非聚簇索引:表中存放着三个文件,表结构,索引表、数据表,在用到索引时,先到索引表中进行查找,取到数据所在数据表的行位...

2020-09-05 08:42:17 252

原创 深入分析 BTree、B+Tree、AVL树、红黑树

一、红黑树 – 平衡二叉搜索树 红黑树的特点节点是红色或黑色。根节点是黑色。每个叶子节点都是黑色的空节点(NIL节点)。每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。二、 AVL树 – 平衡二叉搜索树 AVL树的特点它的左子树和右子树都是AVL树左子树和右子树的高度差不能超...

2020-04-10 18:13:51 1351

原创 类加载器和双亲委派模型

一、ClassLoader类加载器分为四类:Bootstrap(启动类加载器):这个类加载器使用C++实现,是虚拟机自身的一部分;其他的类加载器都由Java语言实现,独立于JVM外部并且都继承于java.lang.ClassLoader.BootStrap类加载器负责将存放于<Java_HOME>\lib目录中(或者被-Xbootclasspath参数指定路径中)能被虚拟机识别的...

2020-03-29 15:11:32 194

原创 空间复杂度与时间复杂度

空间复杂度主要衡量一个算法所需要的额外空间时间复杂度:衡量算法快慢的标准,主要衡量的是一个算法的运行速度,算法运行的指令个数,如果只有一句的话就是0(1),一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。在实际中一般情况关注的是算法的最坏运行情况,所以数组中搜索数据时间复杂度为O(N)CPU单位时间内算法指令数恒定求算法指令数 F(n) ...

2020-03-29 15:08:00 165

原创 数据结构三大表

一、线性表(linear list)是n个具有相同特性的数据元素的有限序列,常见的线性表有顺序表、链表、栈、队列、字符串线性表在逻辑上是线性结构,连续的,但是在物理上不一定是连续的通常是以数组和链式结构的形式存储二、顺序表顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:静态顺序表:使用定长数组...

2020-03-29 15:06:49 1304

转载 多线程实现共享数据的方式

1,如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如,卖票系统就可以这么做。2,如果每个线程执行的代码不同,这时候需要用不同的Runnable对象,例如,设计4个线程。其中两个线程每次对j增加1,另外两个线程对j每次减1,银行存取款有两种方法来解决此类问题:将共享数据封装成另外一个对象,然后将这个对象逐一传递给各个Runnable...

2019-11-24 11:45:39 1027

原创 Comparable和Comparator的区别

Comparable,java.lang包下的类其中只有一个函数:public int compareTo(T o);在集合内部定义的方法实现的排序,若一个类实现了comparable接口,则意味着该类支持排序。如String、Integer自己就实现了Comparable接口,可完成比较大小操作。在这里插入代码片Comparator,java.util包下的类常用的俩个函数:bool...

2019-11-17 09:15:54 234

原创 Java数据结构之栈和队列

栈是一个特殊的线性表,支持各种增删改查操作,支持三个核心操作,入栈、出栈、取栈顶public class MyStack1 { private int[] arr; //下标 private int length ; public MyStack1(int size) { this.arr = new int[size]; ...

2019-11-11 11:36:17 194

原创 二叉树之堆

已知双亲下标已知孩子的下标堆:搜索二叉树

2019-11-11 11:35:26 113

原创 JVM内存结构和JMM内存模型

1 Java内存区域Java运行时数据区域包括:线程私有区域和线程共享区域1.1 线程私有区域(1)程序计数器程序计数器是一块比较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。如果当前线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是一个Native方法,这个计数器值为空。程序计数器内存区域是唯一一个在JVM规范中没有...

2019-11-08 21:24:15 544

原创 volatile型变量的特殊规则

第一、保证此变量对所有线程的可见性,这里的"可见性"是指 : 当一条线程修改了这个变量的值,新值对于其他线程来说是可以立即得知的。而普通变量做不到这一点,普通变量的值在线程间传递均需要通过主内存来完成。例如:线程A修改一个普通变量的值,然后向主内存进行回写,另外一条线程B在线程A回写完成之后再从主内存进行读取操作,新值才会对线程B可见。volatile变量在各个线程中是一致的,但是volatile...

2019-11-08 21:11:57 341

原创 MySQL入门 10(用户管理)

mysql> select host,user,authentication_string from user;host:表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆user:用户名authentication_string:用户密码通过password函数加密后的*_priv:用户拥有的权限1.创建用户create user '用户名'@'登陆...

2019-11-03 19:05:29 127

原创 MySQL复习

以下均为链接,可点开MySQL入门1:基本了解以及库和表的操作MySQL入门2: 基本数据类型MySQL入门3: 基本查询MySQL入门4: 函数集MySQL入门5: 复合查询MySQL入门6: 表的内连和外连MySQL入门7: 索引特性...

2019-11-03 16:16:29 127

原创 MySQL入门 9(JDBC编程)

使用jdbc的好处?主要流程:1.加载驱动2.建立连接3.创建对象statement4.执行sql语句5.处理结果集 , 按照列名获取和int都可以int getInt(int columnIndex) throws SQLException;int getInt(String columnLabel) throws SQLException;6.释放资...

2019-11-03 16:01:53 200

原创 MySQL入门8 (视图和事务)

要么全部失败,要么全部成功创建数据库连接有俩种方式,第二种数据库连接池,使用的是数据源,第二次拿的时候直接在数据库中拿非物理性关闭,实际对Connection对象进行初始化重置创建操作命令,安全性能...

2019-11-03 12:03:01 205

原创 Java线程池

线程池的优点降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁带来的消耗。提高响应速度:当任务到达时,任务可以不需要等待线程创建就能立即执行。提高线程的可管理性:使用线程池可以统一进行线程分配、调度和监控。一、线程池的实现原理1. 线程池的处理流程是否满等价于是否都在执行任务2.ThreadPoolExecutor执行execute()方法的流程二、线程池的使用1. ...

2019-10-30 14:41:30 96

原创 Java三大类之Object类

Object是Java默认提供的一个类,Java中的类默认继承的是Object类,所有类的对象都可以使用Object进行接收。一、获取对象信息//该方法的核心是取得对象信息//如若觉得默认给出的toString()方法功能不足,就在需要的子类上覆写toString()方法。public String toString()//对象比较public boolean equals(Objec...

2019-10-22 11:15:26 147

原创 JavaSE总结

Java继承关系

2019-10-19 20:44:56 329

原创 Java三种设计模式之工厂设计模式

开闭原则(OCP):一个软件实体如类、模块和函数应该对扩展开放、对修改关闭一、简单工厂模式一个抽象产品类具体产品类一个工厂优点:简单易于实现,把类的实例化交给工厂,易于解耦缺点:添加具体产品需要修改工厂违反OCP开放封闭原则interface IM1 { void computer();}class computer implements IM1 { ...

2019-10-12 18:33:38 191

原创 Java三种设计模式之单例模式、多例模式

单例设计模式:一个类只允许产生一个实例化对象。(懒汉式存在多线程安全问题,而饿汉式不会。)单例和多例的共同特点:构造方法私有化。类内部一定会提供一个static方法用于取得实例化对象多例设计模式:构造方法私有化,类内部需要提供若干个实例化对象,后面通过static方法返回...

2019-10-11 20:12:10 956

原创 Java三大类之包装类

结论:将基本数据类型包装为一个类对象的本质就是使用Object进行接收处理。Java中有8种数据类型,如果每种数据类型都按照以上方式编写,存在以下问题:1.开发中代码重复2.在进行数学计算的时候,必须利用明确的方法将包装的数据取出后才可以进行运算。于是提供了包装类的使用,每个简单类型对应一个包装类wrapper对象型(Object的直接子类):Boolean、Character(cha...

2019-10-10 23:19:08 130

原创 Java三种设计模式之代理设计模式

由一个接口,俩个子类共同实现一个接口,其中一个子类负责实现真正的业务,另一个子类完成辅助真实业务主题的操作interface a { void eat();}//真正的业务class a1 implements a { @Override public void eat() { System.out.println("主要是吃顿饭"); }...

2019-10-10 17:21:04 107

原创 Java接口和抽象类的区别

除了单继承的局限之外,实际上使用抽象类和接口都是类似的。在实际开发中,抽象类的设计比接口复杂。现在要开发之中优先考虑接口,以避免单继承局限。抽象类是模板,有层次感。接口则更关心行为与混合。区别抽象类接口结构组成普通类和抽象方法抽象方法和全局常量权限都可以pubic子类使用使用extends关键字继承抽象类使用implements实现接口...

2019-10-09 18:38:18 102

原创 对象实例化,执行顺序

1.进行类加载2.进行类对象的空间开辟3.进行类对象中的属性初始化(构造方法)abstract class Person { //3.调用父类构造 public Person() { //4.调用被子类覆写的方法 this.getPersonInfo(); } public abstract void getPersonInfo()...

2019-09-26 19:25:44 200

原创 Java多态表现:向上、向下转型

向上转型实现的父类的方法向下转型实现的是子类和父类的方法 Father { private String name; public String getName() { return this.name; } public void print() { System.out.println("父亲被覆写的方法"); }...

2019-09-25 21:16:06 139

原创 方法的覆写(重写)和重载

方法覆写覆写又叫重写,建立在继承的关系上,继承父类的方法就是通过对父类方法的重写来实现的,调用的时候调用的是覆写过的方法,如果要使用父类的方法使用super.方法名(参数列表)。如果父类的方法是private类型则不可能被重写,子类看不到这个方法,如果在类中也有这个方法只能是重新定义了一个方法,不会达到重写的效果被覆写的方法不能拥有比父类方法更为严格的访问控制权限private>de...

2019-09-25 18:00:09 1763

原创 Java继承关系

面向对象的第二特征:继承子类也称为派生类,父类称为超类当发生了类继承关系之后,子类可以直接继承父类的操作,会继承父类的所有结构。(包含私有属性、构造方法、普通方法)子类最低也维持和父类相同的功能。子类可以进行功能的扩充。例如:扩充属性和方法。继承的主要作用:是对类进行扩充以及代码的重用。子类对象在进行实例化前一定会首先实例化父类对象,默认调用父类的构造方法,先看父类的构造方法。注意是构造...

2019-09-25 16:54:20 128

原创 内部类的应用

有关内部类的简单描述以下是关于内部类的简单实现内部类可以方便的操作外部类的私有访问,内部类中的方法访问该类定义所在作用域中的数据1. 这个是简单的方法class Outer{ private String name; //定义一个内部类 class Inner{ //内部类中的方法可以访问外部类的私有属性 public void ...

2019-09-24 21:04:37 160

原创 二叉树的知识及面试题

1、树的知识树的概念:树是一种非线性的数据结构,由n个有限结点组成一个具有层次关系的集合特点:没有父结点的结点是根结点,可以说根节点只有一个,根结点只有一个父结点,每个结点有零个或多个子结点;树的度:一棵树中,最大的节点的度称为树的度;节点的度:一个节点含有的子树的个数称为该节点的度;节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;2 、二叉树一、二叉树的特点...

2019-09-08 18:45:11 175

原创 Java序列化

定义就是java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。换句话来说就是,用transient关键字标记的成员变量不参与序列化过程。作用作用Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关...

2019-07-30 10:21:48 112

原创 网络四大层次之网络层和数据链路层

应用层传输层网络层(IP协议)地址管理:通过一个整数来表示一个地址,IPv 4,一个IP地址是一个32位的整数IP地址不够用的问题(1)动态分配IP,上网时分配,不上网时就不分配(2)NAT机制,由于很多主机共用一个ip地址,我们用路由器根据端口号来分配ip地址(3)IPv6,很大,能够彻底解决问题(4)使用点分十进制来表示IP地址网段划分概念:前半部分是网络号,后半部分...

2019-07-30 10:21:15 1255 1

原创 TCP四次挥手

四次挥手的过程双方各自向对方发送FIN,在各自向对方发送ACK,中间的俩次交互可能合并成一个四次挥手的状态转换

2019-07-30 10:19:00 93

原创 HashMap、TreeMap、HashTable的关系与区别

a.这三个类都是Map接口下的常用子类,Hashtable基于哈希表实现,TreeMap基于红黑树实现,HashMap基于哈希表+红黑树(JDK1.8之后,JDK1.8基于哈希表)b.关于null,HashMap允许key、value为null.Hashtable key与value均不为null.TreeMap只允许value为nullc.线程安全性HashMap、TreeMap采...

2019-07-24 14:57:59 179

原创 TCP协议(二)

TCP最核心的机制可靠传输提高传输效率

2019-07-24 14:52:57 91

原创 了解jcl中的fail-fast策略和fail-safe策略

fail-fast策略它是Java集合(Collection)的一种错误机制。当多个线程对同一个集合进行修改结构操作,使用集合的迭代器iterator,会首先检测是否有对集合的并发修改,进而产生ConcurrentModificationException异常提示。优先考虑出现异常的场景,当异常产生的时候,直接抛出异常程序终止;意义:保证多线程场景下不产生脏读modcount存在于abs...

2019-07-24 14:51:53 335

原创 网络四大主要层次之传输层

概念:负责数据能够从发送端传输接收端端口号的划分:0 - 1023: 知名端口号, HTTP, FTP, SSH等这些广为使用的应用层协议, 他们的端口号都是固定的.ssh服务器, 使用22端口ftp服务器, 使用21端口telnet服务器, 使用23端口http服务器, 使用80端口https服务器, 使用4431024 - 65535: 操作系统动态分配的端口号. ...

2019-07-19 15:52:27 374

原创 TCP和UDP的对比

如果优先使用可靠传输,优先考虑TCP如果传输的单个数据报比较大,使用TCP如果对可靠性要求不大,但对性能要求很大,优先考虑UDP如果要实现广播,优先考虑UDP只能在应用层通过代码手动实现UDP来完成传输...

2019-07-19 15:50:42 147

原创 UDP协议

一、UDP协议16位UDP长度, 表示整个数据报(UDP首部+UDP数据)的最大长度;如果校验和出错, 就会直接丢弃;由16位源端口号,16位目睹端口号,16位UDP长度,16位UDP检验和,数据组成UDP特点UDP传输的过程类似于寄信.无连接: 知道对端的IP和端口号就直接进行传输, 不需要建立连接;不可靠: 没有确认机制, 没有重传机制; 如果因为网络故障该段无法发到对方, ...

2019-07-19 13:50:52 182

原创 Jquery和js对象的相互转换

多的不说,看代码,易懂哦<script src="js/jquery-1.11.0.js"></script> <script> function change(){ // 一、js转换成Jquery对象// //1.通过js来修改文本属性// //通过文本的id获取当前要修改的标签对象// //设置innerHTML属性来修...

2019-07-19 10:38:57 206

原创 Jquery的总结

JQuery的动画效果图片的显示,隐藏效果JQuery的定时弹出和隐藏广告定时弹出隐藏广告JQuery的选择器一、基本选择器 $("#id"):ID选择器$(".class"):类选择器$(“element”):标签选择器$("*"):通配符选择器$(“selector1,selector2”):并集选择器$(function(){ $("#btn1").click(f...

2019-07-18 15:47:15 86

空空如也

空空如也

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

TA关注的人

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