- 博客(57)
- 收藏
- 关注
原创 Spring
Spring框架是一个为Java应用程序开发提供综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身也是按照设计模式精心打造的,这使得我们可以在开发环境中安心地集成Spring框架,不必担心Spring是如何在后台工作的。在spring的基础上进行开发的,解决spring问题: 依赖多,模板化的配置搭建非常方便起步依赖 直接将相关的jar包直接进行依赖自动装配。
2022-09-18 15:48:05
145
原创 Mybaits
mybatis是一个数据持久层的轻量级的框架.对JDBC进行封装,提供了一些数据访问接口,将sql与java进行分离,提供动态sql,对结果进行封装…
2022-09-18 14:41:49
280
1
原创 算法排序——快速排序
快速排序是指通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行之前的操作,以此达到整个数据变成有序序列。1.找出一个基准数(一般为数组第一个),将基准数挖出形成一个小坑。3.从前向后找比他大或等于的数,找到后也挖出此数填到前一个坑。2.从后向前找比他小的数,找到后挖出此数填到前一个坑中。......
2022-08-03 17:10:08
57
原创 Redis常见题型
因为Redis是基于内存的,为了让防止一些意外情况导致数据丢失,需要将数据持久化到磁盘上。Redis的事务是一个单独的隔离操作,事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断,所以Redis事务是在一个队列中,一次性、顺序性、排他性地执行一系列命令。Redis事务的主要作用就是串联多个命令防止别的命令插队。...
2022-07-31 16:07:04
154
原创 JVM常见问题
方法区和堆是所有线程共享的内存区域;而虚拟机栈、本地方法栈和程序计数器的运行是线程私有的内存区域,运行时数据区域就是我们常说的JVM的内存。类加载子系统:根据给定的全限定名类名(如java.lang.Object)来装载class文件到运行时数据区中的方法区中。java堆是java虚拟机所管理的内存中最大的一块,也是垃圾回收的主要区域。java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存方法区与Java堆一样,是各个线程共享的
2022-06-27 16:02:31
220
原创 计算机网络
Ipv4地址和子网掩码1 1 1 1 1 1 1 1 二进制128 64 32 16 8 4 2 1 对照表Ip地址是由四组二进制位组成的,每一组8位二进制之间都有一个点来隔开,这样IPV4地址加起来一共就有32位。就二进制来说,每一组最低可以有8个0组成(0),最高由8个1来组成(255)IP:网络号+主
2022-05-22 17:20:00
197
原创 动态规划(起步)
打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。示例 2:输入:[2.
2022-05-16 19:03:03
69
原创 滑动窗口解题
来源:b站(古城算法)滑动窗口概述滑动窗口算法可以用以解决数组/字符串的子元素问题,他可以将嵌套的循环问题,转换为单循环问题,降低时间复杂度。识别滑动窗口1.连续的元素,string,subarray,LinkedList2.min,max,longest,shortest,key word滑动窗口基本题型1.窗口长度确定,比如max sum of size=k2.size可变,比如找到subarray sum 比目标值大一点点3.size可变,比如longest substring wi
2022-04-20 20:10:21
153
原创 Linux安装配置,常见指令
安装linux 操作系统下一步…稍后安装 —>下一步…下一步…选安装位置,下一步…点击自定义硬盘,导入映射文件,Linux常用命令date 显示系统日期cal / cal 2018关机 (系统的关机、重启以及登出 )shutdown -h now 关闭系统shutdown -r now 重启reboot 重启logout 注销文件和目录cd … 进入到跟目录ls / 查看根目录下的文件ls 查看目录中的文件ls –F 查看目录中的文件ls -l
2022-04-18 20:38:07
551
原创 跨域及后端解决办法
原因:浏览器不允许从这个服务发请求到另一个服务前端和后端不在同一个服务器比如从www.baidu.com 页面去请求 www.google.com 的资源。但是一般情况下不能这么做,它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域....
2022-04-17 11:47:09
1061
原创 VUE集成echarts
(找了很久的资源总结)NPM 安装 ECharts1.你可以使用如下命令通过 npm 安装 EChartsnpm install echarts --save2.修改echarts的版本号(4.8.0)这是旧版本,新版本集成之后报错(init初始化的问题)3.在终端运行num i4.在main.js引入import echarts from 'echarts';Vue.prototype.$echarts = echarts;5.代码展示(前后端交互引入)<template&
2022-03-30 15:55:06
2336
原创 leetcode33三数之和
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。(力扣画解算法)思路:数组遍历1.sort排序2.排完序后,固定数组第一个值nums[i],取数组的第二个值nums[L]和数组最后一个值nums[R],判断三个值的和是否为0。3.如果固定的数组第一个值nums[i]>0时,则三和必然无法等于0(排好序)4.如果 nums[i]==
2022-03-29 16:18:21
969
原创 力扣33搜索旋转排序数组
整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。给你 旋转后 的数组 nums 和一个整数 ta
2022-03-20 16:14:14
74
原创 牛客J27重组二叉树
给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。提示:1.vin.length == pre.length2.pre 和 vin 均无重复元素3.vin出现的元素均出现在 pre里4.只需要返回根结点,系统会自动输出整颗树做答案对比数据范围:n \le 2000n≤2000,节点的值 -10000 \le val \le 10000
2022-02-24 17:55:26
363
原创 垃圾回收机制
垃圾回收概述垃圾收集机制并不是java语言首创的.但是又是java的招牌, java可以自动垃圾回收.垃圾回收: 回收哪些区域 频繁回收堆内存,较少回收方法区 栈,本地方法栈,程序计数器没有垃圾回收什么时候回收怎么回收什么是垃圾垃圾是指在运行程序中没有任何引用指向的对象,这个对象就是需要被回收的垃圾。为什么需要 GC?垃圾如果不及时清理,越积越多,可能会导致内存溢出.垃圾多了,内存碎片较多 例如数组 需要连续空间早期是手动回收不被使用的对象 例如 C+
2022-01-21 13:05:02
143
原创 本地方法接口与执行引擎
本地方法接口什么是本地方法一个 Native Method 就是一个 java 调用非 java 代码的接口非java语言实现的,例如 C C++为什么要使用 Native Method我们的java程序 需要与外部(计算机硬件)进行数据交互( 例如hashCode read() start() )可以直接调用外部 的本地方法实现.JVM解释是用C写的,可以更好的与本地方法交互.执行引擎前端编译( .java —> .class)字节码 不等于 机器码需要jvm
2022-01-21 10:34:59
370
原创 jvm运行时数据区
JVM 运行时数据区堆,方法区(元空间) 主要用来存放数据 是线程共享的.程序计数器,本地方法栈,虚拟机栈 是运行程序的,是线程私有的.程序计数器jvm中的程序计数器不是cpu中的寄存器, 可以理解为计数器.是一块非常小的内存空间,运行速度是最快的,不会出现内存溢出情况.作用:记录当前线程中的方法执行的位置. 以便于cpu在切换执行时,记录程序执行的为位置.在运行时数据区中唯一一个不会出现内存溢出的区域.本地方法栈当我们在程序中调用本地方法时,会将本地方法加载到 本地方法栈中执行.
2022-01-20 10:55:26
428
原创 JVM 结构-类加载
类加载子系统作用:类加载器子系统负责从文件系统或者网络中加载 class 文件。主负责加载类, 有执行引擎执行,存放在方法区(元空间)扮演者的是一个快递员的角色类加载过程1.加载 根据类的地址,从硬盘上读取类的信息, 将信息读入到方法区,生成Class类的对象细化:通过类名(地址)获取此类的二进制字节流.将这个字节流所代表的静态存储结构转换为方法区(元空间)的运行时结构.在内存中生成一个代表这个类的 java.lang.Class 对象,作为这个类
2022-01-20 10:51:58
54
原创 MySQL高级
MySSQL高级视图视图就是将一个较为复杂的查询语句包装在视图中,简化语句,视图被存储在数据库中,可以重复使用.视图中并不存储数据-- 创建视图CREATE VIEW sel_news AS SELECT n.id, n.title, t.name FROM news n LEFT JOIN TYPE t ON n.typeid = t.id-- 使用视图 SELECT * FROM sel_news; -- 删除视图DROP VIEW
2022-01-20 10:11:19
664
原创 java并发编程
线程基本内容程序: 静态代码 安装在硬盘上的进程: 运行中的程序 是操作系统分配内存空间的单位线程: 线程是进程中的一个最小执行单位, 是cpu调度单位 线程依赖于进程创建线程1.线程类 继承 Thread类 实现 Runnable接口 重写 run( )创建Thread类的对象,为其分配任务类 实现 Callable接口 重写 call( ) 有返回值 可以抛出异常 创建Thread类的对象,为其分配任务常用方法run() calll()
2022-01-16 09:43:10
211
原创 java设计模式
Java 设计模式(java design patterns)在前辈们长期开发的过程中,为解决某一类问题,总结出的一种较为优化的代码设计结构.提高程序代码复用,扩展性,稳定性.创建型模式、结构型模式和行为型模式 3 种创建型模式: 主要负责创建对象 单例,工厂单例模式在整个程序中只允许有一个对象.创建对象 使用构造方法. 将构造方法私有化,只能在本类中创建,这样我们就可以控制数量.向外界提供一个公共的访问方法.饿汉式单例 一般又称为急切式单例在类加载时,就会创建此单例对象,这
2022-01-15 10:13:33
114
原创 框架进阶之spring与建模语言
spring复习spring是一个轻量级的,非侵入式的,IOC,AOP,一站式的,简化企业级开发而生的.核心包非常小业务代码中不侵入框架代码IOC: 控制反转 将生成对象的权利 反转给了spring框架 依赖注入DI 为属性注入值AOP: 面向切面编程, 将一些与业务代码无关的公共部分抽取出来,使用时,通过代理对象调用,从而达到不修改源代码的基础上增加功能,代码的耦合度降低.一站式框架: 数据持久层,web控制层…如何搭建创建spring配置文件 spring.xml文件在spr
2022-01-14 13:24:04
132
原创 jvm概述
JVM 概述中高级程序员必备技能项目管理,性能调优虚拟机所谓虚拟机(Virtual Machine),就是一台虚拟的计算机。它是一款软件,用来执行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。大名鼎鼎的 VMware 就属于系统虚拟机,它是完全对物理计算机的仿真,提供了一 个可运行完整操作系统的软件平台。程序虚拟机典型的代表就是 java 虚拟机了,它专门为 执行某个单个计算机程序而设计。在 java 虚拟机中执行的指令我们称为 java 字节码指令。Java
2022-01-13 12:02:55
114
原创 并查集笔记
并查集Union Find一、并查集解决什么问题?可以非常高效的解决网络中节点的连接问题二、操作1>合并 union(p,q)2>是否连接 isConnected(p,q)注意:在使用并查集时,我们并不关心元素内容,因此可以使用数组保存元素,p和q分别对应元素所在数组的索引接口:public interface UF { // 获取元素的个数 int getSize(); // 合并操作 void union(int p, int q);
2022-01-07 10:27:25
156
原创 Spring
SpringSpring 是什么?Spring 是于 2003 年兴起的一个轻量级的,IOC 和 AOP 的 Java 开发框架,它是为了简化企业级应用开发而生的。Spring 优点轻量级的 jar包小,运行消耗内存资源小,核心包小spring于2003年兴起的一个轻量级的IOC和AOP的java开发框架,为了简化企业级开发而生的Spring 框架使用的 jar 都比较小,一般在 1M 以下或者几百 kb。Spring 核 心功能的所需的 jar 总共在 3M 左右。 Spri
2021-11-23 20:46:08
482
原创 java数据结构之堆
数据结构之堆堆的概念:1.是一棵完全二叉树2.父亲节点的优先级高于或低于左右孩子的优先级满二叉树:1.除叶子节点之处的所有节点都有左右子树2.叶子节点都在最后一层3.每一层节点的个数:2^(layer-1) layer代表层数4.叶子节点的个数:2^(h-1) h 代表树的高度5.非叶子节点的个数:2^(h-1)-16.节点的个数:2^h-1完全二叉树:按照树的结构,从左到右依次排列,把元素排列成树的形状优先队列:普通队列: 先进先出优先队列:出队
2021-11-17 15:48:21
235
原创 mybatis
mybatisjava框架框架会将很多基本功能进行了封装,程序员在框架基础上再进行业务开发.代码简洁,开发高效了解框架主要功能搭建框架:添加框架依赖的jar写配置文件框架中提供自己的一些接口,实现某种功能业务开发mybatis:原来是apache的一个开源项目,2010迁移到谷歌.更名为mybatisM 数据访问层(数据持久层) DAO(Data Access Object) model Student Admin UserController Servlet属于控制层Vie
2021-11-08 18:48:21
124
原创 maven
maven1.为什么我们要学习 maven?痛点 1:jar 包难以寻找 数量多 痛点 2:jar 包依赖的问题 一个jar中依赖于另一个jar包 痛点 3:jar 不方便管理 按不同的功能管理jar痛点 4:项目编译2.Maven 简介Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的项目构建工具,它用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、测试、打包和发布等工作。Maven 中的
2021-10-28 22:08:49
79
原创 Java数据结构之栈
栈一.栈Stack1.栈也是一种线性数据结构规定只能从栈顶添加元素,也只能从栈顶取出元素栈是一种后进先出的数据结构Last In First Out(LIFO)2.栈的具体实现package demo;import java.util.Random; /** * 定义属于自己的数组 * * @author 27306 * @date 2021年7月3日 */ public class MySelfArray<T&
2021-09-23 20:40:11
84
原创 java数据结构之数组
数组一.数据结构:1.是一门基础学科2.研究的是数据如何在计算机中进行组织和储存,使得我们可以搞笑的获取数据和修改数据3.数据结构可以分为三类:线性结构:数组.队列.栈.链表.哈希表…树形结构:二叉树,二分搜索树,AVL树,红黑树,堆,Trie,线段树,并查集…图结构:邻接矩阵,邻接表为什么学习数据结构:根据不同的应用,灵活选择最适合的数据结构数据结构+算法=程序二.课程设置数组栈队列链表二分搜索树堆线段树Trie(前缀树)并查集红黑树哈希表
2021-09-08 10:08:22
120
原创 Java第十一章:GUI
GUI的概念● 到目前为止,我们编写的都是基于控制台的程序;● GUI(Graphical User Interface)即图形用户界面,它能够使应用程序看上去更加友好;Swing概述● Swing是纯Java组件,使得应用程序在不同的平台上运行时具有相同外观和相同的行为。● Swing中的大部分组件类位于javax.swing包中.● Swing中的组件非常丰富,支持很多功能强大的组件.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jbFd0bxZ-163
2021-09-04 09:58:40
219
原创 第十章:线程
程序 进程 线程● 程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码。● 进程((process)就是正在执行的程序,从Windows角度讲,进程是操作系统进行 资源分配的最小单位.● 线程(thread)进程可进一步细化为线程,是一个进程内部的最小执行单元,是操 作系统进行任务调度的最小单元,隶属于进程线程和进程的关系● 一个进程可以包含多个线程,一个线程只能属于一个进程,线程不能脱离进程 而独立运行;● 每一个进程至少包含一个线程(称
2021-08-24 15:46:39
124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人