- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 学霸们是如何高效率地学习、工作、生活的?
每次学习结束后,学霸们都会进行反思总结,回顾学习内容、方法的有效性以及遇到的困难,及时调整学习策略。他们深知,学习是一个不断试错、优化的过程,通过持续的自我反馈,不断逼近最佳学习状态。
2024-12-23 11:39:46
760
原创 Go语言结构体中的填充字段:揭秘内存对齐的奥秘
一、内存对齐与填充字段详解在 Go 语言中,结构体(struct)是一种用户自定义的数据类型,它允许我们把多个不同类型的数据组合在一起,组成一个单一的复合结构。无论是构建复杂的数据结构,还是实现面向对象编程中的概念,结构体在 Go 语言中都扮演着非常重要的角色!这段代码是我在 Github 上阅读到的,当时我对这个结构体类型的设计感到好奇,不禁思考这样设计的原因是什么?它有哪些优势?在搜索引擎的帮助下,我最终了解到这些字段被称为填充字段(Padding Fields)。
2024-12-22 23:30:40
1228
原创 探秘 Go 语言赋值表达式的奇妙之旅
并将结果保存在一个新的临时变量中(注意这里不是用上一步的结果,而是重新计算);并没有使用到第一个表达式中计算得出的结果。这也就意味着,在计算表达式。注意,由于计算顺序是从左到右依次进行的,因此第二个表达式。的结果保存在临时变量中,最后一次性将它们赋值给。,但是其计算顺序是从左到右依次进行的。最后一次性将这三个临时变量的值分别赋值给。进行复用,而是按照先后顺序依次计算赋值。,并将结果保存在另一个临时变量中;,并将结果保存在一个临时变量中;在 Go 语言中,赋值表达式。的值,并依次将它们赋值给。
2024-12-22 22:56:19
376
原创 探秘数据结构:小白如何轻松上手学算法?
在信息技术日新月异的今天,数据结构作为计算机科学的基础之一,其重要性不言而喻。对于初学者,尤其是那些没有编程背景或者对数据结构概念尚不熟悉的小白来说,学习数据结构可能会显得有些吃力。但别担心,本文将为你提供一套系统的学习方法,帮助你从零开始,逐步掌握数据结构的核心知识。
2024-12-18 22:33:54
1163
原创 探秘单调栈:原理、作用与应用场景全解析
单调栈是一种特殊的栈结构,从字面上理解就是栈内元素具有单调性,分为单调递增栈和单调递减栈两类。2.1 单调递增栈定义:栈内元素按照从小到大的顺序排列,使其栈顶元素始终最小,栈底元素始终最大。想象一下,你有一堆乱序的书本,你想把它们整理成一个整齐的书架。单调递增栈就像是你按照书本的大小,从最小的一本开始,依次往上放,这样最上面的那本书一定是最小的,而最下面的那本则是最大的。特点栈顶的书本总是最小的。栈底的书本总是最大的。步骤1:9入栈:(9)步骤2:2入栈:(9,2)步骤3。
2024-12-18 11:54:44
1334
原创 大学生成长路上的必备技能
大学,是人生中一段丰富多彩且至关重要的成长时光。在这里,我们不仅要汲取专业知识,更要培养多方面的技能,为未来步入社会打下坚实基础。下面就为大家详细介绍大学生必备的各类技能,助力大家开启精彩未来。
2024-12-17 15:19:23
1157
原创 大学生活的节拍:如何与忙碌共舞
在大学生活中,每个学生都面临着前所未有的挑战与机遇。课业的繁重、社交活动的频繁、个人兴趣的培养以及未来职业规划的初步探索,种种因素交织在一起,让这段时光既充实又充满压力。如何在这样的繁忙中找到自己的节奏,成为许多大学生亟需解决的问题。本文将从时间管理、心态调整、兴趣发展与社交平衡四个方面,深入探讨如何在大学生活中找到并维持个人的生活节奏。
2024-12-17 11:16:33
994
原创 如何在繁忙的生活中找到自己的节奏?
在调整生活节奏的过程中,积极心态能够激发我们的创造力和积极性,让我们更加高效地完成任务,从而实现生活节奏的平稳过渡。这是一个探索、尝试、修正和再尝试的循环,每个人的生活节奏都是独一无二的,因为它与我们的价值观、目标、性格和生活方式紧密相连。可以与家人、朋友或专业人士交流自己的想法和感受,获得他们的反馈和建议,从而更好地调整自己的生活节奏。生活节奏的调整不是一次性的任务,而是一个持续的过程。保持规律的作息,均衡的饮食,以及适量的运动,都有助于我们维持良好的身心状态,从而更好地适应和掌控生活节奏。
2024-12-16 19:04:48
1230
原创 简单了解一下 Go 语言的构建约束?
构建约束是一种在 Go 语言中控制源文件编译条件的方法,它可以让您指定某些文件只在特定的操作系统、架构、编译器或 Go 版本下编译,而在其他环境中自动忽略。通过灵活运用构建约束,开发者可以有效地为不同环境编写适合的代码,大大提升了 Go 语言的跨平台开发能力。:该文件只在 darwin 系统并且没有启用 cgo 的情况下编译,其他环境忽略。: 该文件只在 linux 系统和 386 架构下编译,其他环境忽略。:该文件只在 linux 系统和 arm 架构下编译,其他环境忽略。
2024-12-13 18:45:42
573
原创 github 加速访问教程(devsidecar)
DevSidecar 是一款非常优秀的github加速工具。该软件界面美观,使用后可以给用户带来很多使用帮助和便利,通过本地代理的方式将https请求代理到一些国内的加速通道上,这样的话访问速度就可以更快了。下载后首次运行前会需要让你安装过一个证书,跟着教程安装即可。按照以下步骤安装证书,然后开户相应的代理进行加速了。如果实在访问不了可以在所有github地址前加一个。需要注意的是,如果开启了。
2024-12-12 00:08:08
1046
原创 探索英语学习宝藏:十个网站助你提升英语实力
在全球化时代,英语作为国际通用语极为重要,于学术研究、国际交流和职场晋升均大有益处。众多学习资源里,互联网上不少优质网站是英语学习的宝藏。下面为大家介绍十个实用的英语学习资源网站,助大家在英语学习的道路上更上一层楼。多邻国提供了多达 40 种语言的课程学习,而且全部免费。它的课程设计非常有趣,采用游戏化的学习方式,让学习者在轻松愉快的氛围中逐步提升英语水平。例如,通过各种互动练习,如翻译句子、听力选择等,来巩固所学知识。
2024-12-10 11:04:03
4002
原创 英语四级备考指南:轻松拿下四级考试
四级笔试分为四个板块,总分为 710 分,包括写作 106.5 分(15%)、听力 248.5 分(35%)、阅读 248.5 分(35%)、翻译 106.5 分(15%)。其中,写作部分占整套试卷的 15%,大致 106.5 分,在这个环节,考生需要达到 63.9 分方为及格,答题时间为 30 分钟。听力分值环节占到整套试卷的 35%,除听力篇章外每个题都是 7.1 分。短篇新闻分值占 7%,一共 7 个小题,每小题 7.1 分;长对话分值占 8%,8 个题目,每小题 7.1 分;
2024-12-09 17:40:06
3334
原创 夸克网盘免费扩容N次20T方法,亲测有效
新老用户都可领取,每天可领取 1 次,1 周内连续签到,周二和周日可以领取更多容量!SVIP 每天最低可领取 100MB,周二领取 200MB,周日领取 1GB!一般 1~2 个工作日就可以申请成功了,耐心等待免费的 20T 容量到账吧,这是可以一直叠加的,反复申请就好啦!pc,ipad 都不行!打开“我的”界面,点击“完善信息”,参考以下案例步骤完善你的个人信息即可,已填写可跳过!审核通过之后,该夸克账号就正式开通了推广权限了,申请成功后会赠送 15 天夸克会员!,直接打开每日签到界面!
2024-11-01 19:04:05
24449
8
原创 十分钟掌握Go语言==运算符与reflect.DeepEqual函数处理interface{}值的比较规则
当使用 == 符号比较两个 interface{} 类型的值时,Go 语言底层会先比较它们的动态类型,也就是比较它们的第一个字,看是否指向相同的类型信息。对于 reflect.DeepEqual 而言,它通过牺牲程序的性能弥补了 == 运算符无法处理切片、映射、函数的短板,对于这些不支持 == 操作的类型,reflect.DeepEqual 函数会有一套自己的比较规则,它就是是 == 运算符的 Plus 版本。如果动态值的大小超过了一个字,那么这个字就存储了动态值的指针,指向实际的动态值。
2024-02-05 14:20:29
1026
原创 一文领悟自学Go语言的秘诀?
Go 语言的并发编程,包括协程、通道、同步、锁、死锁、内存模型等。Go 语言的标准库和第三方库,包括字符串、文件、网络、数据库、测试、日志、错误处理、反射、元编程等。学习Go语言的第一步是掌握其基本语法,包括变量、常量、数据类型、运算符、控制流、函数、数组、切片、映射、指针等。深入学习Go的标准库,掌握其中常用的包和模块的同时,还得接触一些流行的Go框架,如Gin、Beego等,提高Web开发能力。阅读经典的Go编程书籍,如《Go语言编程》、《Go语言实战》等,深入理解Go语言的设计思想和高级特性。
2024-02-05 12:10:38
492
原创 软考复习之数据库篇
把一个关系(表)中的一些属性(列)的值,除以另一个关系(表)中的一些属性(列)的值,得到一个新的关系。新关系的属性(列)是被除关系的属性减去除数关系的属性,新关系的元组(行)是被除关系的元组在除数关系的所有元组上都能匹配的元组的剩余属性的值。A ----> B,B ----> C,如果通过A属性(属性组)的值,可以确定唯一B属性的值,在通过B属性(属性组)的值,可以确定唯一C属性的值,则称C传递函数依赖于A。新关系的属性(列名)是两个关系的属性的并集,新关系的元组(行)的个数是两个关系的元组的个数的乘积。
2024-02-03 13:39:08
1160
原创 软考复习之数据结构篇
用于求方程的近似根。1、若方程无解,则算法求出的近似根序列就不会收敛,迭代过程会变成死循环,因此在使用迭代算法前应先考查方程是否有解,并在程序中对迭代的次数给予限制。2、方程虽有解,但迭代公式选择不当,或迭代的初始近似根选择不合理,也会导致迭代失败。:对可能是解的众多候选解按某种顺序进行逐一枚举和检查,并从中找出符合要求的候选解作为问题的解:利用问题本身所具有的一种递推关系求问题解的一种方法:执行过程分递推和回归两个阶段:在递推阶段,把较复杂的问题的求解分解成比原问题简单一些的问题的求解。
2024-01-30 00:34:35
1399
2
原创 软考复习之多媒体篇
未压缩的数据传输率 = 采样频率(Hz)* 量化位数(位)* 声道数声音信号数据量 = 数据传输率 * 持续时间 / 8未压缩的文件的字节数 = 采样频率(Hz)* 采样时间(s)*量化位数(位)* 声道数 / 8存储量 = 水平像素 * 垂直像素 * 颜色位数 / 8注意:若题目给出X位或X位色,则颜色位数就是X,若题目给出为X色,那么颜色的位数为未压缩的文件的字节数 = 每帧图像的容量(B) * 图像帧数 * 时间(s)
2024-01-24 16:08:17
543
1
原创 软考复习之UML设计篇
构件图:描述系统的物理结构,它可以用来显示程序代码如何分解成模块部署图:描述系统中硬件和软件的物理结构,它描述构成系统架构的软件构件,处理器和设备用例图:描述系统与外部系统及用户的交互协作图:强调收发信息的结构组织序列图:描述了在一个用例操作的执行过程中以时间顺序组织的对象之间的交互活动,关注系统的动态视图对象图:展现了一组对象以及它们之间的关系,描述了在类图中所建立的事物的实例的静态快照。
2024-01-24 16:00:44
620
原创 软考复习之软件工程篇
问题定义:要示系统分析员与用户进行交流,弄清”用户需要计算机解决什么问题”然后提出关于“系统目标与范围的说明”,提交用户审查和确认可行性研究:一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性研究需求分析:确定软件系统的功能需求和非功能需求;分析软件系统的数据要求;导出系统的逻辑模型;修正项目开发计划;如有必要可以开发一个原型系统开发阶段:设计->实现->测试。
2024-01-24 15:46:55
1113
原创 计算机网络面经汇总
网络分层OSI 七层模型① 应用层(数据包)应用层位于 OSI 参考模型的第七层,其作用是通过应用程序间的交互来完成特定的网络应用。该层协议定义了应用进程之间的交互规则,通过不同的应用层协议为不同的网络应用提供服务。例如域名系统 DNS,支持万维网应用的 HTTP 协议,电子邮件系统采用的 SMTP 协议等。在应用层交互的数据单元我们称之为报文。② 表示层(数据包)表示层的 作用是使通信的应用程序能够解释交换数据的含义,其位于 OSI 参考模型的第六层,向上为应用层提供服务,向下接收来自会话层的服
2021-04-08 06:25:57
2169
原创 Rabbitmq面经题汇总
MQ术语Broker: 消息队列服务器实体Exchange: 消息交换机,它指定消息按什么规则,路由到哪个队列Queue: 消息队列载体,每个消息都会被投入到一个或多个队列Binding: 绑定,它的作用就是把exchange和queue按照路由规则绑定起来Routing Key: 路由关键字,exchange根据这个关键字进行消息投递VHost: vhost 可以理解为虚拟 broker ,即 mini-RabbitMQ server。其内部均含有独立的 queue、exchange 和bin
2021-04-07 21:54:01
726
原创 SSM框架面经汇总
Spring篇Spring框架中用到了哪些设计模式单例模式:Bean默认为单例模式。工厂模式:BeanFactory是一个简单工厂模式,用来创建对象实例。代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB动态代理。模板方法模式:用来解决代码重复的问题。比如. RestTemplate, JmsTemplate, JpaTemplate。观察者模式:当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被自动更新。例如ApplicationListener。Spring I
2021-04-07 18:19:10
700
原创 Java8新特性之函数式接口
函数式接口函数式接口是具有一个抽象方法的接口。不能使用以下类型的方法来声明一个函数式接口:默认方法静态方法从Object类继承的方法一个函数式接口可以重新声明Object类中的方法。该方法不被视为抽象方法。Comparator接口有两个抽象方法:compare()和equals()。equals()方法是Object类中的equals()方法的重新声明。@FunctionalInterfaceinterface Comparator<T>{ int compare(T
2021-04-07 12:35:38
355
1
原创 Redis学习指南
简介Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis是一个高性能的key-value数据库,遵守 BSD 协议。特性:支持数据持久化,可以将内存中的数据保存在磁盘支持master-slave模式的数据备份支持复杂数据类型并且提供对他们的原子性操作。例如 list,set,zset,hash等安装window下载地址:https://github.com/dmajkic/red
2021-04-07 12:31:59
220
原创 数据结构之广度优先搜索
广度优先搜索呈现出一层一层向外扩张的特点,先看到的结点先遍历,后看到的结点后遍历,因此广度优先搜索可以借助**队列**实现。当遍历到一个结点时,若这个结点有左(右)孩子结点,依次入队即可。结合队列实现思路如下图所示:BFS模板代码int BFS(Node root, Node target){ Queue<Node> queue = new ArrayDeque<>(); int step = 0; //添加根节点到队列 queue.add(ro
2021-04-06 03:46:35
672
原创 数据结构之跳表
跳跃表跳表全称叫做跳跃表,简称跳表。跳表是一个随机化的数据结构,实质是一种可以进行二分查找的有序链表。跳表在原有的有序链表上增加了多级索引,通过索引来实现快速查询。跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能。跳表思路分析如上图所示,原始链表的节点分别是1、3、4、5、7、8、9、10、13、16、17、18。现在有个需求,想快速的找到节点10,最直接的方式就是依次遍历节点1、3、4、5、7、8、9、10。为了提高链表的查找效率,我们可以从链表每2个节点提出一个节点,做为索引节点,通
2021-04-05 05:48:58
786
原创 数据结构之前缀树
前缀树前缀树 是 N叉树 的一种特殊形式。通常来说,一个前缀树是用来存储字符串的。前缀树的每一个节点代表一个字符串(前缀)。每一个节点会有多个子节点,通往不同子节点的路径上有着不同的字符。子节点代表的字符串是由节点本身的原始字符串 ,以及通往该子节点路径上所有的字符组成的。下面是前缀树的一个例子:树节点:// 节点类static class TrieNode { // 单词标记 private boolean isWord; // 字符表 private Map&l
2021-04-05 05:44:25
345
2
原创 Redis面经汇总
Redis是什么redis是一个基于内存的高性能的 key-value 数据库。Redis与Memcached的区别memcached所有的值都是简单的字符串,redis支持更多的数据结构(string,list,hash,sorted set,set)redis的速度比memcached快redis可以持久化其数据(AOF,RDB)为什么要用Redis高性能操作缓存就是直接操作内存,所以速度相当快。高并发直接操作缓存能够承受的请求是远远大于直接访问数据库的,所以我们可以考虑把数据
2021-04-05 04:13:26
6383
9
原创 Java8新特性之Lambda表达式
Lambda 表达示语法规则:(param) -> expression或(param) -> { //statements; }特性:可选类型声明:无需声明参数类型。可选的参数圆括号:一个参数时无需定义圆括号,多个参数时则需要定义。可选的大括号:方法体中只包含一条语句时无需大括号。可选的返回关键字:若方法体中只有一个表达式返回值,则编译器会自动返回值,大括号需要指明表达式返回的一个值。//空参()->"hello java8";()->{r
2021-04-04 23:14:15
380
1
原创 数据结构之堆
二叉堆堆是一种特别的二叉树,满足以下条件的二叉树,可以称之为堆:完全二叉树;每一个节点的值都必须 大于等于或者小于等于 其孩子节点的值。堆具有以下的特点:可以在 O(logN) 的时间复杂度内向堆中插入元素;可以在 O(logN) 的时间复杂度内向堆中删除元素;可以在 O(1)的时间复杂度内获取堆中的最大值或最小值。堆的分类堆有两种类型:最大堆和最小堆。最大堆:堆中每一个节点的值都大于等于其孩子节点的值。所以最大堆的特性是 堆顶元素(根节点)是堆中的最大值。最小堆:堆中每一个
2021-04-03 03:21:02
500
原创 MySQL面经汇总
MySQL面试汇总MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。MySQL存储引擎mysql常用引擎包括:innodb、myisam、memory、merg
2021-04-03 03:09:15
4332
7
原创 Linux命令之netstat、lsof、kill
Linux查看端口占用netstatnetstat -tunlp 用于显示 tcp、udp 的端口和进程等相关情况。语法:netstat -tunlp | grep 端口号参数说明:-t (tcp) 仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化为数字-l 仅列出在Listen(监听)的服务状态-p 显示建立相关链接的程序名更多命令:netstat -ntlp //查看当前所有tcp端口netstat -ntulp | g
2021-04-01 13:23:43
407
原创 JVM面经汇总
JVM面经汇总java虚拟机在执行java程序的过程中,会把它管理的内存划分成若干个不同的数据区域。JVM的主要组成部分及作用JVM包含两个子系统和两个组件,两个子系统为ClassLoader类装载、Execution Engine执行引擎。两个组件为Runtime Data Area运行时数据区、Native Interface本地接口。JVM运行时数据区JVM在执行java程序时会将它所管理的内存划分为若干个不同的数据区域。程序计数器程序计数器是一块较小的内存空间,可以看作当前线程所
2021-04-01 01:16:04
1200
4
原创 Java多线程与并发面经汇总
并发编程总结学习时间:2021-3-21、2021-3-23、2021-3-24、2021-3-28、2021-3-29、2021-3-30并发编程的优缺点优点:并发编程的目的就是为了能提高程序的执行效率,提高程序运行速度,缺点:并发编程并不总是能提高程序运行速度的,而且并发编程可能会遇到很多问题,比如**:内存泄漏、上下文切换、线程安全、死锁**等问题。并发编程三要素是什么?在Java中怎么保证多线程的运行安全?并发编程的三要素:原子性:是指一个或多个操作要么全部执行成功要么
2021-03-30 23:28:14
400
1
原创 2021年前端学习路线
2020年前端学习路线 1、前端基础核心知识1.1 HTMLW3C HTML文档1.2 CSS&CSS3W3C CSS 文档W3C CSS3 文档Flex 布局教程:语法篇Flex 布局教程:实例篇各种鼠标效果样式深入理解CSS新特性1.3 移动端布局移动端基本概念viewport窗口设置移动端布局方案rem、vh、vw等单位响应式布局黑马HTML5+CSS3+移动端布局全套教程:https://www.b......
2021-03-26 12:52:19
212
原创 SpringBoot DELETE请求时遇405报错问题(已解决)
在学习 SpringBoot 实现 RESTful 的删除操作时,需要将表单数据以 DELETE 方式提交,代码如下图所示:在这里,我使用了JQuery的方式动态的将表单进行提交,下面是JQuery的代码,如下所示:在实践过程中,点击 删除 按钮,跳转到 SpringBoot 默认的错误页面,如下图所示:出现问题原因在于,springboot-autoconfigure包下的 additional-spring-configuration-metadata.json文件中 1441行处,默认情
2020-09-19 11:05:33
3287
3
原创 2020年前端学习路线
1、前端基础核心知识1.1 HTMLW3C HTML文档1.2 CSS&CSS3W3C CSS 文档W3C CSS3 文档Flex 布局教程:语法篇Flex 布局教程:实例篇各种鼠标效果样式深入理解CSS新特性1.3 移动端布局移动端基本概念viewport窗口设置移动端布局方案rem、vh、vw等单位响应式布局黑马HTML5+C...
2020-08-13 23:47:00
39
1
原创 Eclipse+ADT+Android SDK搭建安卓开发环境
第一步:打开【Android.rar】压缩包,如图所示第二步:配置环境变量(1)解压【android-sdk_r24.4.1-windows.zip】压缩包(2)右击桌面【此电脑->属性->高级系统设置->环境变量->】(3)点击确定(4)打开【cmd.exe】命令窗口(5)环境变量配置成功第三步:在线安装ADT插件(1)启动Ec...
2020-02-26 10:49:00
53
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人