自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr.田的博客

记录成长,记录生活

  • 博客(157)
  • 收藏
  • 关注

原创 告别枯燥理论,直观体验HTTP协议的细节

在HTTP中,定义了多种请求类型,通常我们关心的只有GET请求和POST请求。只要在Web浏览器上输入一个URL,浏览器就将基于该URL向服务器发送一个GET请求,以告诉服务器获取并返回什么资源。下面来细究HTTP的结构细节:HTTP的结构分为客户端发送的请求和服务器返回来的响应,先来看一下HTTP的请求和响结构:a:请求规范包含:HTTP请求报文由3部分组成(请求行+请求头+请求体)...

2020-05-02 09:22:40 194

原创 MySql优化

数据库本质是一个结构化的存储在硬盘中的文件。其中一个文件是存储表的结构的。Create table定义的表信息。另一个文件是存储我们插入表中的数据。Insert into插入表中的信息。根据引擎不同可能存在第三个文件,这个文件中存储的是索引。如果查询数据:select * from user where id = 3;默认会全表遍历,直到找到id是3的行。速度很慢,因此优化的原则就是尽量...

2020-04-29 11:17:36 177

原创 git常用命令

常用命令:第一步:git pull ssh/网址 --把代码拉到本地 一顿操作(修改代码)............第二步:创建自己的分支并同步到远程git checkout -b 分支名git branch --set-upstream-to=origin/master --同步到远程仓库第三步:git add .git commit -m "提交说明"git push origin HEAD其他一些常用的操作:git status --查看状态:在那个分支上面g.

2022-08-22 17:51:00 23370

原创 证书流程与签名

证书流程与签名

2022-05-19 14:18:35 23426

原创 SpringBoot Controller、Service、Dao作用和关系

Controller、Service、Dao

2022-05-15 22:26:24 23397

原创 接口与多重继承

