自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (1)
  • 收藏
  • 关注

原创 Vue中使用axios提交表单并使用Spring Boot进行后台接收

看起来很简单的一个事情,却折腾了快一天的时间,因此记录一下,以防后期继续采坑。vue中提交的方式有三种(1) 使用json格式(2) 使用form data格式(3) 使用qs.stringify的格式使用axios进行提交的时候默认使用的是json格式的字符串。export default { name: "TestForm", data() { return { formLableWidth:100,

2021-01-22 11:00:00 1542

原创 SQL——分组比较

废话不多说了,直接上题。部门员工最高的工资题目来源:184. 部门工资最高的员工Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id。分析:Employee表中有Salary和DepartmentId,因此可以在该表中查出每个部门的最高薪水。select DepartmentId, max(Salary) from Employee group by DepartmentId)然后需要得到的结果 Depar

2020-06-25 20:41:47 1320

原创 SQL——查找第N高的数据

查找第N高的数据插在第N高的数据,在学生成绩查询,薪水查询中经常用到,下面结合一道力扣上的题来总结一下该类题型应该如何求解第二高薪水题目来源:176. 第二高的薪水解决思路:第一步:我们可以先考虑对薪水进行排序select distinc Salary from Employee order by Salary desc;第二步:选取第二的薪水select distinct Salary from Employee order by Salary desc limit 1,1;第三步:处

2020-06-25 17:43:52 1431 1

原创 SQL——查找重复数据/去重

查找重复的电子邮箱题目来源:力扣182. 查找重复的电子邮箱要求,编写一个SQL查询查找Person表中所有重复的电子邮箱Create table If Not Exists Person (Id int, Email varchar(255))Truncate table Personinsert into Person (Id, Email) values ('1', 'a@b.com')insert into Person (Id, Email) values ('2', 'c@d.com

2020-06-25 15:37:37 1074

原创 SQL——表的连接

基本知识点多表连接分为以下几种类型:1)左联结(left join),联结结果保留左表的全部数据2)右联结(right join),联结结果保留右表的全部数据3)内联结(inner join),取两表的公共数据关于多表连接,以及如何使用联结的类型。记住下面这张图即可:参考链接:图解SQL面试题:多表如何查询?相关题型组合两个表力扣175. 组合两个表题目描述: 题目要求:编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以

2020-06-25 11:28:18 737

原创 Java集合——Map

死磕Map面试Java,集合框架中的Map一定是绕不过的一个坎儿,今天就让我们从是什么,为什么,怎么用这三面来死磕Map。Map接口及基本实现类Map是什么?简而言之,Map就是Java中提供的保存键值对的数据结构。Java类库中提供的Map的基本实现类型特点HashMap*Map基于散列表的实现(它取代了HashTable)。插入和查询“键值对”的开销是固定的。可以用于通过构造器设置容量和复杂因子,以调整容器性能LinkedHashMap类似于HashMap,但是

2020-06-24 20:33:48 205

原创 手撕算法——LinkedHashMap相关的题型

