12 2020 档案

摘要:数据库事务由严格的定义,它必须满足4个特性:原子性(Atomicity),一致性(consistency),隔离性(Isolation),持久性(Durability)。 原子性:表示组成一个事务的多个数据库操作是一个不可分割的原子单元,只有所有的操作执行成功,整个事务才提交。事务中的任何一个数据库 阅读全文
posted @ 2020-12-31 08:32 乃颜先生 阅读(1308) 评论(0) 推荐(0)
摘要:环境准备 1 -- 创建部门表 2 CREATE TABLE dept ( 3 id INT PRIMARY KEY AUTO_INCREMENT, 4 NAME VARCHAR(20) 5 ); 6 7 INSERT INTO dept (NAME) VALUES ('开发部'),('市场部'), 阅读全文
posted @ 2020-12-29 20:02 乃颜先生 阅读(97) 评论(0) 推荐(0)
摘要:集群 是个物理形式(同一个业务,部署在多个服务器上),分布式是工作方式(一个业务分拆成多个子业务,部署在不同的服务器上)。 如:一个项目有10个子任务,一个子任务单独执行1个小时,则一台服务上执行需10小时。 分布式,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务的依赖关系,执行玩这 阅读全文
posted @ 2020-12-24 18:19 乃颜先生 阅读(520) 评论(0) 推荐(0)
摘要:在Java中,使用new关键字和Class.forName("a.class.Name").newInstance都可以创建对象,它们又有什么区别呢? 1、类的加载方式不同。 在执行Class.forName("a.class.Name")时,JVM会在classapth中去找对应的类并加载,这时J 阅读全文
posted @ 2020-12-24 18:06 乃颜先生 阅读(96) 评论(0) 推荐(0)
摘要:需求:找到文中指定的你想要的数据,并出现几次 使用场所:可以用来爬虫-。-,判断文中是否有你包含的数据。\ 使用方法: 两种不同的方式: 1 public class test1 { 2 public static void main(String[] args) { 3 /* 4 Pattern类 阅读全文
posted @ 2020-12-24 17:41 乃颜先生 阅读(108) 评论(0) 推荐(0)
摘要:在项目中,SQL的调优对项目的性能来讲至关重要,所有掌握常见的SQL调优方式是必不可少的,下面介绍几种常见的SQL的调优方式,供借鉴. 一.创建索引1.要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引2.(1)在经常需要进行检索的字段上创建索引,比如要按照表字段 阅读全文
posted @ 2020-12-24 15:05 乃颜先生 阅读(157) 评论(0) 推荐(0)
摘要:一、背景 在使用JPA时常常出现业务复杂不方便使用名称解析的情况,这时可采用原生SQL来实现,SQL在请求并发数量较多时效率会影响系统的整体效率,在此记录一下sql优化的常用几种方法。 二、优化方法 1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建 阅读全文
posted @ 2020-12-24 15:03 乃颜先生 阅读(85) 评论(0) 推荐(0)
摘要:工厂模式的介绍 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。之前我们创建类对象时, 都是使用new 对象的形式创建, 除new 对象方式以外, 工厂模式也可以创建对象. 耦合度: 类与类之间的关系, 阅读全文
posted @ 2020-12-21 15:19 乃颜先生 阅读(105) 评论(0) 推荐(0)
摘要:多例设计模式的作用 多例模式,是一种常用的软件设计模式。通过多例模式可以保证系统中,应用该模式的类有固定数量的实例。多例类要自我创建并管理自己的实例,还要向外界提供获取本类实例的方法。 实现步骤 1.创建一个类, 将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。 2.在该类内部产 阅读全文
posted @ 2020-12-21 15:05 乃颜先生 阅读(203) 评论(0) 推荐(0)
摘要:单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需 阅读全文
posted @ 2020-12-21 14:31 乃颜先生 阅读(111) 评论(0) 推荐(0)
摘要:学而时习之,温故而知新. 先说下自己怎样区分它们 认定构造方法是:类名与构造方法相同,这个方法就是构造方法, 这个类中除了构造方法以外的方法都是成员方法,原因是在类中除了变量外的基本都是成员方法。 看一个小案例 1 package me; 2 public class Me { 3 private 阅读全文
posted @ 2020-12-21 10:15 乃颜先生 阅读(2404) 评论(0) 推荐(0)
摘要:不想看下面的,直接看这里直接总结: 序列化是指把一个Java对象变成二进制内容,本质上就是一个byte[]数组。 为什么要把Java对象序列化呢?因为序列化后可以把byte[]保存到文件中, 或者把byte[]通过网络传输到远程,这样,就相当于把Java对象存储到文件或者通过网络传输出去了。 有序列 阅读全文
posted @ 2020-12-20 20:13 乃颜先生 阅读(871) 评论(0) 推荐(0)
摘要:冒泡排序 插入排序 快速排序 选择排序 希尔排序 归并排序 堆排序 计数排序 桶排序 基数排序 阅读全文
posted @ 2020-12-19 22:06 乃颜先生 阅读(108) 评论(0) 推荐(1)
摘要:单例模式(Singleton) 构建模式(Builder) 抽象工厂模式(Abstract Factory) 工厂方法模式(Factory Method) 观察者模式(Observer) 模板方法模式(Template Method) 装饰者模式(Decorator) 代理模式(Proxy) 阅读全文
posted @ 2020-12-19 22:04 乃颜先生 阅读(74) 评论(0) 推荐(0)
摘要:二叉树 二叉查找树 平衡二叉树B树 平衡查找树之AⅥL树 平衡二叉树之红黑树 B+树 B*树 阅读全文
posted @ 2020-12-19 22:02 乃颜先生 阅读(163) 评论(0) 推荐(0)
摘要:1.一共有八大数据结构分类 a.数组 b.栈 c.队列 d.链表(单链表、双向链表、循环链表) c.数 f.散列表 g.堆 h.图 如图: 1、数组 数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。例如下面这段代码就是将数组的第 阅读全文
posted @ 2020-12-19 21:07 乃颜先生 阅读(4495) 评论(1) 推荐(1)
摘要:它们的区别: 说下栈内存 栈内存首先是一片内存区域,存储的都是局部变量 凡是定义在方法中的都是局部变量(方法外的是全局变量),for循环内部定义的也是局部变量 是先加载函数才能进行局部变量的定义,所以方法先进栈,然后再定义变量,变量有自己的作用域,一旦离开作用域,变量就会被释放。 栈内存的更新速度很 阅读全文
posted @ 2020-12-19 20:49 乃颜先生 阅读(79) 评论(0) 推荐(0)
摘要:1.Java的动态代理技术的实现主要有两种方式: 1.1 JDK原生动态代理 1.2 CGLIB动态代理 2.JDK原生动态代理是Java原生支持的,不需要外部依赖,但是它只能基于接口进行代理(需要动态代理的对象必须实现与某个接口) 3.CGLIB通过继承的方式进行代理,(让需要代理的类成为Enha 阅读全文
posted @ 2020-12-19 20:41 乃颜先生 阅读(1673) 评论(0) 推荐(0)
摘要:Throw: 作用在方法内,表示抛出具体异常,由方法体内的语句处理。 具体向外抛出的动作,所以它抛出的是一个异常实体类。若执行了Throw一定是抛出了某种异常。 Throws: 作用在方法的声明上,表示如果抛出异常,则由该方法的调用者来进行异常处理。 主要的声明这个方法会抛出会抛出某种类型的异常,让 阅读全文
posted @ 2020-12-15 11:53 乃颜先生 阅读(157) 评论(0) 推荐(0)
摘要:装饰模式概述 在我们今天所学的缓冲流中涉及到java的一种设计模式,叫做装饰模式,我们来认识并学习一下这个设计模式。 装饰模式指的是在不改变原类, 不使用继承的基础上,动态地扩展一个对象的功能。 装饰模式遵循原则: 装饰类和被装饰类必须实现相同的接口 在装饰类中必须传入被装饰类的引用 在装饰类中对需 阅读全文
posted @ 2020-12-14 14:47 乃颜先生 阅读(114) 评论(0) 推荐(0)
摘要:1 面试题:Dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?可以的,启动dubbo时,消费者会从zk拉取注册的生产者的地址接口等数据,缓存在本地。每次调用时,按照本地存储的地址进行调用 注册中心对等集群,任意一台宕掉后,会自动切换到另一台注册中心全部宕 阅读全文
posted @ 2020-12-13 20:26 乃颜先生 阅读(222) 评论(0) 推荐(0)
摘要:互斥锁与自旋锁:谁更轻松自如 最底层的两种就是会「互斥锁和自旋锁」,有很多高级的锁都是基于它们实现的,你可以认为它们是各种锁的地基,所以我们必须清楚它俩之间的区别和应用。 加锁的目的就是保证共享资源在任意时间里,只有一个线程访问,这样就可以避免多线程导致共享数据错乱的问题。 当已经有一个线程加锁后, 阅读全文
posted @ 2020-12-12 21:07 乃颜先生 阅读(277) 评论(0) 推荐(1)
摘要:一、二叉树 1️⃣二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大,如图 基于二叉查找树的这种特点,在查找某个节点的时候,可以采取类似于二分查找的思想,快速找到某个节点。n 个节点的二叉查找树,正常的情况下,查找的时间复杂度为 O(logN)。之所以说是正常情况下,是因为 阅读全文
posted @ 2020-12-12 20:30 乃颜先生 阅读(153) 评论(0) 推荐(0)
摘要:详细分解: 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明100 (继续) 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。 2xx (成功)表示成功处理了请 阅读全文
posted @ 2020-12-11 21:29 乃颜先生 阅读(2197) 评论(0) 推荐(0)
摘要:抽象类: 抽象类使用abstract修饰; 抽象类不能实例化,即不能使用new关键字来实例化对象; 含有抽象方法(使用abstract关键字修饰的方法)的类是抽象类,必须使用abstract关键字修饰; 抽象类可以含有抽象方法,也可以不包含抽象方法,抽象类中可以有具体的方法; 如果一个子类实现了父类 阅读全文
posted @ 2020-12-08 17:10 乃颜先生 阅读(69) 评论(0) 推荐(0)
摘要:List、Set单列,Map是双列的键值对 List可重复,set不可重复 List有序的,set是无序 List中最常用的两个子类:ArrayList(基于数组,查询快)和LinkedList(基于链表,增删快) Set中最常用的两个子类:HashSet和TreeSet Map中最常用的两个子类: 阅读全文
posted @ 2020-12-08 17:00 乃颜先生 阅读(325) 评论(0) 推荐(0)
摘要:HashMap 的扩容机制 initialCapacity:初始容量。指的是 HashMap 集合初始化的时候自身的容量。可以在构造方法中指定;如果不指定的话,总容量默认值是 16 。需要注意的是初始容量必须是 2 的幂次方。 size:当前 HashMap 中已经存储着的键值对数量,即 HashM 阅读全文
posted @ 2020-12-08 16:51 乃颜先生 阅读(149) 评论(0) 推荐(0)
摘要:1.HashMap采用了数组+链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改。 2.HashMap是非Synchronized,所以HashMap比HashTable更快。 3.HashMap可以接受null键和值,而Hashtable则不能(原因就是equlas()方法需要 阅读全文
posted @ 2020-12-08 16:46 乃颜先生 阅读(147) 评论(0) 推荐(0)
摘要:1.ArrayList每次扩容是原来得1.5倍。 2.数组进行扩容时,会将老数据中得元素重新拷贝一份道新的数组中,每次数组容量得增长大于时原用量得1.5倍。 3.代价是很高得,因此再实际使用时,我们因该避免数组容量得扩张。尽可能避免数据容量得扩张。尽可能,就至指定容量,避免数组扩容的发生。 4.创建 阅读全文
posted @ 2020-12-08 16:42 乃颜先生 阅读(2942) 评论(0) 推荐(0)
摘要:1.都是List接口得实现类 2.ArrayList基于数据,LinkedList基于链表 3.ArrayList 3.1.查询快,增删满 3.2.往数据组尾部添加元素高,也就时调用add,但是还是比linkedLIst慢 4.LinkedList 4.1.数据添加删除效率高,值需要改变指针指向即可 阅读全文
posted @ 2020-12-07 21:02 乃颜先生 阅读(113) 评论(0) 推荐(0)
摘要:前一段时间电脑上的虚拟机打不开了,点击开机就一直黑屏,挂起时能够看到显示,但是开机就黑屏。 百度了之后找到了解决方案:(我是第一种方案就解决了)(据说可能是wegame的锅。。。) 方法1:命令行窗口cmd—输入 netsh winsock reset,然后重启计算机。 方法2:`VM-Settin 阅读全文
posted @ 2020-12-04 15:17 乃颜先生 阅读(168) 评论(0) 推荐(0)