el psy congroo
码龄2年
关注
提问 私信
  • 博客:54,477
    54,477
    总访问量
  • 97
    原创
  • 24,600
    排名
  • 558
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:为世界上所有的美好而战

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2023-03-22
博客简介:

2302_77179144的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    951
    当月
    1
个人成就
  • 获得776次点赞
  • 内容获得22次评论
  • 获得795次收藏
  • 代码片获得783次分享
创作历程
  • 35篇
    2024年
  • 62篇
    2023年
TA的专栏
  • Java
    11篇
  • 网络
    4篇
  • 测试
    1篇
  • 算法
    14篇
  • 前端
    1篇
  • IO
    1篇
  • C语言
    25篇
  • 数据库
    4篇
  • 数据结构
    8篇
  • Python
    22篇
兴趣领域 设置
  • Java
    java
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

JVM机制

JVM 是 Java Virtual Machine 的简称,意为 Java虚拟机。JVM 是 Java 运行的基础,也是实现一次编译到处执行的关键。虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。常见的虚拟机:JVM、VMwave、Virtual BoxVMwave与VirtualBox是通过软件模拟物理CPU的指令集,物理系统中会有很多的寄存器JVM则是通过软件模拟Java字节码的指令集,JVM中主要保留了PC寄存器,其他的寄存器都进行了裁剪。
原创
发布博客 2024.10.27 ·
858 阅读 ·
28 点赞 ·
0 评论 ·
19 收藏

网络原理 - HTTP/HTTPS

Cookie就是浏览器给网页提供的特定机制,不是让网页随意访问硬盘,而是对硬盘的操作做了特殊的封装,提供了一个/一组特殊的文件,只能在这个特殊的文件里写,并且是键值对的形式。旧地址和新地址之间的映射关系是固定的,浏览器会缓存这样的映射关系,后续再次访问旧地址的时候,浏览器就可以直接构造新地址的请求,减少一次HTTP访问了。存储键值对格式的内容,和query string类似,都是程序猿自定义的,可以根据不同的需求定义不同的数据,增加HTTP的可扩展性,但往往有一个键值对用来标识用户的身份信息。
原创
发布博客 2024.10.14 ·
1264 阅读 ·
10 点赞 ·
0 评论 ·
18 收藏

测试-BUG篇

工作中开发人员通常需要按照bug的级别来分配优先级来处理bug,除此之外,通过bug级别也能够体现出开发人员的开发质量。测试人员在执行测试的过程中如有发现bug,需要在对应的bug管理平台来创建bug(bug生命起源),创建好的bug需要被开发人员修复,以及测试人员的持续跟踪和测试。描述bug的基本要素:问题出现的版本、问题出现的环境、问题出现的步骤、预期结果、实际结果、bug级别。在心理学上说,人们在编写文档的时候,经常会出现自己想表达的和写出来的内容往往南辕北辙。为什么描述bug还有要素要求?
原创
发布博客 2024.10.06 ·
1078 阅读 ·
8 点赞 ·
0 评论 ·
20 收藏

网络原理 - TCP/IP

当数据层层分用到TCP这一层时会被放入这个接收缓冲区中,放的过程中,会根据当前数据的序号,判定这个数据是否在队列中存在(或者曾经在队列中存在过),只要存在过,这个数据就会被直接丢弃,不过即使判定出现重复了也会继续返回应答报文,不然发送方继续会认为自己没发送成功而重传。接收缓冲区,除了去重之外,还有一个很重要的功能:针对收到的数据进行排序,并且数据和数据之间的序号始终是连续的,如果后面的数据先到,队首会留有空位等待前面的数据到达。在网络传输的过程中,经常会出现一个情况:后发先至,这是客观存在的改变不了。
原创
发布博客 2024.09.27 ·
1063 阅读 ·
23 点赞 ·
0 评论 ·
21 收藏

网络编程套接字(含Java示例)

