自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

看了就会暴富的博客!

一个宇宙超级无敌霹雳爆炸程序媛的学习记录

  • 博客(210)
  • 资源 (6)
  • 收藏
  • 关注

原创 AI —— 一看就懂的代码助手Copilot获取教程

介绍人工智能代码助手copilot的申请与使用方式。

2023-04-10 10:00:00 4366 1

原创 Git学习 —— 裸仓库

可以理解为轻量级的仓库,只包含.git文件夹的仓库。git分为三个工作区:工作区、暂存区域、Git 仓库,裸仓库实质上就是没有工作目录的Git仓库。它只包含Git版本库中的对象,没有其他的文件或目录。它提供了一种轻量级的方式来共享代码库,因为它占用的空间更小,传输速度更快。

2023-03-21 20:11:37 1813

原创 Git天天用,不得不看的那些事

Git天天用,不得不看的那些事

2023-02-24 17:34:23 5158 1

原创 圣诞节,来棵Golang的圣诞树吧

圣诞节,来棵Golang的圣诞树吧

2022-12-24 19:12:47 1615 1

原创 从0开始学习go —— HelloWorld

第一个awesome的go项目

2022-12-22 18:28:45 139

原创 Lombok常用方法及原理介绍(AST)

Lombok常用方法及原理介绍(AST)

2022-12-21 15:25:31 342

转载 容器 —— NameSpace与Cgroups

容器 —— NameSpace与Cgroups

2022-08-22 21:52:01 345

转载 容器 —— 背景知识

容器技术入门背景知识。

2022-08-15 23:17:43 385 2

原创 裁员浪潮,回顾一下自己去年的毕业吧(二)

应届生被毕业经历呜呜呜

2022-08-11 00:37:25 1109 1

原创 Lombok常用方法及原理介绍

⼀种简化源码提⾼编程效率的⼯具,⽤于⽣成常⽤的代码。

2022-08-03 17:58:38 769

原创 Shell —— 常见问题解读

local局部变量声明,作用域仅限于函数内部。IFSInternal Field Seprator ,内部域分隔符。一种 set 变量。set变量显示设置shell变量,仅在本 shell 中有效。env变量显示设置用户环境变量 ,仅在当前会话中有效。env 变量比set变量的作用域要大些,它可以在 subshell 中使用。2>&1将标准错误输出重定向到标准输出。linux系统中,0、1、2是文件描述符。名称 代码 操作符 Jav

2022-04-26 20:14:46 409

原创 裁员浪潮,回顾一下自己去年的毕业吧(一)

近期,互联网环境进入冰点,很多互联网公司都在裁员,有的优化比例甚至达到70%及以上。作为一个毕业快两年,在2021年经历被毕业后转岗,在新部门又成功跳槽经验丰富的同学,也来分享一下吧基本情况先介绍一下自己的基本情况,双211,本硕计算机。毕业之后进入了一个二线互联公司做开发工作。曲折的就业经历阶段一毕业时采用海投策略进行面试,收到了一些offer,大致可以分成三类:银行类:有编制,但钱少。 独角兽类:钱也许很多,但内部技术水平不确定。 互联网类:钱一般,但技术好,平台大。当

2022-04-25 20:40:56 436 2

原创 Java —— 自定义JSR303校验

JSR303JSR303技术,JSR-303 是JAVA EE 6 中的一项子规范,常用于接口入参合法性的校验。使用方式可参考Java —— 实体属性入参非空校验https://blog.csdn.net/xue_xiaofei/article/details/118303844?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165078097716782246489271%2522%252C%2522scm%2522...

2022-04-25 15:04:48 709

原创 Tools —— Mac m1安装docker

根据自己的系统下载资源Docker官网打开下载包根据提示拖拽即可在启动台找到docker应用

2022-03-28 19:45:53 5542

原创 Go —— Mac m1安装go语言环境

macOS(或 Linux)缺失的软件包的管理器 — Homebrew

2022-03-28 14:29:51 1763

原创 Error —— 单元测试中如何Mock application文件中的数据?

