自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python 为什么要 if __name__ == “__main__“:

Python 为什么要 if __name__ == "__main__":

2023-02-18 16:10:46 7051 4

原创 Kubernetes里的Service到底是什么?为什么我需要定义Service?难道光有Pod还不够吗?

在Kubernetes里有一个资源(resource)叫做Service。很多同学第一次看到Service这个资源的时候就会开始思考Service与Pod之间的差别在哪里?既然我们已经定义了deployment,并且Kubernetes会根据deployment来生成管理Pod,为什么我们还需要再定义一个Service呢?首先我们要先理解Pod的特性。在Kubernetes的眼里,Pod是可以随时被删除并且被新创建的Pod给取代的。让我们来看看下面这个场景。假设我们现在有一个后台服务叫做Discount

2022-05-06 15:17:08 494

原创 Kubernetes Pod 是什么?为什么需要Pod?为什么不直接管理容器containers?

K8s并不会直接管理容器,而是用pod作为一个新的资源单位,将容器纳入pod里面来管理。这听起来有一点抽象,让我们用下面这一张示意图来表示:

2022-05-02 06:25:51 971 1

原创 vmmem 进程占用CPU资源的解决办法

背景小弟David最近从开始使用Windows 10 预览版,因为需要在WSL上面跑CUDA的东西。然而这个Win10 预览版的小问题实在太多。其中一个问题就是vmmem进程占用CPU资源。今天一开机,就发现风扇疯狂的转阿转。打开任务管理器一看,发现有个叫做vmmem的进程占用了不少CPU资源。上网一查,发现原来这个进程是代表着所有虚拟机的CPU与内存总开销。这里有一篇微软的开发者blog有说明:https://devblogs.microsoft.com/oldnewthing/20180717-0

2021-05-22 05:44:56 81218 4

原创 Java Scanner 读取不了完整句子,问题分析与解决办法

通过查找最近的异常,我们发现 **MalformedInputException** 就是整个问题的根本原因。以下是甲骨文官方文档对该异常的介绍:...我们可以得出一个结论,那就是在我们读取的文件中,含有不同的 character encoding,从而导致 Scanner 无法识别不同 encoding 之下的 character。

2021-01-09 11:45:10 1119

原创 每日一练 LeetCode 1217. 玩筹码

LeetCode 1217. 玩筹码题目描述数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中。你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以):将第 i 个筹码向左或者右移动 2 个单位,代价为 0。 将第 i 个筹码向左或者右移动 1 个单位,代价为 1。 最开始的时候,同一位置上也可能放着两个或者更多的筹码。返回将所有筹码移动到同一位置(任意位置)上所需要的最小代价。示例 1:输入:chips = [1,2,3]输出:1解释:第二个筹码移动到位置三

2020-11-05 19:00:31 241

原创 CSRF跨站请求伪造原理以及防御

打V最近重新温习了一遍CSRF,决定写个博客简单记录一下CSRF的原理,方便以后复习之用。CSRFCSRF的全称为 Cross-site request forgery,中文称为跨站请求伪造。顾名思义就是其他非法网站向合法网站发送被伪造的用户请求。经典场景CSRF的其中一个经典场景就是银行网银转账。用户Bob登录了网银,并转了100元给朋友,转账完成之后Bob并没有点击登出网银。网...

2020-03-17 05:52:37 372

原创 Spring Boot没有读取data.sql自动生成数据怎么办

当Spring Boot启动时,会自动读取data.sql并执行里面的sql语句。但如果Spring Boot不自动读取data.sql的时候怎么办?

2020-03-11 16:36:38 727

原创 5分钟编程概念:引用类型和数值类型的区别

对于一个函数,我们可以传递**引用类型**或是**数值类型**给这个函数。然而这两种类型的区别非常大,但却又常常被新手误解。因此,理解他们的区别与用法则显得非常重要。这里有一张动图可以表示两者之间的区别。

2020-03-03 09:34:24 381

原创 剑指offer 动画图解 | 矩形覆盖 用递归的思路解题

这一题可以用递归的思想来解决。首先我们先来看看几个基本情况下,有几种覆盖方法。这个时候我们可以运用递归的思维,思考当 n + 1 的时候会发生什么事情

2020-02-27 10:19:51 321

原创 5分钟看懂Java封装函数的返回结果实例