class Node{ public int key; public int val; Node(int key,int val){ this.key=key; this.val=val; }}class LRUCache { /* 缓存满了的时候,选择未使用的时间最长的置换出去 */ private Deque<Node> deque; private Map<Integer,Node&gt

2020-06-24 20:30:24 154

原创 Java集合——Set

Set及使用场景类型特点Set(interface)存入Set的每个元素都必须是唯一的。加入Set的元素必须定义equals()方法以确保对象的唯一性。Set与Collection有完全一样的接口。Set接口不保证维护元素的次序。HashSet*为快速查找而设计的Set。存入HashSet的元素必须定义hashCode()TreeSet保持次序的Set,底层为树结构。使用它可以从Set中提取有序的序列。元素必须实现Comparable接口LinkedHashSe

2020-06-24 15:04:03 130

原创 手撕算法——快速排序及相关题型

快速排序及它的变形题型在面试中经常被问到,本文进行一下总结。快速排序实现快速排序的关键便是partition函数,这个函数的主要功能是把比选择数字小的数字移到数组的左边,把比选择数字大的数字移到数组的右边。主要实现分为以下四步:第一步:找基准数,并把它放到数组的末尾第二步:使用small标记划分区间,初始值为-1,意味着划分区间无值第三步:遍历数组,将比基准值小的值放入划分区间第四步:将选择的数字也放入划分区间代码如下public int partition(int[] arr,int s

2020-06-17 17:58:06 306

原创 手撕算法——二叉树面试题目汇总

二叉树遍历先序遍历递归class Solution { public List<Integer> preorderTraversal(TreeNode root) { List<Integer> list=new ArrayList<>(); if(root==null){ return list; } helper(list,root); return

2020-06-17 10:04:10 459

原创 手撕算法——单调栈

单调栈模板Stack<Interger> stack=new stack<>();for(int i=0;i<nums.length;i++){ while(!stack.empty()&&nums[i]>stack.peek()){ //记录结果 } stack.push(nums[i]);}while(!stack.empty()){ //处理剩余元素}相关题型下一个更大的元素题目描述:496. 下一个更大元素 I给定两

2020-06-15 10:28:50 273

原创 数据库基础

数据库基础数据库基础事物事务的四个特性(ACID)并发一致性和事务的隔离级别数据库锁独写锁意向锁视图索引索引简介索引分类和选择三范式DML,DDL,DCL和TCL删除数据的方式约束存储过程触发器表的连接分布式数据库和集中式数据库数据库分片、分区、分表、分库存储引擎常用命令常用操作数据库的命令修改表的命令对数据的操作高级查询连接查询联合查询子查询数据库基础事物事物就是必须原子地执行一组或多组数据库操作的集合。要么都执行,要不都不执行。可以通过commit提交一个事务,也可以使用rollback进行回滚。

2020-06-10 20:26:42 291

原创 手撕算法——递归

递归及相关题型递归在力扣刷题中经常用到,最常见的就是使用递归来遍历二叉树。因此今天总结一下递归求解问题的套路以及常考的面试题,能力有限,如有不对大家多多指教。递归解题思路递归,就是在函数内部调用函数本身,因此递归适用于求解可以将一个问题拆分为一个个相同子问题的题目。如二叉树的遍历可以拆分求解左子树的遍历和右子树的遍历两个子问题。我们将递归解题的套路归结为以下三点:(1)考虑递归终止条件是什么(2)当前应该做什么(3)交给递归去做什么(4)返回结果是什么以二叉树遍历为例子public Lis

2020-06-10 09:51:02 313

原创 操作系统——存储管理

存储管理单一连续管理分区存储管理单一存储管理分区把内存分为两个区域:系统区和用户区。应用程序装入到用户区,可使用用户区全部思想。优点:简单,适用于单用户、但任务的操作系统,不需要复杂硬件的支持。缺点:一个作业运行时要占用整个内存的地址空间,即使很小的程序也是如此,对内存造成很大的浪费,内存利用率很低固定分区为了实现躲到程序和实现多用户操作系统,可采用将内存划分成多个固定大小的块的方法,这就是固定分区法。优点:与单一连续分配作业相比,固定分区法的内存利用率提高了;可以实现多道程序;实现简单,开销

2020-06-09 17:28:21 246

原创 c语言字节对齐的计算方式

结构体的字节对齐,在笔试中经常考到,这里从下面三段代码简单的总结一下结构体字节对齐的计算方式。计算的时候需要遵循一个原则,即每个变量的其实地址应该为它长度的整数倍。struct Data{ int a; char b; short c;};int main(){ struct Data data; cout<<sizeof(data)<<endl;}输出为8.a的其实地址为0,结束地址为3,起始地址4是1(char的长度)

2020-06-09 17:02:39 732

原创 数据库——字段类型

数据库的字段类型今天对数据库中的一些数据类型进行总结。MySQL数据类型选取的原则(1)更小通常更好一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少。(2)简单更好简单的数据类型的操作通常需要更少的CPU周期。例如整形比字符操作代价更低,因为字符集的校对规则(排序规则)使字符比较比整形比较更复杂。这里有两个例子:一个是应该使用MySQL内建的类型而不是字符串来存储日期和时间,另外一个是应该用

2020-06-09 15:37:13 5988

原创 java——多线程基础

1、线程的理解:(1)线程的使用:线程的学习难点并不在于如何创建、开启一个线程,而是应该何时创建,线程如何同步,使得程序能够运行得到预期的结果。 比如文字处理程序 你可以设置每隔多长时间 输入的内容可以自动的保存 而这个保存操作并不需要你的介入 而是使用一个线程专门负责这个操作,在这个程序中至少得有两个线程 一个便是主线程 用来捕获你从键盘输入的内容 而另一个线程则负责定时保...

2020-06-07 17:30:46 123

原创 Java多线程——线程池

由浅入深理解线程池创建线程的几种方式线程池的参数含义Excutors会导致的问题https://juejin.im/post/5dc41c165188257bad4d9e69如何使用线程池线程池在项目中的应用

2020-06-01 21:26:27 459

原创 手撕算法——归并排序及排序链表

归并排序对于归并排序,大家怕是都不陌生,也可以非常熟练的写出归并排序的代码,因此本篇文章的重点并不是向大家介绍归并排序,而是讨论归并排序的拓展题型——力扣:148.排序链表。至于归并排序的原理可以参考:图解排序算法(四)之归并排序,下面也贴出代码实现代码实现/**归并排序 分而治之 通过递归分,然后merge */public class MergeSort { public void sort(int[] a,int begin,int end,int[] tmp){

2020-05-30 10:13:25 205

原创 手撕算法——打家劫舍

打家劫舍198. 打家劫舍打家劫舍问题是一个经典的动态规划问题,但是当我做中兴的笔试题的时候,竟然输在没有读懂题目上,归根节点,还是对该类问题的不熟悉。同时,自己的阅读能力也有待提升直接上代码class Solution { public int rob(int[] nums) { if(null==nums||nums.length<=0){ return 0; } if(nums.length==0){

2020-05-29 22:53:09 234

原创 手撕算法——搞定BFS

BFS的答题模板BFS,广度优先搜索答题模板(1)创建队列(2)将头结点放入队列(3)当队列不为空的时候进行遍历Queue<T> queue=new LinkedList<>();queue.add(root);while(!queue.isEmpty()){ T node = queue.poll(); for(...){ //将符合条件的节点加入队列中 }}层次遍历二叉树题目描述:给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层

2020-05-28 18:04:30 185

原创 手撕算法——字母异位词分组

题目描述49. 字母异位词分组给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。分析:具有相同字母的不同字符串分为一组。解法一:将每个字符串都进行排序,然后存入Map中,比如 tea, eat排序之后

2020-05-28 16:34:38 261

原创 手撕算法——二叉树中和为某一值的路径及变形

二叉树树中和为某一值的路径,该题目是剑指offer上的一道题目,第一次刷题的时候一次就过了,所以没有当回事,当我遇到一个该题目的变形题的时候却一直通过不了,发现自己还是眼高手低,因此重新总结和记录一下。二叉树中和为某一值的路径题目描述面试题34. 二叉树中和为某一值的路径输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。示例:给定如下二叉树,以及目标和 sum = 22,返回:分析: 寻找二叉树中和为某一值的

2020-05-28 08:03:09 169

原创 手撕算法——01背包问题

题目描述01背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000

2020-05-27 21:30:07 238

原创 MySQL——慢查询

慢查询慢查询为什么会慢什么是慢查询从查询语句的执行过程来谈一谈为什么会慢如何排查慢查询慢查询日志什么是慢查询日志慢查询日志相关参数如何配置慢查询日志常用工具的使用日志分析工具mysqldumpslow如何优化慢查询优化你的SQL语句参考资料慢查询为什么会慢什么是慢查询MySQL慢查询就是在MySQL慢查询日志中记录查询比较慢的语句,需要通过命令或者配置开启慢查询日志。从查询语句的执行过程来谈一谈为什么会慢想要知道一条查询语句为什么会慢,我们需要了解一条查询语句是怎么执行的,只有了解了它的每一个执行

2020-05-26 22:31:04 180

原创 手撕算法—— 最长回文子串

题目描述最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”解题思路看到这道题的时候,第一眼能想到的方法就是暴力破解,枚举每个子串,看它是不是回文子串,并且记录最长的回文子串。它的时间复杂度为O(N^3),空间复杂度为O(N),这里N指的是数组的长度。时间复杂度为O(N^3)的原因是使用两层for

2020-05-26 12:13:40 226

原创 手撕算法——缺失的第一个整数

题目描述给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1提示:你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。思路分析思路一:先排序在寻找如果这道题没有没有时间复杂度和空间复杂度的要求,相信大家能很轻松的写出来,比如直接对数组进行排序,然后比较得到第一个缺失的数。代码如下:class Sol

2020-05-25 09:56:51 178

原创 手撕算法-位运算

位运算位运算是把数字用二进制表示后,对每个位置上的0或者1 的运算二进制中的1的个数方法一:会导致死循环的方法public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { int cnt=0; while(n!=0){ if((n&1)!=0){

2020-05-24 23:53:25 227

转载 SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍

原文出自https://blog.csdn.net/u010412719/article/details/69710480 SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍@Controller 处理http请求@...

2018-05-27 20:08:18 898

转载 navicat for Mysql:2003 can't connect to mysql server on 'localhost'(10038)问题的解决方法

转自:https://blog.csdn.net/hfhuazai/article/details/51872686 发现问题:问题的出现是这样的—–我打开Navicat,点击某个主机名/IP为localhost的连接,然后报错。分析问题:意思是“不能够连接到主机(名称为localhost)上的MYSQL服务”。这样问题就明了了。既然连接不到,原因就可能是:1—-主机local...

2018-05-15 11:12:41 976

原创 java线程模拟生产者消费者问题

package com.test;import java.util.*;/** * 参考文章http://www.importnew.com/16453.html * 学习wait() synchronized()需要搞明白两个问题 * 1、如何正确的使用wait方法 * 2、synchronized()是用来做什么的,哪个对象应该被synchronized * 3、nority(...

2018-05-14 17:32:11 304

原创 java——线程学习笔记

1、线程的理解:(1)线程的使用:线程的学习难点并不在于如何创建、开启一个线程,而是应该何时创建,线程如何同步,使得程序能够运行得到预期的结果。 比如文字处理程序 你可以设置每隔多长时间 输入的内容可以自动的保存 而这个保存操作并不需要你的介入 而是使用一个线程专门负责这个操作,在这个程序中至少得有两个线程 一个便是主线程 用来捕获你从键盘输入的内容 而另一个线程则负责定时保...

2018-05-14 17:29:53 165

原创 java socket学习笔记(三)——socket实现UDP通信

参考博客:https://www.cnblogs.com/zhaozihan/archive/2016/11/12/6057118.html 客户端类:public class UDPClient { public static void main(String[] args) throws IOException{ //定义服务器的地址,端口号,...

2018-05-14 17:20:47 4697

原创 java socket学习笔记(二)——多线程实现socket通信

服务器端服务器类public class ServerDemo01 { public static void main(String[] args) { /* * 服务器端测试 * public ServerSocket(int port) throws IOException { this(p...

2018-05-14 17:16:15 239

原创 java socket学习笔记(一)——单线程实现socket通信

服务器端public class serverDemo { public static void main(String[] args) { /* * 服务器端测试 * public ServerSocket(int port) throws IOException { this(port, 50...

2018-05-14 17:11:55 242

原创 java中的IO流

一直对java中的IO流掌握的不是很好,今天正好看见一篇非常好的博客,就再学习了一下,下面是测试代码:1、节点流的测试/*节点流测试*/ //字符流 FileInputStream与FileOutputStream的测试 public static void copyIo() { try { FileInputStream in...

2018-05-08 22:34:02 124

原创 XML文件的读取与保存

最近做了一个读取XML文件的信息显示到浏览器上,再可以更改之后保存回XML文件中的功能,在网上查看了一些资料,勉强算完成任务,新手入门,故先记录下来,若有大佬有较好的解决方案,还望给出评论! 大概的思路是:采用jsp/servlet,dom4j进行读取xml文件完成。 dom4j使用 1、导包 2、文件加载public Document load(File file) { ...

2018-04-28 17:18:38 752

原创 JavaScript实现定时弹出广告

function init(){ //设置显示广告的时间 //注意不使用var修饰 意味着time不是局部变量 time=setInterval("showAd()",5000);}function showAd(){ //显示广告 var ad=document.getElementById("ad"); ad.style.display="...

2018-04-27 12:14:19 402

原创 轮播图的实现

假设有五张图片HTML文件中&lt;body onload="init()"&gt; &lt;div style="border: 1px red solid;"&gt; &lt;img src="img/main1.jpg" id="image"/&gt; &lt;/div&gt; &

2018-04-27 11:32:13 132

原创 Javascript实现用户注册验证

JSfunction isRight(){ //验证用户名是否为空 var username=document.getElementById("username").value; if(username==""||username==null){ alert("用户名不能为空!!"); return false; } ...

2018-04-27 10:53:16 4567

WOK_Course_20130924.pdf

中国科技大学论文选题的讲义: 什么是开题报告; 开题报告的结构; 开题报告基本内容

2020-02-05

空空如也

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

TA关注的人

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