问题单元测试的代码中,有从application.properties中读取的变量。但在单元测试中,无法读取配置文件,变量默认为空,导致单元测试不通过。如何在单元测试中mock配置文件中的变量呢?解决待测试的类public class AbcService { // 从配置文件中读取,如单元测试中不mock,会为空 @Value("test.config") private String testConfig; publ...

2022-01-13 22:43:31 968

原创 Error —— com.sun.crypto.provider.HmacSHA1 cannot be cast to javax.crypto.MacSpi

问题单元测试报错如下:com.sun.crypto.provider.HmacSHA1 cannot be cast to javax.crypto.MacSpi解决原因:md5鉴权出错。在类上增加注解。@PowerMockIgnore("javax.crypto.*")...

2022-01-13 20:10:04 495

原创 SQL —— 查询最近一小时的数据

问题在进行数据库查询时,如果数据库表中数据过多,可以增加时间条件进行筛选,减少扫描数据,降低查询超时的风险。那么,如何在sql中选取最近一小时内的数据呢?解决 采用DATE_SUB函数,用当前时间NOW()减去一小时的时间,得到一小时前的时间点,再使用创建时间,作为条件筛选。SELECT * FROM xxx WHERE create_time > DATE_SUB(NOW(),INTERVAL 1 HOUR);...

2022-01-11 11:41:29 7113

原创 面试 —— volatile

volatile 读的内存语义: 当读一个 volatile 变量时, JMM会把该线程对应的本地内存置为无效。线程接下来将从主内存中读取共享变量。禁止指令重排什么是内存屏障?内存屏障,也称内存栅栏,内存栅障,屏障指令等, 是一类同步屏障指令是CPU或编译器在对内存随机访问的操作中的一个同步点,使得此点之前的所有读写操作都执行后才可以开始执行此点之后的操作。观察加入volatile关键字和没有加入volatile关键字时所生成的汇编代码发现,加入volatile关键字时,会多出一个

2021-09-15 00:06:04 118 1

原创 八大排序o

1、冒泡排序不管序列是怎样,都是要比较n(n-1)/2 次的,最好、最坏、平均时间复杂度都为O(n²),需要一个临时变量用来交换数组内数据位置,所以空间复杂度为O(1)。有很多人说冒泡排序的最优的时间复杂度为O(n),其实这是在代码中使用一个标志位来判断是否已经排序好的,是冒泡排序的优化版,如果元素已经排序好,那么循环一次就直接退出。2、选择排序是冒泡排序的改进,同样选择排序无论序列是怎样的都是要比较n(n-1)/2次的,最好、最坏、平均时间复杂度也都为O(n²),需要一个临时...

2021-09-12 22:48:02 220

原创 数据库 —— Mysql索引

索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构。类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。1、越小的数据类型通常更好2、简单的数据类型更好3、尽量避免NULLmysql的索引数据结构采取的是B+树。优点:查询速度快缺点:增删改慢,因为数据库要同步去维护索引文件,所以速度慢为什么加索引能优化慢查询?因为索引其实就是一种优化查询的数据结构,比如Mysql中的...

2021-09-08 16:28:44 109

原创 Get和Post的区别

(1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)(2)post发送的数据更大(get有url长度限制)(3)post能发送更多的数据类型(get只能发送ASCII字符)(4)post比get慢(5)post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作(淘宝,支付宝的搜索查询都是get提交),目的是资源的获取,读取数据...

2021-09-08 14:58:51 146

原创 面试——一文搞懂分布式锁

一、基于数据库实现 1、这把锁强依赖数据库的可用性,数据库是一个单点,一旦数据库挂掉,会导致业务系统不可用。 2、这把锁没有失效时间,一旦解锁操作失败,就会导致锁记录一直在数据库中,其他线程无法再获得到锁。 3、这把锁只能是非阻塞的,因为数据的insert操作,一旦插入失败就会直接报错。没有获得锁的线程并不会进入排队队列,要想再次获得锁就要再次触发获得锁操作。 4、这把锁是非重入的,同一个线程在没有释放锁之前无法再次获得该锁。因为数据中数据已经存在了。4)锁的长时...

2021-09-08 14:40:06 161

原创 数据库 —— UUID和自增ID的区别

一、UUID 存储空间大跨服务器数据合并非常方便二、ID存储空间小 不适合跨服务器数据合并 如果数据量较多,后续存储不进数据库可能不是因为数据库容量不够,而是因为id不能再增加...

2021-09-07 20:07:41 554

原创 KafKa

Topic:一个队列,Topic将消息分类。Consumer Group:消费者组,逻辑上的一个订阅者,消费者组内的每个消费者负责消费不同分区的数据,以提高消费能力。Partition:

2021-09-07 17:30:26 121

原创 url->页面的过程

第一步:进行域名解析,得到IP地址;第二步:找到IP地址对应的服务器通过三次握手建立TCP连接,向服务器发送HTTP Request请求,并得到服务器的Response响应;第三步:浏览器根据响应结果渲染输出页面DNS域名系统:将主机名和域名转换为IP地址的工作DNS解析过程1. 浏览器先检查浏览器缓存中有没有被解析过的这个域名对应的ip地址,2. 如果浏览器缓存中没命中,浏览器会检查hosts3. 如果至此还没有命中域名,才会真正的请求...

2021-09-02 22:51:53 211

原创 jvmmm

调优xmx 堆内存的初始大小-Xmx 堆内存的最大大小-Xmn 堆内新生代的大小。配置oom时的日志jstack导出堆栈信息,分析死循环jmap导出内存dump信息用第三方分析cms-标记清除并发收集、低停顿。老年代以获取最短停顿回收时间为目标无法清理浮动垃圾会产生大量碎片g1G1从整体来看是基于标记-整理算法实现的收集器,从局部(两个Region之间)上来看是基于“复制”算法实现的。不会产生内存空间碎片停顿时间可预测的收集模型:用户.