今天程序员打V在工作的时候遇到一个问题,那就是我们要如何让一个函数返回各种不同类型的数据?有一个好方法,那就是封装我们的返回结果。我们可以把要返回的对象跟信息一起封装成一个新的对象之后再返回。如此一来,调用者就可以根据需要从返回的封装对象中取出目标对象或者信息了。

2020-02-23 12:24:07 989

原创 利用Java反射机制,创建与初始化字段较多的对象

对象有许多属性,比如说姓名,生日,邮箱,电话,微信号等等。因此,在创建对象时,我们需要初始化的属性非常多,需要连环调用setter来完成对象的初始化。我们可以利用Java反射机制动态创建对象并初始化属性。就算有100个需要初始化的属性,那也都是一行代码就搞定!

2020-02-22 06:51:51 1251

原创 剑指offer 动画图解 | 从尾到头打印链表

文章目录题目描述解题思路算法算法代码算法动图算法效率通过刷题剑指offer,可以有效提升面试的成功率,这是因为技术岗位的面试总是离不开算法题。如果想要在算法题方面表现得好的话,刷题是唯一的捷径。正所谓:书山有路勤为径题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。解题思路题目给了我们一个单向链表,我们需要反向输出每个节点的值。然而,单向链表的一个特点就是只能正向遍...

2020-02-16 09:38:28 211

原创 ArrayList中你分得清楚size与capacity的区别吗?

在ArrayList中,size跟capacity是一样的东西吗?让我们通过源码分析与实例来进行解答。文末附上总结图,值得收藏。

2020-02-14 12:05:38 1437 1

原创 剑指offer 动画图解 | 变态跳台阶

通过刷题剑指offer,可以有效提升面试成功的概率,这是因为技术岗位的面试总是离不开算法题。如果想要在算法题方面表现得好的话,刷题是唯一的捷径。正所谓:书山有路勤为径题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路这题的思路与我们之前的这篇文章剑指offer 动画图解 | 跳台阶 3分钟刷题很像,只不过这一次青...

2020-02-13 06:30:06 296

原创 剑指offer 动画图解 | 跳台阶 3分钟刷题

文章目录题目描述解题思路算法由下自上的循坏算法 O(n)算法效率通过刷题剑指offer,可以有效提升面试成功的概率,这是因为技术岗位的面试总是离不开算法题。如果想要在算法题方面表现得好的话,刷题是唯一的捷径。正所谓:书山有路勤为径题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。解题思路这类的题型与算术有关系,...

2020-02-09 01:53:08 295

原创 剑指offer 动画图解 | 斐波那契数列 3种实现方法

文章目录题目描述什么是斐波那契数列请写出生成斐波那契数列的函数实现方法1:递归 O(2^n)实现方法2:从底层开始循环计算 O(n)实现方法3:动态规划 O(n)其他实现方法斐波那契数列是一道非常经典的面试题,因为它考察了面试者是否理解递归的缺点,以及如何分析递归的效率。本文将结合动画详细分析3种常见的实现生成斐波那契数列函数的方法。题目描述大家都知道斐波那契数列,现在要求输入一个整数n,...

2020-02-08 06:36:45 1020

原创 剑指offer 动画图解 | 用两个栈实现队列

文章目录题目描述解题思路算法算法步骤算法代码算法效率题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题思路首先我们要先明确栈(stack)与队列(Queue)的性质:栈:后进先出 (LIFO)队列: 先进先出 (FIFO)这个时候我们要用两个栈来实现队列,就要先看看元素在栈里的情况为何。由图可见,栈的头与队列的头刚刚好是相反的两个...

2020-02-08 06:32:18 452

原创 剑指offer 动画图解 | 翻转单词顺序列

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

2020-02-05 17:27:33 239

原创 3张动画讲解跳跃链表 Skip List

从图中可以看到,跳跃链表上层的元素分布比较稀疏,越往下层则元素数量越多越密集,最底下一层拥有全部元素。当我们在查找元素的时候,先从最上面第一层开始查找。由于上层比下层稀疏,我们可以“跳跃”大部分的元素,如果当前这层没有我们要找的目标元素,则到下一层去寻找,每一层都可以帮我们跳跃掉部分元素,节省查找时间。

2020-02-03 07:01:54 923

原创 剑指offer 动画图解 | 二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

2020-01-23 08:54:03 320

原创 动画讲解链表3大基本操作 - 插入,删除与翻转

以下是关于几个常见链表操作的**动态图解**,大家可以收藏起来,方便以后复习之用。

