自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 GET和POST两种基本请求方法的区别

一、 前言HTTP定义了与服务器交互的不同方法,最常用的方法有四种Put,Delete、post,get,即增删改查。1.Get,它用于获取信息,它只是获取、查询数据,也就是说它不会修改服务器上的数据,从这点来讲,它是数据安全的,而稍后会提到的Post它是可以修改数据的,所以这也是两者差别之一了。2.Post,它是可以向服务器发送修改请求,从而修改服务器的,比方说,我们要在论坛上回贴、在博客上评论,这就要用到Post了,当然它也是可以仅仅获取数据的。3.Delete 删除数据。可以通过Get/Pos

2020-06-20 22:00:22 375

原创 会这些Java工程师面试题,月薪至少3W⑤

OSI与TCP/IP各层的结构与功能,都有哪些协议?学习计算机网络时我们一般采用折中的办法,也就是中和 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。结合互联网的情况,自上而下地,非常简要的介绍一下各层的作用。应用层应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,

2020-06-15 16:30:02 411

原创 “说一下深拷贝与浅拷贝”

答:1. 浅拷贝拷贝对象和原始对象的引用类型引用同一个对象。被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅拷贝仅仅复制所拷贝的对象,而不复制它所引用的对象。public class ShallowCopy { public static void main(String[] args) throws CloneNotSupportedException { Teacher teacher = new Teacher();

2020-06-12 15:46:36 412

转载 SpringMVC的工作流程

用户向服务器发送请求,请求被SpringMVC 前端控制器 DispatcherServlet捕获;DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI):判断请求URI对应的映射不存在:判断是否配置了mvc:default-servlet-handler:如果没配置,则控制台报映射查找不到,客户端展示404错误如果有配置,则执行目标资源(一般为静态资源,如:JS,CSS,HTML)存在:执行下面流程根据该URI,调用HandlerMapping获得该.

2020-06-11 19:02:16 202

原创 面试官问:“Spring MVC怎么样设定重定向和转发的?

答:一般情况下,控制器方法返回字符串类型的值会被当成逻辑视图名处理。如果返回的字符串中带 forward: 或 redirect: 前缀时,SpringMVC 会对他们进行特殊处理:将 forward: 和redirect: 当成指示符,其后的字符串作为 URL 来处理。(1)转发:在返回值前面加"forward:",譬如"forward:user.do?name=method4"(2)重定向:在返回值前面加"redirect:",譬如"redirect:http://www.baidu.com"@

2020-06-10 21:22:01 2812

原创 面试官问:“谈谈对AOP的理解”

答:AOP(Aspect-Oriented Programming,面向切面编程):是一种新的方法论,是对传统 OOP(Object-Oriented Programming,面向对象编程)的补充。面向对象是纵向继承,面向切面是横向抽取。AOP编程操作的主要对象是切面(aspect),而切面用于模块化横切关注点(公共功能)。面向切面编程,就是将交叉业务逻辑封装成切面,利用AOP的功能将切面织入到主业务逻辑中。所谓交叉业务逻辑是指,通用的,与主业务逻辑无关的代码,如安全检查,事物,日志等。若不使用AO

2020-06-10 21:19:20 4624

原创 面试官问:“什么是Spring MVC?简单介绍下你对Spring MVC的理解?”

答:​ 一种轻量级的、基于MVC的Web层应用框架。偏前端而不是基于业务逻辑层,是Spring框架的一个后续产品。通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。​ **spring MVC是一种分层设计思想,目标是将复杂的应用系统按照分层处理进行设计和规划,通过这种设计方式达到分而治之的效果,从而降低程序开发的难度,提高代码的可维护性.**Spring MVC核心类是 DispatcherServlet,它是

2020-06-10 21:16:36 4708

原创 如何准备一份完美的Java简历呢?

如何做一份简历才能提高你拿到 Offer 的几率。一、「命中率」是检验简历的唯一标准大家经常觉得简历就自我赞歌,所有美好的形容词堆砌起来都不够不够的,自己实在是太优秀了[捂脸]!但是,实际上这样的简历并非真的优秀。第一个小白,做的简历像渣渣,海投简历无人问津,铁定不是好简历。第二个小黑,简历做的像文案,头像层层美颜,投出去的简历几乎封封得到回复,但几乎没通过一面,这也不是好简历。真正好的简历,是命中率高的小红,虽然没有全部回复,回复过的公司总能保持较高的面试通过率,用最少资源,找到合适的工作。

2020-06-08 23:24:57 1163

原创 通过五轮面试的阿里Java实习生亲述

拿到 阿里实习offer,经历了5次面试,其中4轮技术面,1轮HR面试。在这里分享一下自己的面试经验和学习总结。希望能够帮助更多的小伙伴。我本科毕业于中南大学信管专业,真正开始学习Java是在大三下学期,研究生就读北航的移动云计算专业。刚开始也是小白,也是一步步成成起来的。需要提的一点是,你将来是需要靠这个吃饭的,所以请对找工作保持十二分的热情,而且越早准备越好。阿里一面一面是在上午9点多接到支付宝的面试电话的,因为很期望能够尽快接到阿里的电话,所以非常兴奋。电话接通之后还是非常紧张的,毕竟是第一次这

2020-06-05 22:40:04 578

原创 会这些Java工程师面试题,月薪至少3W④

面试官问:“为什么重写equals时必须重写hashcode方法?”答:​ 1. 首先是为了提高效率,hash类存储结构(HashSet、HashMap等等)添加元素会有重复性校验,校验的方式就是先取hashCode判断是否相等,然后再取equals方法比较,最终判定该存储结构中是否有重复元素。重写hashcode方法的话,会先进行hashcode比较,如果不同,那么就没必要在进行equals的比较了,这样就大大减少了equals比较的次数,(这是因为hashcod相等,equals可能相等,hashc

2020-06-05 10:49:35 286

原创 会这些Java工程师面试题,月薪至少3W③

Java中的IO流分类:按照流的流向分,可以分为输入流和输出流按照操作单元分,可以分为字节流和字符流按照流的角色分,可以分为节点流和处理流Java IO流设计40多个类,这40多个类都是从如下4个抽象类基类中派生出来的:InputStream/Reader:所有输入流的基类,前者是字节输入流,后者是字符输入流。OutputStream/Writer:所有输出流的基类,前者是字节输出流,后者是字符输出流。按操作方式分类结构图:按操作对象分类结构图:“既然有了字节流,为什么还要有

2020-06-03 13:55:33 197

原创 会这些Java工程师面试题,月薪至少3W②

接口和抽象类的区别接口一个类实现了多个接口,那么必须实现接口中所有的抽象方法,如果方法相同,那么只需要Override一次。所有接口中的默认方法也可以被继承,但是如果两个接口有重名的默认方法,类必须Override这个方法。一个类,有基类,同时实现了接口,接口中有默认方法,且接口中的默认方法和基类的方法同名,那么会优先使用基类中的方法。一个接口可以继承一个或多个接口,即接口是可以多继承的。接口里不能有成员变量,构造函数,static静态代码块,不可以创建对象接口里可以有

2020-06-03 13:52:50 644

原创 会这些Java工程师面试题,月薪至少3W①

​关于JVM 、JDK和JREJVMJava虚拟机(JVM)是运行Java字节码的虚拟机。在java中,将虚拟机可以读懂的代码,称之为字节码。这里记住不要混淆了。是将虚拟机可以读懂的代码称之为字节码。也就是java中的class文件。而不是机器可以读懂的代码,机器可以读懂的那个二进制命令,是0和1组成的文件。JVM有针对不同系统的特定实现(Windows、Linux、macOS),目的是使用相同的字节码,它们都会给出相同的结果。Java程序从源代码到运行一般有以下三步总结Java虚拟机(JVM)

2020-05-29 19:27:49 283

原创 反转链表 Java

题目描述反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL

2020-05-27 16:36:55 148

原创 算法题:三数之和 Java

题目描述给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]题解class Solution { public List<List<Integer>> three

2020-05-26 17:33:55 896

原创 算法题:两数之和 Java

题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题解:暴力class Solution { public int[] twoSum(int[] nums, int ta

2020-05-26 17:13:10 296

原创 爬楼梯 JAVA

题目描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶题解class Solution { public int climbStairs(int

2020-05-26 16:17:12 239

原创 力扣11. 盛最多水的容器 JAVA

2020/5/8第二题题目描述:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例:输入:[1,8,6,2,5,4,8,3,7

2020-05-08 17:37:55 458

原创 力扣283.移动零 JAVA

今天开始,每天至少两道算法题!从简单的开始~题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。题解1: public void moveZeroes(int[] nums) { ...

2020-05-08 14:47:21 199

原创 双指针类型题 C++

实际上,双指针是一个很笼统的概念。只要在解题时用到了两个指针(链表指针、数组下标皆可),都可以叫做双指针方法。根据两个指针运动方式的不同,双指针方法可以分成同向指针、对向指针、快慢指针等。当双指针方法遇到链表问题,我们主要使用快慢指针方法。很多时候链表操作遇到疑难杂症时,可以使用快慢指针,减少算法所需的时间或者空间。标题链表问题中的双指针我们知道,链表数据类型的特点决定了它只能单向顺序访问,...

2020-03-24 11:48:09 219

原创 青蛙跳台阶问题 C++

问题描述一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21提示:0 <= n <= 100题解:我们可以计算前面几个数字发现规律,n = 1时...

2020-03-21 22:10:25 537

原创 算法题:顺时针打印矩阵

题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]题解根据实例我们可...

2020-03-21 12:08:07 185

原创 leetcode 409.最长回文串 C++

leetcode 409.最长回文串 C++题目描述给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:“abccccdd”输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。题解首先遍历...

2020-03-20 11:29:48 289

原创 leetcode 141.环形链表

leetcode 141.环形链表C++实现题目描述:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:hea...

2020-03-16 19:05:19 110

原创 leetcode83.删除链表中的重复元素 C++实现

leetcode83.删除链表中的重复元素 C++实现题解一:题解二:递归关于解递归题的三部曲:1、找到递归的终止条件2、找返回值3、本级递归应该做什么例如本题:1、当head指向链表只剩下一个元素时不可能重复,此时返回head2、返回的是已经去重的链表的头节点3、本级递归应该做的是判断当前的head和head->next的值是否相等,若相等则说明重复了,则返回head-...

2020-03-16 17:51:09 320

空空如也

空空如也

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

TA关注的人

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