为了生成与一个特定的接口(或一组接口)相符的类,要使用 implements(实现)关键字。我们要表达的意思是“接口看起来就象那个样子,这儿是它具体的工作细节”。下面是Java 的“多重继承”的例子:interface CanFight { void fight();}interface CanSwim { void swim();}interface CanFly { void fly();}class ActionCharacter { public vo

2022-04-14 16:37:20 431

原创 构造器执行顺序Java

Java 构造器执行顺序结论:父类静态代码块>子类静态代码块>父类的构造代码块>父类的构造函数>子类构造代码块>子类构造函数举个例子:public class HelloB extends HelloA { public HelloB(){ System.out.println(" HelloB constructor"); } { System.out.println("helloa 构造器");//构造代码块

2022-04-14 09:46:15 939

原创 ACM 构造二叉树输入用例

ACM 构造二叉树输入用例在今年的秋招面试中,面试官要构造二叉树,输入用例就给了一个数组,怎么就能构造成二叉树呢?(可以先跳过,如果出现了类似的情况再来看)之后自己java写了一个完整的可执行程序。书写的时候出了两处bug:构造二叉树的函数只返回了root节点,而不是整个二叉树;当输入的数组个数为偶数时,出现错误。原因:1.root和二叉树失去了联系:root=new TreeNode();2.数组不能为偶数,因为数组表示二叉树默认这棵二叉树是完美的完整代码如下:package&nbs

2022-01-23 23:06:55 1480

转载 简历书写呀

简历书写

2021-09-01 10:44:37 117

原创 多路复用IO,select poll,Epoll

什么是IO多路复用?怎么实现?(select/poll/epoll)IO多路复用(IO Multiplexing)是指单个进程/线程就可以同时处理多个IO请求。实现原理:用户将想要监视的文件描述符(File Descriptor)添加到select/poll/epoll函数中,由内核监视,函数阻塞。一旦有文件描述符就绪(读就绪或写就绪),或者超时(设置timeout),函数就会返回,然后该进程可以进行相应的读/写操作。2.select/poll/epoll三者的区别?select:将文件描述符放入.

2021-05-19 19:25:52 24087 1

原创 常用排序算法

快排public static void quick(int []nums,int left,int right){ if(nums.length==0||nums==null)return ; if(left>right) return ; int l=left,r=right,key=nums[left]; while(l!=r){ while(nums[r]&gt.

2021-05-12 20:46:50 113

原创 HTTPS

参考资料:添加链接描述

2021-04-04 14:10:42 278

原创 排序算法

快速排序class Solution { public int[] sortArray(int[] nums) { if(nums.length==0||nums==null)return null; int left=0; int right=nums.length-1; quick(nums,left,right); return nums; .

2021-04-02 21:37:44 94

原创 SpringMVC

一.SpringMVC原理图1.DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,DispatcherServlet接收请求并拦截请求。我们假设请求的url为 : http://localhost:8080/SpringMVC/hello如上url拆分成三部分:http://localhost:8080服务器域名SpringMVC部署在服务器上的web站点hello表示控制器通过分析,如上url表示为:请求位于服务器localhost:808

2021-03-06 09:33:36 101

原创 Spring

1.spring是什么spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。2.IOC控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法,也有人认为DI只是IoC的另一种说法。没有IoC的程序中 , 我们使用面向对象编程 , 对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。控制反转是一种通过描述(X

2021-03-01 21:25:03 203

转载 Compare接口排序

添加链接描述

2021-02-28 21:02:45 239

原创 JavaWeb

1.什么是Servlet2.转发和重定向的区别3.JSP

2021-02-28 18:53:23 115

原创 Web热部署

2021-02-27 21:45:56 156

原创 QT中的QString,char*,QByteArray之间的相互转化

把QString转化为字节数组QByteArray QByteArray a= buf.toUtf8(); //QByteArray->char *char *b= a.data();char *->QString cahr *p="26"; QString s=new QString(p);

2021-01-14 15:11:45 356

原创 qt编译错误Error while building/deploying project (kit: Desktop Qt 5.12.0 MSVC2017 32bit) The

路径不能有中文!啊啊啊啊啊,笑出鸡叫,原来真的就一个中文路径的事,编译通过了,感谢感谢。 Qt编译不支持中文路径真是……

2021-01-11 20:26:25 4060

原创 qt运行网上下载的代码

1.点击文件,选择第二个2.先删除项目中的.user 文件,在点击.pro文件,重新配置,重新构建,就可以了。

2021-01-10 15:06:09 997

原创 QT打包发布成window可执行软件

把工厂模式切换到release模式下,并编译2.找到release模式下构建的文件夹3.把生成的exe程序放到新建文件夹中(不要有中文,我放在了桌面上)4.封包操作:找到QT的黑窗口5。

2021-01-07 21:39:31 305

转载 C10K

优质好文

2020-11-11 21:09:43 110

原创 图解计算机网络七层的功能

什么是TCP?为什么是三次握手?面向连接的(连接:客户端和服务器双方有资源为对方服务),可靠的传输协议七层:->应用层:下达命令(协议:http ftp ssh)->传输层:确保数据可靠传输(tcp,udp)->网络层:找到下一跳(网关)->链路层:找到MAC地址->物理层...

2020-11-10 20:35:06 302

原创 基金投资

买基金的前提:1.不 要 借 钱 炒 基 金 , 不 要 碰 p2p 和 网 贷 2.投 资 一 定 是 拿 闲 散 资 金 进 行 投 资 3.每 个 人 入 场 时 间 和 持 有 时 间 不 一 样 。 不 要 盲 目 去 跟 随 小 瑜 哥 和 其 他 大 v 4.基 金 投 资 是 一 个 长 期 过 程 大 于 3 年怎么做到低吸高抛?1.涨的时候看着就行,低的时候,放心大胆的买2.看淡涨跌:涨的时候开心死了,大吃大喝,跌的时候,难受的一批3.基金要拿住,不要频繁交易.

2020-11-10 16:12:06 371 1

原创 树的增删改查

package Tree;import java.util.Stack;//定义树节点class TreeNode{ int val; TreeNode left; TreeNode right; TreeNode(int x){ val=x; }}//我想要跟链表一样实现一个树的增删改查//1.建立一个二叉树TreeBuild();//2.增 add(TreeNode root);//3.删delete(TreeNode root

2020-11-07 09:23:01 950

转载 寻找二叉树某个节点的父节点(递归和非递归两种方法)java代码

参考

2020-11-07 09:22:16 2035

原创 反转链表

class Solution { public ListNode reverseList(ListNode head) { ListNode cur=null; ListNode pre=head; while(pre!=null){ ListNode last=pre.next; pre.next=cur; cur=pre; pre=last;

2020-11-03 21:35:02 69

原创 合并两个链表

public void meger(ListNode l1,ListNode l2){ ListNode l1_tmp; ListNode l2_tmp; while (l1 != null && l2 != null) { l1_tmp = l1.next; l2_tmp = l2.next; l1.next = l2; l1 = l1_tm.

2020-11-03 21:34:31 98

原创 leetcode-80. 删除排序数组中的重复项 II

题目:给定一个增序排列数组 nums ,你需要在 原地 删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。int i=0;for(int n:nums){ if(i<2||n>nums[i-2]){ nums[i++]=n; }}拓展:此方法可是实现每个元素最多出现K次,则代码是:int i=0;for(int n:nums){ if(i<k||

2020-11-03 10:49:03 83

原创 找到链表的中点

找中点其实很好操作的:一个快指针,一个慢指针,每次fast指针比慢指针多走一步,那么当快指针到链表终止时,slow指针刚刚好就是链表的中点就是因为这哥代码害我搞了一天,如果按这样子的话,fast指针始终只是比慢指针slow多走一步,不可能实现找中点的!fast=slow.next应该是:fast=fast.next.next错误示范:class Solution { public TreeNode sortedListToBST(ListNode head) {

2020-11-02 19:16:32 492

原创 leetcode--2两数相加

原题链接这题思路很简单,分为三个步骤:获取l1和l2的长度,并对短的链表进行补零两个对应节点的值相加注意:在进行两个对应节点的值相加时,链表末尾相加后,可能会大于10,这个时候需要在添加一个数代码:class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode p1 = l1; ListNode p2=l2; //1.获取l1和l2

2020-10-23 08:09:43 115

原创 leetcode234

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ /* 为什么反转链表不行,因为反转的时候,原链表也也跟着改变了,永远返回true */class Solution { public boolean isPalindrome(ListN

2020-10-22 19:02:51 83

原创 2020-10-19

分主次

2020-10-19 18:15:31 55

原创 leetcode15三数之和

参考文章代码:自己代码参考代码:class Solution { public List<List<Integer>> threeSum(int[] nums) {// 总时间复杂度:O(n^2) List<List<Integer>> ans = new ArrayList<>(); if (nums == null || nums.length <= 2) return ans;

2020-10-12 21:10:12 286

原创 计算机工作流程cpu

视频参考

2020-10-12 15:02:27 181

原创 continue在for循环中的应用java

int n;for(n=1;n<=10;n++){ if(n%3==0){ continue;//执行到continue的时候,后面的代码就不执行了,直接进入下一个循环} System.out.println(n); System.out.println(n);}

2020-10-02 15:29:46 1102

原创 自己实现String.replace方法

public class replacestring { //测试 public static void main(String[] args) { String s=" abgabelabab y"; String replace = replace(s, " ", "t"); System.out.println(replace); } //实现功能:把str这个字符串,把要换的target,换成你想要的repl

2020-09-29 09:21:45 464

转载 一些常用的算法技巧总结

一些常用的算法技巧总结

2020-09-28 21:50:27 125

原创 摩根投票法

先给出结论:摩根投票法:candicate就是数组中出现最多地数----->candidateint count=0,candidate=0; for(int n:nums){ if(count==0)candidate=n; count+=(n==candidate)?1:-1; }具体得摩根投票法是怎么来的?请看:Boyer-Moore 投票算法思路如果我们把众数记为 +1+1,把其他数记为 -1−1,将

2020-09-25 21:15:03 465

空空如也

空空如也

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

TA关注的人

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