自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql不存在则插入,存在则更新或忽略

表名称:employee表字段:Column NamePrimary KeyUniqueidtruenametrueage初始表数据:idnameage1wujf23注:以下所有的示例都需要被插入的数据中需要存在UNIQUE索引或PRIMARY KEY字段一.不存在则插入,存在则更新1.on duplicate key update如果插入的数据会导致UNIQUE 索引或PRIMARY KEY发生冲突/重复,则执

2020-11-03 18:40:59 773

原创 线性表

一.线性表的顺序存储结构零个或多个数据元素的有限序列1.定义是用一段地址连续的存储单元依次存储线性表的数据元2.顺序存储示意图3.编号地址存储器中的每个存储单元都有自己的编号,这个编号称为地址4.存储位置公式每个数据元素,不管它是整型,实型还是字符型,它都是需要占用一定的存储单元空间的假设占用的是 c 个存储单元,那么对于线性表的第 i 个数据元素的存储位置都可以由第1个数据元素推导算出5.存取操作时间性能上述推导公式具体内容如下图所示:通过该公式,就可以随时算出线性表中任意位

2020-10-29 17:08:43 154

原创 拉丁方阵(java链表)

一.问题描述构造 NXN 阶的拉丁方阵(2<=N<=9),使方阵中的每一行和每一列中数字1到N只出现一次。如N=4时:1 2 3 42 3 4 13 4 1 24 1 2 3二.问题分析观察给出的例子,可以发现:若将每 一行中第一列的数字和最后一列的数字连起来构成一个环,则该环正好是由1到N顺序构成;对于第i行,这个环的开始数字为i。三.代码/** * 拉丁方阵 */public class LatinSquare { public static void main(S

2020-10-27 19:06:40 402

原创 约瑟夫环(java链表)

一.问题来历据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉第k个人。这个过程沿着圆圈一直

2020-10-24 09:38:39 150

原创 获取未知长度单链表的中间元素(java)

/** * 获取未知长度单链表的中间元素 */public class GetMidElement { public static void main(String[] args) { Integer midElement; // 链表长度为1-20的随机数 int size = (int) (Math.random() * 20 + 1); LinkedList<Integer> list = new LinkedList<>(); for (int i

2020-10-15 10:35:09 259

原创 mysql死锁解决

解除正在死锁的状态有两种方法:第一种:1.查询是否锁表show OPEN TABLES where In_use > 0;2.查询进程show processlist3.杀死进程id(就是上面命令的id列)kill id第二种:1.查看下在锁的事务SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;2.杀死进程id(就是上面命令的trx_mysql_thread_id列)kill 线程ID例子:查出死锁进程:SHOW PROCESSLIS

2020-09-24 15:59:14 262

原创 算法

一.定义算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作简而言之,算法是描述解决问题的方法二.特性输入、输出、有穷性、确定性和可行性好的算法应该具有正确性,可读性,健壮性,高效率和低存储量的特征三.算法时间效率度量1.可以忽略加法常数O(2n + 3) = O(2n)2.与最高次项相乘的常数可忽略O(2n^2) = O(n^2)3.最高次项的指数大的,函数随着 n 的增长,结果也会变得增长得更快O(n^3) > O(n^2)

2020-09-22 19:07:05 242

原创 数据结构绪论

一.什么是程序程序 = 数据结构 + 算法 二.逻辑结构&物理结构的区别用法按照视点的不同,可以把数据结构分为 逻辑结构 和 物理结构:基本的目标就是将数据及其逻辑关系存储到计算机的内存中1.逻辑结构是指数据对象中数据元素之间的相互关系面向问题的可具体分为以下四种关系①.集合结构数据元素除了同属于一个集合外,它们之间没有其他关系②.线性结构数据元素之间是一对一关系③.树形结构数据元素之间呈现一对多关系④.图形结构数据元素是多对多关系2.物理结构是指数

2020-09-16 18:27:46 198

原创 java网络编程

一.网络编程基础概念首先理清一个概念:网络编程不等于网站编程,网络编程即使用套接字来达到进程间通信,现在一般称为TCP/IP编程。1.计算机网络把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大,功能强的网络系统,从而使众多的计算机可以方便的互相传递信息,共享硬件,软件,数据信息等资源。2.计算机网络的主要功能资源共享信息传输与集中处理均衡负荷与分布处理综合信息服务(www / 综合业务数字网络 ISDN)3.计算机网络三高问题高并发,高性能,高可用。4.计算机

2020-09-07 16:39:42 372

原创 JAVA-IO总结

一.Java流类图结构:二.流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。三.IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流四.字符流和字节流字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。 字节流和字符流的区别:读写单位不同:

2020-09-01 09:09:49 214

原创 HashMap源码解析(JDK1.8)

一.简介在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,为了解决hash碰撞过于频繁的问题,HashMap采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表(查询时间复杂度为O(n))转换为红黑树(时间复杂度为O(lg n)),极大的提高了查询效率。以下没有特别说明的均为JDK1.8中的HashMap。1.特点Has

2020-08-23 09:34:05 305

原创 ArrayList源码解析(JDK1.8)

一.简介ArrayList 是 Java 集合框架中 List 接口的一个实现类。底层是数组,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。ArrayList是Vector的翻版,区别在于ArrayList是线程不安全的,而Vector则是线程安全的。但是Vector是一个较老的集合,具有很多缺点,不建议使用,这里我们就不对其进行分析了。ArrayList 可以说是我们使用最多的 List 集合,它有以下特点:它是基于数组实现的List类可以动态地调整容量有序的(元素输出顺序

2020-08-18 17:47:07 382

原创 java集合框架总结

一.简介1.基础理念1)集合框架用于存储数据的容器。集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。2)接口表示集合的抽象数据类型。接口允许我们操作集合时不必关注具体实现,从而达到“多态”。在面向对象编程语言中,接口通常用来形成规范。3)实现集合接口的具体实现,是重用性很高的数据结构。4)算法一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、排序等。这些算法通常是多态的,因为相

2020-08-16 22:01:21 289

原创 mysql优化

一.sql优化1.定位及优化SQL语句的性能问题对于低性能的SQL语句的定位,最重要也是最有效的方法就是使用执行计划,MySQL提供了explain命令来查看语句的执行计划。我们知道,不管是哪种数据库,或者是哪种数据库引擎,在对一条SQL语句进行执行的过程中都会做很多相关的优化,对于查询语句,最重要的优化方式就是使用索引。而执行计划,就是显示数据库引擎对于SQL语句的执行的详细情况,其中包含了是否使用索引,使用什么索引,使用的索引的相关信息等。1)idid由一组数字组成。表示一个查询中各个子查询的