Socket套接字,是系统提供用于网络通信的技术,是基于TCP/IP协议的网络通信的基本操作单元。基于Socket套接字的网络程序开发就是网络编程。操作系统提供的网络编程的API就称为"socket API"
原创
发布博客 2024.09.01 ·
789 阅读 ·
29 点赞 ·
0 评论 ·
10 收藏

网络原理 - 初识

计算机之间通过网络来传输数据,也称为网络通信。根据网络互连的规模不同,可以划分为局域网和⼴域网。所谓 “局域网” 和 “广域网” 只是⼀个相对的概念。
原创
发布博客 2024.08.28 ·
1308 阅读 ·
17 点赞 ·
0 评论 ·
20 收藏

HTML 基础

文章目录HTML 结构认识 HTML 标签HTML 文件基本结构快速生成代码框架HTML 常见标签注释标签标题标签: h1-h6段落标签: p换行标签: br格式化标签图片标签: img超链接标签: a表格标签列表标签表单标签form 标签input 标签label 标签select 标签textarea 标签无语义标签: div & span综合案例: 填写简历信息Emmet 快捷键HTML 特殊字符HTML: 页面有哪些元素组成CSS:这些元素的样式、布局、排版等JS:这些元素之间如何交
原创
发布博客 2024.07.11 ·
984 阅读 ·
7 点赞 ·
0 评论 ·
22 收藏

文件操作和IO

IO包括Input(输入)和Output(输出)数据靠近cpu就是输入,远离cpu就是输出通过控制台读取数据到内存也是输入,把数据打印显示到控制台上也是输出。
原创
发布博客 2024.07.08 ·
893 阅读 ·
16 点赞 ·
0 评论 ·
9 收藏

JUC(java.util.concurrent)中的常见类

JUC放了和多线程有关的组件。
原创
发布博客 2024.07.06 ·
861 阅读 ·
21 点赞 ·
0 评论 ·
25 收藏

CAS(compare and swap)

CAS的机制是"比较-发现相等-交换"假设存在两个线程 t1 和 t2. 有⼀个共享变量 num, 初始值为 A.接下来, 线程 t1 想使用 CAS 把 num 值改成 Z, 那么就需要先读取 num 的值, 记录到 oldNum 变量中.使用 CAS 判定当前 num 的值是否为 A, 如果为 A, 就修改成 Z.但是, 在 t1 执行这两个操作之间, t2 线程可能把 num 的值从 A 改成了 B, 又从 B 改成了 A (A->B->A)
原创
发布博客 2024.07.04 ·
805 阅读 ·
20 点赞 ·
0 评论 ·
11 收藏

常见锁策略

读写锁就是把读操作和写操作分别进行加锁.读锁和读锁之间不互斥.写锁和写锁之间互斥.写锁和读锁之间互斥.读写锁最主要用在 “频繁读, 不频繁写” 的场景中.如果获取锁失败, 就会立即再尝试获取锁, 无限循环, 直到获取到锁为止. ⼀旦锁被其他线程释放, 就能第⼀时间获取到锁.优点: ⼀旦锁被释放就能第⼀时间获取到锁, 更高效. 在锁持有时间比较短的场景下非常有用.缺点: 如果锁的持有时间较长, 就会浪费 CPU 资源.
原创
发布博客 2024.07.03 ·
1044 阅读 ·
14 点赞 ·
0 评论 ·
15 收藏

进程以及多线程编程

一个程序运行起来,在操作系统中,就会出现一个对应的进程。也就是说,进程就是一个跑起来的应用程序我们可以在任务管理器中就把当前运行的所有进程都列出来除了自己运行的程序是进程外,还有一些系统自带的程序也是进程右边显示的那些CPU,内存,磁盘…就是当前进程占用了多少对应的系统资源。要想让一个程序运行,就必须给这个进程分配系统资源,包括不限于CPU,内存,硬盘,网络带宽,显卡…所以在操作系统内部,进程又是操作系统进行资源分配的基本单位。而进程多了就需要进行管理,做法则是先描述,再组织。
原创
发布博客 2024.07.02 ·
390 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

