自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 无代码开发平台

无代码开发平台的设计与实现背景近几年最受资本青睐的互联网科技赛道,无代码行业已经迈进发展加速期[1]随着学校数字化建设的不断深入, 如何选择适合的数字化开发工具并落地,成为许多学校和相关信息化部门关注的焦点。无代码开发平台通过自动代码生成和可视化编程,只需要浏览网站,即可快速搭建各种系统或者应用,满足了很多开发人员和业务人员的需求[2]。无代码开发平台无需编写代码就能构建软件应用。它们都不要求开发人员具备任何传统编程语言的知识,而是提供了一种可视化的开发方法。这让更多人,尤其是精通技术的业务人员可以开

2022-05-07 09:36:37 6461 1

原创 动手动手!!!

文章目录3. 无重复字符的最长子串3. 无重复字符的最长子串通过定义一个set来进行非重复的一个判断,通过快慢双指针,右边的指针遇到不一样的就存到set里面,然后遇到一样的就停止,前面的指针就自动走,然后每次记得还要把set里面存的了数据进行一个移除class Solution { public int lengthOfLongestSubstring(String s) { Set<Character> set = new HashSet<>();

2021-04-22 21:40:53 1066

原创 《我陪你刷剑指Offer》

文章目录24. 反转链表03. 数组中重复的数字22. 链表中倒数第k个节点09. 用两个栈实现队列42. 连续子数组的最大和38. 字符串的排列25. 合并两个排序的链表29. 顺时针打印矩阵04. 二维数组中的查找06. 从尾到头打印链表52. 两个链表的第一个公共节点10- II. 青蛙跳台阶问题10- I. 斐波那契数列40. 最小的k个数11. 旋转数组的最小数字24. 反转链表遍历的思路就是头插法,递归的思路就是先到尾部,然后再指向前方即可!class Solution { pub

2021-04-19 21:31:25 786

原创 mysql辅助索引非叶子节点

mysql 会根据主键,如果没定义主键则使用第一个唯一索引(如果都没有,会自动隐式的创建一个不可见的自增列)创建一个b+tree索引树。b+tree的非叶子节点只会存储索引列和指向下级节点的指针,而叶子节点存储的是真实数据页。B+树叶子节点是顺序存储的,单个叶子节点也有指向相邻叶子节点的指针聚簇索引(聚集索引)聚簇索引就是按照每张表的主键构造一颗B+树,同时叶子节点中存放的就是整张表的行记录数据,也将聚集索引的叶子节点称为数据页。这个特性决定了索引组织表中数据也是索引的一部分,每张表只能拥有一个聚簇索

2021-04-14 09:39:10 1776

原创 详解Spring生命周期

详解Spring生命周期首先直接上图、万事万物、唯图好记1.Bean容器找到配置文件中Spring Bean的定义。2.Bean容器利用Java Reflection API创建一个Bean的实例。3.如果涉及到一些属性值,利用set()方法设置一些属性值。4.如果Bean实现了BeanNameAware接口,调用setBeanName()方法,传入Bean的名字。5.如果Bean实现了BeanClassLoaderAware接口,调用setBeanClassLoader()方法,传入Clas

2021-04-13 11:13:24 449

原创

图介绍

2021-02-18 08:32:33 78

原创

树结构-基础部分介绍:数组的特点总结一句话就是:查快增慢插播:ArrayList源码分析通过名字我们就可以发现其实是数组集合,首先有两种构造器,两种容器都是创建一个数组,只不过一个长度为0,一个长度为,这是在jdk8中的情况,jdk7种elementdata默认的是10,当我们再次添加的时候,首先有个判断,也就是grow方法,如果需要扩容就扩容到十倍,如果没有添加过一次数组那就先设置elementdata为10。链表特点一句话:增快查慢而树这种存储结构可以帮我们解决这些问题,他是 查快增快

2021-01-24 11:22:48 106

原创 哈希表(散列表)

哈希表(散列表)例子:基本介绍思路:public class HashTable { public static void main(String[] args) { HashTab hashTab = new HashTab(10); hashTab.add(new Emp(1,"1")); hashTab.add(new Emp(11,"11")); hashTab.add(new Emp(13,"13"));

2021-01-23 11:30:05 83 1

原创 四种查找算法

四种查找算法顺序/线性查找概念和思路加代码:折半查找/二分查找概念:例子:思路:代码实现:public class DoubleBreakSearch { public static void main(String[] args) { int[] arr={1,3,5,7,8,10,15,46,15}; doubleBreakSearch(arr,3,0,arr.length-1); } public static voi

2021-01-22 12:28:13 2627 3

原创 《剑指Offer》合并两个排序的链表

思路一:class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { ListNode head = new ListNode(-1); Li.

2021-01-22 12:25:22 74 1

原创 JAVA

错题集:Day1:

2021-01-21 18:33:09 75

原创 Thread.java中的start()和run()方法

一、区别Java中启动线程有两种方法,继承Thread类和实现Runnable接口,由于Java无法实现多重继承,所以一般通过实现Runnable接口来创建线程。但是无论哪种方法都可以通过start()和run()方法来启动线程,下面就来介绍一下他们的区别。start方法:通过该方法启动线程的同时也创建了一个线程,真正实现了多线程。无需等待run()方法中的代码执行完毕,就可以接着执行下面的代码。此时start()的这个线程处于就绪状态,当得到CPU的时间片后就会执行其中的run()方法。这个run(

2021-01-21 10:35:06 289

原创 Docker基础

Docker基础Docker概述Docker为什么会出现?Docker的历史2010年有一群年轻人,成就了一家美国公司dotCloud做了一些pass的云计算服务!LXC有关的容器技术他们将自己的容器化技术,命名为DockerDocker刚刚诞生的时候,没有引起行业的注意!活不下去!开源 开放源代码!2013年,Docker开源了!现在越来越多的人发现了Docker的优点!火 了!到了2014年四月Docker 1.0发布!Docker为什么这么火?在容器技术出来之前,我们用

2021-01-19 18:05:24 2367

原创 RabbitMQ

RabbitMQ1.MQ引言RabbitMQ引言协议介绍

2021-01-19 16:17:05 97

原创 多线程进阶详解

多线程进阶详解文章目录多线程进阶详解一、入门介绍二、进程与线程一、入门介绍所处位置atomic是原子性的意思Runnable 没有返回值,而且效率相对于Callable来说低一些二、进程与线程进程:一个可以执行的软件跑起来就会开启一个进程,一个进程包含多个线程,至少包含一个JAVA默认有几个线程?2个,main和GCJava真的可以开启线程嘛?不可以,比如start()方法,可以走进去去看源码,首先把当前线程加入到了一个线程组里面去,最后调用一个native()本地的c++方法

2021-01-17 21:03:10 873

原创 函数式编程怎么搞?

是什么在叙述区别和优劣之前,简单介绍一下两者。函数式编程,顾名思义,这种编程是以函数思维做为核心,在这种思维的角度去思考问题。这种编程最重要的基础是λ演算,接受函数当作输入和输出。面向对象编程,这种编程是把问题看作由对象的属性与对象所进行的行为组成。基于对象的概念,以类作为对象的模板,把类和继承作为构造机制,以对象为中心,来思考并解决问题。优点函数式编程:支持闭包和高阶函数,闭包是一种可以起函数的作用并可以如对象般操作的对象;而高阶函数是可以以另一个函数作为输入值来进行编程。支持惰性计算,这就可以

2021-01-16 16:15:51 87

原创 TCP三次握手与四次挥手

先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。那如何断开连接呢?简单的过程如下:【注意】中断连接端可以是Client端,也可以是Server端。假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急

2021-01-16 11:58:07 58

原创 八大排序算法

排序算法简介时间复杂度时间频度可以理解为代码执行的次数常见的时间复杂度这里可以理解为2的十次方为1024,循环十次就可以了,理解为跳着跑一般++的,时间复杂度就是n,然后*的就是log,很好区分算法的平均时间复杂度...

2021-01-16 11:34:26 437

原创 递归-八皇后问题(回溯算法)

递归-八皇后问题思路分析判断是否在同一个斜线上Math.abs()是求绝对值的意思代码实现:package datastructres.recursion;/** * @author :Yan Guang * @date :Created in 2021/1/16 10:04 * @description: */public class Queue8 { int max=8; int[] arr=new int[max]; static int coun

2021-01-16 10:31:17 155 2

原创 递归-迷宫问题(递归回溯算法)

递归简介小案例

2021-01-15 11:03:33 637 1

原创 多线程基础详解

多线程基础一、初识多线程普通方法和多线程:进程process和线程thread创建线程的方式通过继承Tread类实战演示:package com.yan;/** * @author :Yan Guang * @date :Created in 2021/1/12 18:57 * @description: 单核cpu只能实现单线程,因为cpu执行速度很快, * 所以这里是视作为多线程,但是实际上还是交替执行的(由CPU调度实现),并不是一起执行的。 */public

2021-01-12 20:27:21 211 1

原创 中缀表达式转后缀表达式

中缀表达式转后缀表达式思路因为我们单独操作字符串不太好操作,所以先存放到一个ArrayList集合里面去,用如下的方法转: //将中缀表达式存放到list里面去 public static List<String> toInfixExpression(String s) { ArrayList<String> list = new ArrayList<>(); int index = 0; String

2021-01-12 11:25:14 108

原创 栈-逆波兰计算器(后缀表达式)

前缀表达式思路前缀表达式也叫波兰表达式后缀表达式也叫逆波兰表达式下面完成该项任务~

2021-01-11 13:43:32 88

原创 栈-实现综合计算器(中缀表达式)

综合计算器怎么搞?思路Demo1package datastructres.stack;/** * @author :Yan Guang * @date :Created in 2021/1/11 9:41 * @description: */public class Calculator { public static void main(String[] args) { String expression = "3+2*6-2"; Array

2021-01-11 10:49:32 86 1

原创 JVM与JAVA体系结构-第二章

JVM与JAVA体系结构-第二章JVM整体结构java代码的执行流程这里的java编译器也叫前端编译器翻译字节码和JIT做的工作就是 解析执行,即时编译 二者是并存的字节码反复要执行的代码称之为热点代码,会被缓存起来放到方法区当中JVM的架构模型在hotsport寄存器中,只有一个PC寄存器JVM的生命周期JVM后续内容可看续集~...

2021-01-10 21:47:15 120

原创 JDK和JRE关系和区别怎么搞?

1. 定义JRE(Java Runtime Enviroment)是Java的运行环境。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。JDK(Java Development Kit)又称J2SDK(Java2 Software Development Kit),是Java开发工

2021-01-10 20:53:24 190

原创 并发并行,同步异步怎么搞?

操作系统有三大特性:1.并发 2.共享 3.异步1.谈到并发,就不得不提串行和并行了。这三点容易混淆。如下图所示,串行:一个时间段内,执行一个任务的同时不能执行其他任务,只能等到第一个任务完成后才能进行第二个。并行:一个时间段内有多个任务,可以同时运行两个或多个任务。并发:一个时间段中有几个任务都处于已启动运行到运行完毕之间,且这几个任务都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。他们之间的区别:你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支

2021-01-10 20:18:05 327

原创 栈-用单链表实现

话不多说,直接上代码~package datastructres.stack;import java.util.Scanner;/** * @author :Yan Guang * @date :Created in 2021/1/10 11:45 * @description: */public class LinkListStackDemo { public static void main(String[] args) { LinkListStack sta

2021-01-10 12:15:50 101

原创 数组和链表优缺点怎么搞?

数组和链表是两种基本的数据结构,他们在内存存储上的表现不一样,所以也有各自的特点。链表中各结点在内存中的存放位置是任意的。链表与数组的主要区别(1)数组的元素个数是固定的,而组成链表的结点个数可按需要增减;(2)数组元素的存诸单元在数组定义时分配,链表结点的存储单元在程序执行时动态向系统申请:(3)数组中的元素顺序关系由元素在数组中的位置(即下标)确定,链表中的结点顺序关系由结点所包含的指针来体现。(4)对于不是固定长度的列表,用可能最大长度的数组来描述,会浪费许多内存空间。(5)对于元素的插

2021-01-10 11:40:30 184

原创 栈-用数组构建

思路如下~下面直接上代码实操~package datastructres.stack;import com.sun.org.apache.bcel.internal.generic.NEW;import java.util.Scanner;/** * @author :Yan Guang * @date :Created in 2021/1/10 11:01 * @description: 数组表示栈 */public class ArrayStackDemo { pu

2021-01-10 11:36:51 188

原创 return和throw到底怎么搞?

当存在返回值的时候(不为void的时候),我们尽量可以抛出一个异常来代替return如下: public int pop() { if (isEmpty()) { //throw相当于已经停止了代码,所以不用return //当存在返回值的时候(不为void)的时候,我们尽量可以抛出一个异常来代替return throw new RuntimeException("栈空,无法取出数据~"); }

2021-01-10 11:13:49 2386

原创 单向环形链表

丢手帕问题(约瑟夫问题)

2021-01-09 19:30:35 73

原创 双链表

思路如下:话不多说,直接上代码~package datastructres.linkedlist;/** * @author :Yan Guang * @date :Created in 2021/1/9 10:21 * @description: */public class DoubleLinkListDemo { public static void main(String[] args) { System.out.println("双向链表的测试~");

2021-01-09 11:50:20 154 2

原创 单链表面试题(百度)-1级难度

逆序打印单链表?思路如下:话不多说,开始实操~ public static void reversePrint(HeroNode head){ if (head.next==null){ return ; } Stack<HeroNode> stack = new Stack<>(); HeroNode cur= head.next; while (cur!=null){

2021-01-09 10:09:22 66

原创 @RequestBody这么搞?

@GetMapping("/consumer/payment/create") public CommonResult<Payment> create(Payment payment){ return restTemplate.postForObject(PAYMENT_URL+"/payment/create",payment,CommonResult.class); }@PostMapping(value = "/payment/create") .

2021-01-08 16:30:39 136

原创 单链表面试题(腾讯)-2级难度

单链表的反转?思路: public static void reverseList(HeroNode head){ if (head.next==null||head.next.next==null){ return ; } HeroNode cur =head.next; HeroNode next=null; HeroNode reverseHead=new HeroNode(0,"","");

2021-01-08 15:10:34 71

原创 单链表面试题(新浪)-1级难度

查找单链表倒数第K个结点?方法如下: public static HeroNode findLastIndexNode(HeroNode head,int lastindex){ if(head.next==null){ return null; } int size = getListLength(head); HeroNode cur=head.next; if (lastindex<

2021-01-08 13:54:18 94 1

原创 单链表面试题-1级难度

求单链表中有效节点的个数?这里是代码:public static int getListLength(HeroNode head){ if(head.next==null){ return 0; } int length=0; HeroNode cur=head.next; while (cur!=null){ length++; cur=cur

2021-01-08 09:53:41 67

原创 初识JVM-第一章

JVM一、初识JVM咱们为什么单独学习jvm?课程总览:java的生态圈:持续更新中…

2021-01-07 21:29:51 118

原创 单链表

单链表:带head头结点:直接插入链表尾部的方式:/** * @author :Yan Guang * @date :Created in 2021/1/7 10:03 * @description: 单链表 通过对象里面的属性,自己套自己 */public class SingleLinkedList { public static void main(String[] args) { HeroNode hero1 = new HeroNode(1, "宋

2021-01-07 19:32:07 99

空空如也

空空如也

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

TA关注的人

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