2020-08-12 19:25:47 256

原创 mysql基本概念与使用

一.数据库基本知识1.为什么要使用数据库1)数据保存在内存优点:存取速度快缺点:不能永久保存2)数据保存在文件优点: 数据永久保存缺点: ① 存取数据慢,频繁的IO操作。 ② 查询数据不方便3)数据保存在数据库数据永久保存使用sql语句,查询数据方便效率高管理数据方便2.什么是SQL?​ 结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语言。​ 作用:用于存取数据、查询、更新和管理关系数据库系统。3.什么是MySQL?

2020-08-03 12:18:39 800

原创 git冲突解决(命令行)

一.git pull 冲突下面测试文件都用test.md1.制造冲突1.1远程仓库用的是码云,地址:https://gitee.com/1.2本地与远程仓库同时更新同一个文件,然后保存1.3命令行执行git pull同步远程仓库与本地的代码,发现error: Your local changes to the following files would be overwritten by merge:test.md2.解决冲突2.1命令行执行git add test.md,将冲突的文件添

2020-07-31 16:06:14 2695 2

原创 Stream的学习

1.Stream介绍一、什么是Java Stream API?Java Stream函数式编程接口最初是在Java 8中引入的,并且与lambda一起成为Java开发的里程碑式的功能特性,它极大的方便了开放人员处理集合类数据的效率。Java Stream就是一个数据流经的管道,并且在管道中对数据进行操作,然后流入下一个管道。在没有Java Stram之前,对于集合类的操作,更多的是通过for循环。Java Stream相对于for 循环更加简洁、易用、快捷。管道的功能包括:Filter(过...

2020-07-23 19:49:32 551 1

空空如也

空空如也

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

TA关注的人

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