2020-01-16 11:11:14 1217 2

原创 5分钟学会3种Java创建多线程任务的方法

本文将介绍Java几种基本的多线程用法,并简单分析各个方法的优缺点。方法1:继承Thread类我们可以创建一个自己的类,并通过继承Thread类并重写 void run() 方法。// 创建自己的类并继承Threadclass MyThread extends Thread { private String name; public MyThread(String...

2020-01-08 16:10:07 456

原创 编程递归汉诺塔,3步分解,3分钟学会

如果要理解什么是递归,那么汉诺塔是一个非常经典的例子。几乎所有的教科书都会提到汉诺塔。

2019-12-28 16:26:35 2951

原创 7分钟3个例子理解代理模式,面试多加29分

让我们用 3 个例子来解释清楚什么是代理模式,以及代理模式所带来的好处。

2019-12-19 20:19:04 680

原创 5步Spring Boot搭建简易邮箱验证系统,给自己的项目加35分

今天我们来看看如何用 Spring Boot 简易搭建一个邮箱验证接口。许多的网站在注册账号之后,都会发送一封邮件到注册邮箱里,而用户需要到邮箱里打开这封验证邮件,并点击邮件里的链接,以向网站证明自己为该邮箱的拥有者。...

2019-12-15 16:31:12 1874

原创 通俗易懂解释什么是网页Cookies

cookies 在网页应用上有着非常广泛的用途。比如说,线上购物网站就需要依赖 cookies 来判断用户的身份,才能向用户展示可能感兴趣的产品,或者记录用户的购物车。

2019-12-13 11:13:25 512

原创 React state update memory leak 内存溢出问题与解决方案

引发这个问题的情况很多,但归根结底就一个原因:**React 在已经卸载 (unmounted) 的组件上执行 setState() 操作。**

2019-12-11 14:39:24 1997 1

原创 快速入门 Spring JPA,看这篇就够了

什么是 JPA比较正式的说法是:JPA (Java Persistence API) 是Sun官方提出的Java持久化规范通俗来说,JPA 其实是一种事先说好的规定,规定它可以做什么以及应该怎么做等等。JPA 可以做什么根据我自身的理解,JPA 的主要用途就是将数据库里的数据映射成对象 (ORM - Object Relational Mapping),接着我们可以通过调用对象的方法...

2019-12-02 20:21:49 2867

原创 Spring Boot + Elasticsearch 搜索功能,看完这篇你也会

当我们对同一个Entity同时使用 @Entity 与 @Document 时,出现以下错误:The bean ‘studyCardPagedJpaRepository’, defined in null, could not be registered. A bean with that name has already been defined in null and overriding ...

2019-11-24 05:12:28 1978

原创 Java泛型基本用法

什么是Java泛型 (Java Generics)首先我们来看看如下代码:List<String> list = new ArrayList<>();list.add("Hello");list.add("World");通过在类型 List 旁边定义 <String>,编译器便可以知道集合 List 里的对象都应该是 String。当编译器在编译代...

2019-11-13 09:12:30 106

原创 纯CSS实现 Google Material Design 文本输入框风格

大家好,今天想要跟大家分享如何使用纯CSS来实现 Google Material Design 输入框的风格。虽然今天我们有很多框架可以帮我们实现这些风格,不过通过学习在底层是如何使用纯CSS实现的原理,可以加强我们将来需要根据业务需求定制化这些框架组件的能力。Demo请看这里 :点我看Demo 【CodePen】最终效果图:仅在Chrome浏览器上面测试过。如果大家发现其他浏览器有问题...

2019-10-20 21:47:14 975 5

原创 React 源码分析 - setState() 之后没有重新渲染的问题原因与解决方法

问题背景假设我们正在开发一个让用户填写的表单,比如说登录页面的账号密码表单。return ( <form> <p>账户:</p> <input type="text" name="firstname"><br> <p>密码</p> <input type="password" n...

2019-10-18 09:56:55 3626 1

原创 Java - Unchecked Cast Warning 的背景,原因以及解决方法

背景在使用 Spring Boot 的时候,在 controller 里获取一个 payload 对象,接着从 payload 对象里取得我们想要的 list 。// Controllerpublic ResponseEntity<Object> method(@RequestBody JSONObject payload) { List<?> list = pay...

2019-10-14 13:15:35 12404 5

空空如也

空空如也

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

TA关注的人

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