- 博客(36)
- 收藏
- 关注
原创 Springboot的启动流程
1.启动SpringBootApplication注解类的main方法import org.springframework.boot.SpringApplication;//启动类import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication//启动必要的注解public class SpringBootDemoApplication { //运行main方法启动...
2022-01-02 21:21:08
654
原创 JUC高并发编程
一什么是JUCJUC是java.util.concurrent工具包的简称,是处理线程的工具包,从java1.5开始出现进程和线程的概念进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。线程是操作系统能够进行运算调度最小单位。被包含在进程中,是进程中的实际运作单位。进程状态NEW(新建):调用new()创建一个线程后,处于新建状态。此时该线程仅有Java虚拟机为其分配内存并初始化其成员变量,还没有表现出任何线程的动态特征
2021-12-22 10:06:04
724
1
原创 QT的学习记录
QT是什么?qt经常被当做是GUI库,用来开发图形界面应用程序,Qt除了可以绘制漂亮的界面(控件、布局、交互),还包含很多其他功能,不如多线程、访问数据、图像处理、音频视频处理、网络通信、文件操作。Qt主要用于桌面程序开发和嵌入式开发。QT的下载与安装Qt 官网有一个专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,具体地址是:Index of /archive是开发环境和安装包Qt开发环境下的下载目录vsaddin针对Visual Studio集成的插件..
2021-12-21 15:10:55
292
原创 Java学习-JVM狂神笔记
对JVM的理解?JAVA8虚拟机和之前的变化更新什么是OOM,什么是栈溢出StackOverFlowError?怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取,怎么分析Dump文件对JVM中类加载器的认识JVM的位置JVM的体系结构类加载器加载class文件对象变回class双亲委派机制类加载器收到请求将请求向上委托给父类加载器去完成,一直向上委托,直到自动类加载器启动加载器检查是否能够加载当前这个类。能加载就结束,使用当前的加载器,否则抛出异
2021-11-17 21:59:05
727
原创 JDK动态代理总结
代理模式是指,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在用户类和目标对象之间起到中介的作用。代理对象是为了在不修改目标对象的基础上,增强主业务逻辑。使用代理模式的作用:功能增强:在原有的功能上,增加了额外的功能。新增的功能叫做功能增强控制访问:在代理中,控制是否可以调用目标对象的方法代理模式可以分为两组:静态代理和动态代理静态代理静态代理:代理类是手工实现的java文件,同时代理的目标对象是规定的优点
2021-11-15 22:03:39
408
原创 Linux
今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。环境搭建安装CentOS(虚拟机安装,耗资源)VMware的使用方式点击屏幕进入虚拟机。Ctrl+Alt将聚焦退出虚拟机购买云服务器阿里云购买服务器:https://www.aliyun.com/minisite/goods?us
2021-11-14 20:35:04
1107
原创 核心代码模式和ACM模式
什么是ACM模式?就是自己构造输入数据格式,把需要处理的容器填充好,OJ(判题系统)不会给你任何代码,也要自己控制返回数据的格式而力扣上是核心代码模式,就是把要处理的数据都已经放入容器里,可以直接写逻辑在POJ(北大的在线判题系统)和ZOJ(浙大的在线判题系统)ACM模式可以去POJ上去刷刷题,POJ是ACM选手首选OJ,输入模式也是ACM模式。...
2021-11-12 21:38:43
2531
原创 Mybatis框架
MyBatis是什么?是一款优秀儿的持久层框架,内部封装了JDBC,MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。开发者只需要关注sql语句本身,不需要加载驱动、创建连接、创建statement、关闭连接,资源的繁杂的过程。MyBati通过xml或注解两种方式来执行各种sql语句配置起来,通过java对象和sql的动态参数进行映射生成最终执行的sql语句,最后由MyBatis框架执行sql并将结果映射为java对象并返回。...
2021-11-10 15:11:39
559
原创 Java 基础-异常处理
什么是异常?在运行程序时出现的错误,称为异常。java提供了一套体系结构,在出现问题时会把错误的详细信息告诉我们。一、异常的分类异常主要分为:错误、一般性异常(受控异常)、运行期异常(非受控异常)经典异常空指针异常:NullPointerException类型转换异常:ClassCasException数组下标越界异常:IndexOutOfBoundsException数字格式化异常:NumberFormatException二、try、catch和finalIy.
2021-11-09 10:50:51
239
原创 Java基础篇
1、JVM JRE JDKJVMJava Virtual Machine 是Java虚拟机,Java程序需要运行在虚拟机上,不同平台有自己的虚拟机,一次Java语言可以实现跨平台。JREJava Runtime Environment 包括Java虚拟机和Java程序所需要的核心类库。核心类库主要是Java.lang包:包含了运行Java程序必不可少的系统类,如基本数据类型,基本数学函数、字符串处理、线程、异常处理类,系统缺省加载包。如果想要运行一个开发好的Java程序,计算机只需要安装J.
2021-11-08 19:47:16
1631
原创 计算机网络总结
1、输入一个url链接后,整套流程,打开一个网页到网页出现的全过程先检查输入的URL是否合法,然后查询浏览器的缓存,如果有则直接显示。1、通过DNS 域名解析得到对应的IP 地址(先从浏览器缓存查询、然后是操作系统和hosts文件缓存,如果没有查询本地服务器的缓存)2、通过TCP的三次握手机制建立连接,建立连接后浏览器向服务器发送HTTP请求,请求数据包。3、服务器收到浏览器的请求后,进行处理并响应4、浏览器收到服务器数据后,解析HTML代码,并请求HTML代码中的资源5、浏览器渲染
2021-11-04 22:10:24
480
原创 操作系统总结(李治军)
什么是操作系统?是计算机硬件和应用之间的一层软件,方便使用硬件,高效使用硬件管理哪些硬件:CPU管理 内存管理 终端管理 磁盘管理 文件管理操作系统的启动setup将完成QS启动前的设置boot:BIOS 程序首先将存储设备的引导记录(Boot Record)载入内存,并执行引导记录中的引导程序(Boot)setup.s 读取硬件参数 读取system到内存0x00位置 从16位模式 转到 32位模式,即从实时模式 转到 保护模式, 使得寻址方式发...
2021-11-01 22:16:33
503
原创 Java基础-集合
集合继承结构图-——Collection部分集合继承结构图——Map部分二、内容1、集合概述List:是一个有序集合,可以放重复的数据Set:是一个无序集合,不允许放重复的数据Map:是一个无序集合,集合中包括一个键对象,一个值对象,键对象不允许重复2、Collection和IteratorCollection 是 List 和 Set 的父接口,在 Collection 中定义了一些主要方法。接口是抽象的,无法实现实例化add(E o)确保此 co.
2021-11-01 11:45:02
219
原创 数据结构与算法-多路查找树和图
一、二叉树与B树二叉树操作数据效率比较高,但是存在一定的问题:二叉树需要加载到内存如果节点少不影响,但是如果二叉树结点很多就存在问题。构建二叉树时,需要多次进行I/O操作,节点海量,构建二叉树时,速度有影响。结点海量,会造成二叉树的高速很大,降低操作速率。多叉树二叉树中每个节点有一个数据项,最多有两个自己诶单,如果语序树的每个节点可以有两个以上的子结点,那么这个树称为n阶多叉树,或者称为n叉树。B 树通过重新组织节点,降低树的高度,并且减少 i/o 读写次数来提升效率二、树1、2-3
2021-10-30 22:15:52
170
原创 leetcode刷题笔记
栈和队列序号 题目 笔记 日期 1 剑指 Offer 09. 用两个栈实现队列 栈是一种先进后出的数据结构,队列却是一种先进先出的数据结构。根据栈先进后出的特性,我们每次往第一个栈里插入元素后,第一个栈的底部元素是最后插入的元素,第一个栈的顶部元素是下一个待删除的元素。 ...
2021-10-29 21:20:32
109
原创 idea远程连接gitee仓库
idea远程连接gitee仓库1.码云/Github建好的git项目2.IDEA编辑器3.本地项目步骤1:创建远程项步骤2:创建好本地项目,点击VCS,按照图中指示给项目创建Git仓库。步骤3:选择此项目的根目录作为仓库。步骤4:选中项目名先将项目add到缓冲区,再commit到本地仓库。骤5:点击Commit Directory后在弹出框中填写Commit Message(提交信息),然后选择Commit and Push。...
2021-10-29 10:23:49
4253
2
原创 IDEA快捷键
快捷键总结1.写代码时用Alt-Insert(Code|Generate…)可以创建类里面任何字段的getter与setter方法。2.按Ctrl-N再键入类的名字可以快速地在编辑器里打开任何一个类。从显示出来的下拉列表里选择类。同样的方法你可以通过使用Ctrl-Shift-N打开工程中的非Java文件。3.Ctrl-D复制当前行,Ctrl-Y删除当前行。4.Ctrl-Shift-U,Ctrl+Shift+Alt+U显示类继承结构图,再按Alt-M。5.Alt-F1 回到当前文件所在的目
2021-10-29 10:21:03
313
原创 数据结构与算法-树
一、数组、链表、树的比较数组存储方式扥解析:优点:通过下标方式访问元素,速度快,对于有序数组还可以使用二分查找提高检索速度缺点:如果要检索具体某个值,或者插入值会整体移动,效率低。链式存储方式分析:优点:在一定程度上度数组存储方式有优化,比如插入一个数值时,只需要将插入点接入到链表中即可,删除效率也是同样效果好。缺点:在进行检索时,效率低,检索某个值时,需要从链表头一直做检索。树存储方式分析:能提高数据存储,读取效率,比如二叉树既可以保证数据检索速度,同时也可以保证数据插入,
2021-10-29 10:11:14
525
原创 Mysql基础学习笔记
一、简介1.SQL、DB、DBMS分别是什么,他们之间的关系?DB:DataBase数据库实际上在硬盘上以文件的形式存在DBMS:DataBase Management System数据管理系统,常见的有MySQL Oracle DB2 Sybase SqlServer...SQL:结构化查询语句,是一门标准通用的语言,标准的sql语句,SQL 属于高级语言。SQL 语句在执行的时候,实际上内部也会先进行编译,然后再执行 sql。(sql 语句的编译由 DBMS 完成。) DBMS执行S
2021-10-27 22:15:22
93
原创 数据结构和算法-哈希表
哈希表也称为散列表,是根据关键码值(Key value)而直接进行访问的数据结构。可通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。哈希表应用案例添加一个学生到校园系统中,输入学生学号可以查找出该学生所有信息描述成哈希表,链表基于数组创建结点属性package com.mei.hashtable;//结点的属性public class Student { public int id; public String name; //指向下一个.
2021-10-26 22:10:45
99
原创 HashMap集合总结
一、HashMap集合简介HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,主要用于存放键对值。HashMap的实现是不同步的,这就意味着不是线程安全的。JDK1.8之前的HashMap由数组加链表组成,数组是HashMap的主题,链表则是用来解决哈希冲突(两个对象调用的hashCode方法计算的哈希码值一致导致计算的数组索引值相同)而存在的冲突。JDK1.8之后当同一个索引位置的节点在新增后达到9个(阈值8):如果此时数组长度大于等于64,则会触发链表节点转红黑树节
2021-10-25 22:06:58
810
原创 java se-常用类
一、StringString类是不可变类,就是说String对象声明后,将不可修改只要采用双引号赋值字符串,那么在编译期将会放在方法区中的字符串的常量池,如果是运行时对字符串相加或者相减会放在堆中。String s1="abc"和String s2=new String("abc")如果是采用双引号引起来的字符串常量,首先会到常量池中去查找,如果存在就不再分配, 如果不存在就分配,常量池中的数据是在编译期赋值的.关于 s3,s3 采用的是 new 的方式,在 new 的时候存在双引
2021-10-24 22:02:47
127
原创 数据结构与算法-排序和查找算法
排序也称之为排序算法(Sort Algorithm),是讲一组数据以指定的顺序进行排列的过程。排序分类算法时间效率基数排序基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序作用, 基数排序法是属于稳定性的排序。讲所有的待比较数值统一设置为同样的数位长度,位数比较短的数前面补零,然后..
2021-10-21 21:02:20
602
原创 数据结构预算法-稀疏数组与队列
一、稀疏数组压缩条件: 原数组中存在大量的无效数据,占据了大量的存储空间,真正有用的数据很少 压缩存储可以节省储存空间,避免资源的不必要的浪费,在数据序列化到磁盘时,压缩存储可以提高IO效率。 稀疏数组处理方法: 记录数组一共有几行几列,有多少个不同的值 把具有不同值元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。使用稀疏数组来保留如上二维数组把稀疏数组存盘可以重新恢复原来的二维数组package com.mei...
2021-10-19 20:44:10
142
原创 cmd命令查询硬盘序列号,磁盘ID,MAC地址
查询单位计算机基础信息,需要查询“硬盘序列号,磁盘ID,MAC地址等计算机相关信息”,不需要专业的软件如AIDA,用cmd命令行就可以实现这些信息的查询。之前就经常把硬盘序列号和磁盘ID搞混乱win+r输入cmd,打开cmd命令1.硬盘序列号:wmic diskdrive get serialnumber2.磁盘id首先输入diskpart再输入list disk3.MAC物理地址:ipconfig /all...
2021-10-18 11:13:40
16137
1
原创 java基础之数组
一、数组概要数组是一种引用数据类型数组元素的类型可以是基本类型,也可以是引用类型,但同一个数组只能是同一种类型数组元素是有下标的,下标从 0 开始,也就是第一个元素的下标为 0,依次类推最后一个元素的下标为 n-1二、一维数组的声明和使用1、数组的声明一位数组的声明格式:数组元素的类型[] 变量名称数组元素的类型 变量名称[]在一行中也可以声明多个数组 int[] a,b,c2、数组的创建第一种,使用 new 操作符来创建数组...
2021-10-17 21:49:59
186
原创 数据结构与算法-链表
链表是一种物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。特点1. 链表是以结点形式存储的,是链式存储 2. 每个结点包含data区域和next区域 3. 如上图各个结点并不是连续存储的4. 链表分带头结点链表和没有带头结点链表,根据实际的需求来确定单链表应用根据带有头部的单链表,实现商品增删改查,并且也可以针对商品已编号进行排序,完成排行榜定义的一个商品的结点public class GoodsNode {
2021-10-16 16:46:50
173
原创 数据结构与算法-栈
一、数据结构和算法概述算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略 机制。数据结构就是把数据组织起来,为了更方便地使用数据我们为了解决问题,需要将数据保存下来,然后根据数据的存储方式来设计算法实现进行处理,那么数据的存储方式不同就会导致需要不同的算法进行处理。程序 = 数据结构 + 算法线性结构和非线性结构线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系线性结构有两种不同的存储结构,即顺序存储结
2021-10-16 16:25:01
55
原创 Java 基础-认识面向对象
一、面向对象和面向对象的区别面向过程是一种以过程为中心的编程思想,简称OP,面向过程也可以称为面向记录的编程思想,就是分析出解决问题所需的步骤,然后用函数把这些步骤实现。面向对象是一种以对象为编程中心的编程思想,简称OO。通过面向对象的方式,将现实世界的事物抽象成对象。面向对象编程思想开发系统,现代开发中会将对象贯穿整个过程① OOA:面向对象分析(Object-Oriented Analysis) ② OOD:面向对象设计(Object-Oriented Design) ③ OOP
2021-10-15 10:46:12
126
原创 Redis学习笔记
一、NoSQL可以解释为非关系型数据库。在NoSQL数据库中数据之间是无联系的,无关系的。数据结构是松散的,可变的。关系型数据库的缺点无法应对每次上万次的读写请求,无法处理大量集中的高并发数据。无法简单通过增加硬件、服务节点来提高系统性能。数据整个存储在一个数据库中。关系型数据库大多是收费的,对硬件的要求较高。NoSQL的优势大数据量,高性能。NoSQL数据库具有非常高的读写性能,在大数据量下同样可以。这是由于他的无关系性数据库的结构简单。关系型数据库采用的是查询缓存。灵活的
2021-09-29 11:40:07
68
原创 Dubbo学习笔记
一、分布式系统什么是分布式系统 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统,分布式系统是建立在网络上的服务端一种结构。RPC 是指远程过程调用,是一种进程间通信方式,是一种进程间通信方式,是技术思想,允许程序调用另一个地址空间的过程或函数,而不用开发人员显示编码这个调用的细节。调用本地方法和调用远程方法一样。 RPC的特点:简单、高效、通用 RPC基本原理二、dubbo框架Dubbo提供三大...
2021-09-24 22:05:02
73
原创 个人博客创建
8月10号学习笔记构建与配置1.1.引入Spring Boot模块用Spring Initializr——创建Spring Boot项目- 起步依赖、自动配置、端点监控web集成了tomacat springMVCThymeleaf 模板引擎 前端页面模板 使用Thymeleaf3JPA数据库规范MySQL数据库的驱动Aspects 集成spring的AOP的模块DevTools连接数据库 新建数据库格式为UTF8日志的配置xml 文件针对开发环境和伸展环境.
2021-08-11 11:15:03
56
原创 Java的类与对象
Java的类与对象1,类是一个模板,抽象;对象是一个人具体的事例2,方法 的定义以及调用3,对象的引用 应用类型:基本类型(8),对象是通过引用类型来操作的:4,属性:字段Field成员变量 默认初始化: 数字:0 0.0 char: u0000 boolean:f...
2021-04-19 11:04:49
49
原创 HTML之框架结构标签<frameset>的简单使用
HTML之框架结构标签<frameset>的简单使用框架结构标签 该标签定义如何将窗口分割为框架,每个frameset定义了一系列行或列(rows或cols),他们的值规定了每行或每列占据屏幕的面积。(和为100%)框架标签 该标签定义了放置在每个框架中的具体的网页。代码块1.将整个页面分为两列,左边占据35%,右边占据65%,例如: <frameset cols="35%,*"> <frame src="left.ht...
2021-03-05 16:37:04
281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人