2021-09-02 20:47:09 116

原创 面试 —— filter和interceptor的区别

一、 Servlet一个基于Java技术的Web组件,运行在服务器端,它由Servlet容器所管理,用于生成动态的内容。二、Servlet容器Servlet容器,服务器的一部分,用于在发送的请求和响应之上提供网络服务。三、Tomcat是一个免费的开放源代码的Servlet容器。Tomcat服务器接受客户请求并做出响应的过程客户端(通常都是浏览器)访问Web服务器,发送HTTP请求。 Web服务器接收到请求后,传递给Servlet...

2021-09-01 23:10:26 454

原创 面试 —— cookie和session的区别

一、CookieCookie是客户端保存用户信息的一种机制,用来记录用户的一些信息。二、Session在服务端保存的用来跟踪用户的状态的数据。在浏览器关闭后这次的Session就消失了,下次打开就不再拥有这个Session。其实并不是Session消失了,而是Session ID变了,服务器端可能还是存着你上次的Session ID及其Session 信息,只是他们是无主状态,也许一段时间后会被删除。三、区别(一)存储位置cookie的...

2021-09-01 23:00:38 184

原创 面试 —— 设计模式

选取了面试中常见的设计模式汇总以及demo示例,本文中介绍的设计模式,均在Spring中使用过。一、工厂模式创建对象时不暴露创建逻辑,而是通过使用一个共同的接口来创建新的对象。(一)简单工厂模式没有遵循开闭原则。能够外界给定的信息, 决定创建哪个具体类的对象。// 冰淇淋接口public interface IceCream { public void taste();}// 三种口味的冰淇淋类public class...

2021-08-30 20:30:09 242

原创 Leetcode —— 236. 二叉树的最近公共祖先(Java)

题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”示例​​题解如果root == p || root == q, 那么root节点即为最近公共祖先。 如果不是,则在左右子树...

2021-08-29 16:43:44 129

原创 Leetcode —— 226. 翻转二叉树(Java)

题目描述 翻转一棵二叉树。示例​​题解太简单了 。代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) ...

2021-08-29 00:31:50 142

原创 Leetcode —— 200. 岛屿数量(Java)

题目描述 给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例​​题解 DFS。遍历整个矩阵,当遇到grid[i][j] == '1'时,从此点开始做深度优先搜索dfs,岛屿数count + 1且...

2021-08-29 00:24:26 350

原创 Leetcode —— 198. 打家劫舍(Java)

题目描述 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例​​题解 动态规划。初始数据:...

2021-08-28 23:56:26 128

原创 Leetcode —— 剑指 Offer 24. 反转链表(Java)

题目描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例​​题解 自己意会一下就懂了。代码/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; }...

2021-08-27 23:26:11 127 1

原创 Leetcode —— 169. 多数元素(Java)

题目描述 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例​​题解 HashMap计算次数。代码class Solution { public int majorityElement(int[] nums) { Map<Integer, ...

2021-08-26 23:34:48 123

原创 Leetcode —— 136. 只出现一次的数字(Java)

题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。示例​​题解 异或。代码class Solution { public int singleNumber(int[] nums) { int res = nums[0]; for(int i = 1; i < nums.length; i++) { ...

2021-08-26 23:05:18 91

原创 Leetcode —— 101. 对称二叉树(Java)

题目描述 给定一个二叉树,检查它是否是镜像对称的。示例​​题解 太简单了,自己看代码。代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * ...

2021-08-26 22:57:36 123

原创 Leetcode —— 48. 旋转图像(Java)

题目描述 给定一个 n×n 的二维矩阵matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例​​题解 先沿对角线翻转,再沿垂直中线翻转。 对角线翻转时遍历矩阵上三角,中线翻转时遍历矩阵左半边。代码class Solution { public void...

2021-08-26 22:44:56 161

原创 计算机网络 —— http vs https

一、http与https的对比  1、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。  2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。  3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。  4、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。二、一次完整的HTTP请求所经历的7个步骤

2021-08-24 16:29:33 288

mysql-winx64安装包.zip

mysql本地服务安装包

2021-06-24

Head-First-Design-Patterns-master设计模式官方源码

Head-First-Design-Patterns-master设计模式官方源码,Java版本,包含书中所有代码样例。

2021-06-23

代码质量与常见问题总结.pptx

代码质量与常见问题总结

2021-05-10

【技术分享】Java中的那些“锁”事.pptx

介绍Java中常用的锁、线程安全的数据结构,死锁注意要点等。 适合用于技术分享。

2021-02-24

【技术分享】ECMAScript6.pptx

ECMAScript6技术分享。 介绍了es6的历史、优化过程、使用方法等。 适合用于es6的技术分享。

2021-02-24

【技术分享】Bloomfilter布隆过滤器.pptx

Bloomfilter布隆过滤器技术分享PPT。 介绍了布隆过滤器的使用方法与适用场景等。 适合用于技术分享。

2021-02-24

空空如也

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

TA关注的人

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