牛客网题目--哈夫曼树

关于哈夫曼编码与哈夫曼树的介绍,可以看。以3,4,5,6为例构造哈夫曼树。
原创
发布博客 2024.06.02 ·
317 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

计算机是如何工作的

比如: 一个Java程序,写出来是一个.Java源代码文件,编译得到.class二进制文件(仍然是在硬盘上),运行程序的时候,JVM就会把这个.class加载到内存中,再进一步翻译成CPU能识别的二进制指令。再比如:一个 C程序,写出来是一个.c源代码文件,编译得到 .exe二进制文件(也是在硬盘上),运行的时候,操作系统会把这个.exe文件加载到内存中,再进一步由CPU执行。, 因为是ADD指令,此时就不是内存地址了,而是表示l两个寄存器的ID,一个是01(B寄存器),一个是00(A寄存器)
原创
发布博客 2024.06.01 ·
928 阅读 ·
15 点赞 ·
0 评论 ·
10 收藏

Java的JDBC编程

也都提供了这样的API让程序猿调用,这些数据库都是不同的厂商/不同的人开发的,这些不同数据库的API提供的功能大同小异,但是细节上存在很大的差异。对于Java来说,Java提供了"标准库",只要安装了Java,此时就可以使用标准库中的类和方法(标准库的API), 也可以使用其他大佬写好的类和方法(第三方库的API),但这不是自带的,需要额外安装。这两个都是MySQL提供的JDBC的驱动包,我的数据库是 mysql 5.7 就搭配旧版本使用了,如果是 mysql 8, 使用新版本就行。
原创
发布博客 2024.05.31 ·
639 阅读 ·
30 点赞 ·
0 评论 ·
18 收藏

奇数位丢弃

所以只要找到最后一个删除的数就好了。
原创
发布博客 2024.05.30 ·
659 阅读 ·
10 点赞 ·
0 评论 ·
22 收藏

跳台阶扩展问题

所以 f(n) = 2。
原创
发布博客 2024.05.28 ·
347 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

MySQL表的增删改查

在进行表操作之前,一定要use选中数据库注释:在SQL中可以使用--空格+描述 来表示注释说明CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母。
原创
发布博客 2024.05.03 ·
893 阅读 ·
11 点赞 ·
0 评论 ·
28 收藏

MySQL数据库基础知识(数据库/表的基础操作 + 基本类型)

给程序猿使用的专业软件,不会像游戏设置界面那样的图形化界面进行编辑"配置项",而是直接用一个文件的方式进行呈现,这样的文件就是配置文件。如果系统没有 db_test 的数据库,则创建一个使用utf8mb4字符集的 db_test 数据库,如果有则不创建。如果系统没有 db_test2 的数据库,则创建一个名叫 db_test2 的数据库,如果有则不创建。创建数据库时还可以指定"校验规则"(可以认为是字符串比较时对应的规则),一般不用修改,使用默认即可。里面有这样的配置项描述的就是数据库存储的数据是在哪里。
原创
发布博客 2024.04.21 ·
1136 阅读 ·
13 点赞 ·
0 评论 ·
20 收藏

BFS算法--宽度优先搜索(广度优先搜索)

文章目录树N叉树的层序遍历二叉树的锯齿形层序遍历二叉树最大宽度在每个树行中找最大值FloodFill算法图像渲染岛屿数量岛屿的最大面积被围绕的区域最短路径问题迷宫中离入口最近的出口最小基因变化单词接龙为高尔夫比赛砍树多源BFS矩阵飞地的数量地图中的最高点地图分析拓扑排序(核心与多源BFS一样)课程表课程表II火星词典树N叉树的层序遍历class Solution { public List<List<Integer>> levelOrder(Node root) {
原创
发布博客 2024.04.09 ·
532 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏
加载更多