- 博客(19)
- 收藏
- 关注
原创 系统的启动流程
init进程负责读取系统初始化配置文件(如/etc/inittab、/etc/systemd/system/下的服务单元文件等),并根据配置启动其他系统进程和服务。BIOS会读取硬盘的第一个扇区(MBR,Master Boot Record,主引导记录),找到引导加载程序(如GRUB)的位置。找到可启动设备后,BIOS会读取该设备上的MBR(主引导记录),MBR通常位于磁盘的第一个扇区(512字节)。内核初始化完成后,会启动init进程(PID为1),这是Linux系统中第一个由内核启动的用户空间进程。
2024-06-20 13:35:50
447
原创 GDB调试内存分析
(3)u表示从的那个前地址往后请求的字节数,如果不指定的话,GDB默认是4个bytes。当我们指定了字节长度后,GDB会从指定内存的内存地址开始,读写指定字节,并把其当作一个值取出来。在处理问题时需要打印一些变量的信息,进行分析,而有些时候遇到的是地址0x7fff5313f65c,这个时候想要查看这个地址中的数据是什么?又不知道要怎么操作。(2)f表示显示的格式。在GDB中使用examine(简写x)来查看内存地址中的值。(1)n是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。
2024-03-20 11:02:01
837
1
原创 Linux常用命令
lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。Linux 常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等。Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。只有文件所有者和超级用户可以修改文件或目录的权限。是不加密的,scp 是 rcp 的加强版。
2024-03-08 13:39:25
1934
1
原创 GDB断点调试命令
这里可以是一个函数,这样就会返回函数的返回值,如果函数的返回类型是void那么就不会打印函数的返回值,但是实践发现,函数运行过程中的打印语句韩式没有被打印出来。jump #跳转执行程序到第5行,另外跳转不会改变当前的堆栈内容,所以跳到别的函数中就会有奇怪的现象,因此最好跳转在一个函数内部进行,跳转的参数可以是程序代码行的地址,函数名等等类似。2.查看可以设置的程序语言 (gdb) set language 这里, 使用没有参数的set language可以查看gdb中可以设置的程序语言。
2024-03-07 16:35:26
3309
1
原创 管道的限制
管道写端关闭,同时将数据写入空闲缓冲区,同时管道读端读取空闲缓冲区中的数据并获得管道写段关闭的信号,从而管道读端关闭。原因:POSIX规定,少于 PIPE_BUF 的写操作必须原子完成,如果此时管道空闲缓冲区不足以容纳要写入的字节数,则进入睡眠,直到当缓冲区中能够容纳要写入的字节数时,才开始进行一次性写操作。n
2024-03-04 14:37:06
617
1
原创 valgrind 内存泄漏检测工具
架构是模块化的,所以可以在不破坏现有的结构的基础上很容易的创建出新的工具来。例如我们原来有一个程序sec_infod,这是一个用gcc –g参数编译的程序,运行它需要:#./aa.out。如果您的程序是会正常退出的程序,那么当程序退出的时候valgrind自然会输出内存泄漏的信息。2、如果还有泄漏,但是分析不出明确原因,长时间跑一下(比如半天,一天等),看看是否有内存持续增加的现象(原因:valgrind有时候有误报)名称:valgrind是一个调试和剖析的程序工具集。双击打开,如提示需要安装文件则安装。
2024-03-04 11:29:34
593
原创 Mtrace内存泄漏
*原因:**内存泄漏也称作"存储渗漏",用分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。**结果:**内存泄漏形象的比喻是"操作系统可提供给所有进程的存储空间正在被某个进程榨干",最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。1.常发性 2.偶发性:发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了性的。
2024-03-04 11:05:11
1798
原创 SpringSecurity(安全)基础
SpringSecurity(安全)Spring Security,这是一种基于 Spring AOP 和 Servlet 过滤器的安全框架。它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和授权。他是基于AspectJ的切面经行配置的。Spring Security是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型,他可以是吸纳强大的Web安全控制,对于安全控制,我们仅需要引入spring-boot-starter-security模块,进
2021-04-30 10:46:08
314
1
原创 SpringBoot入门及初步理解
SpringBoot特征创建独立的Spring应用程序直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)提供自以为是的“入门”依赖项,以简化您的构建配置尽可能自动配置Spring和3rd Party库提供可用于生产的功能,例如指标,运行状况检查和外部化配置完全没有代码生成,也不需要XML配置简化开发,约定大于配置自动配置pom.xmlspring -boot-dependencies:核心依赖在父工程中!我们在写或者引入一些Springboot一来的时候,不
2021-04-15 17:23:41
219
原创 Vue.js入门
VueVue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [6] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层(So C关注度分离原则),不仅易于上手,还便于与第三方库或既有项目整合。特点:易用:在有HTML,CSS,JavaScript的基础上,快速上手。灵活:简单小巧的核心,渐进式技术栈,足以应付任何规模的应用。性能:20kb min+gzip 运行大小、超快虚拟 DOM、最省心的
2021-04-15 17:17:43
270
原创 Docker入门与基础运用
DockerDocker概述Docker为什么出现?版本更新,导致服务不可用,对于运维来说,考研就十分大。环境配置是十分麻烦的,每一个机器都要部署环境(集群redis,ES,Hadoop…),费时费力!解决:发布一个项目(jar+(redis+MYSQL jdk ES)),项目带上环境打包!之前在服务器配置一个应用环境Redis MySQL jdk ES Hadoop,配置麻烦,不能 跨平台。这个时候就出现了Docker。Docker给以上问题提出了解决,通过Docker的镜像机制,将项目+环
2021-04-07 18:01:22
159
原创 Redis入门与扩展
RedisNosql概述大数据一般的数据库无法处理1.单机Mysql的年代数据量如果太大,一个机器放不下!数据的索引,300万(B+Tree),一个机器内存放不下访问量(读写混合),一个服务器承受不了2.Memcached(缓存)+MySQL+垂直拆分网站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!为了减轻数据库的压力,使用缓存发展过程:优化数据结构和索引–>使用文件缓存(IO)–>Memcache3.分库分表+水平拆分+MySQL集群技术和业务在发
2021-04-07 17:57:59
215
原创 Git入门
Git入门在进行大型WEB项目时,需要多人合作,就是遇到以下的问题:1.什么时候进行代码的整合呢?2.怎么进行代码的整合,并且整合后其他人是不是要进行同步。3.如何将自己本地开发好的功能抽取出来并且其它如何将代码整合到自己本地的代码中。解决:1.边开发边整合每个人开发好一个功能点,并进过测试后,没有错误后进行整合。2.为了便于团队之间的资源进行共享,会创建一个公共空间,类似于百度云的网络空间。团队人员可以将开发完成的功能点上传到公共空间中,然后其余人可以从该空间中下载被人的代码到本地。3.
2021-03-30 15:41:05
180
原创 POI与EasyExcle
POI及EasyExcel所用场景:1.将用户信息导出为excel表格(导出数据)2.将Excel表中的信息录入到网站数据库(习题上传)大大减轻网站录入量开发中会经常设计到excel的处理,如导出Excel,导入Excel到数据库中POI简介Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对[Microsoft Office](https://baike.baidu.com/item/Microsoft Office)格式
2021-03-30 15:36:52
670
原创 MybatisPlus入门与拓展
MybatisPlus简介Mybatis- Plus(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD (创建:Create, 读取:Read,更新:Update,删除: Delete),性能基本无损耗,直接面向对象操作,BaseMapper强大的 CRUD 操作:内置通用 Map
2021-03-12 14:34:46
257
2
原创 Springboot+Mybatis-plus时遇到的错误
Springboot+Mybatis-plus时遇到的一些错误总结今天初次尝试Springboot+Mybatis-plus时遇到的一些错误找了好几个帖子,尝试了好几次,最后自己又改了改,才将错误解决错误一找了好几个,都试了试文件名都对了好几次最后忘记加上@MapperScan(“com.wj.mapper”)加上了才终于不报错错误二datasource错误在依赖中 <!--数据库驱动--> <dependency> &
2021-03-10 18:31:56
548
1
原创 初学SSM实践
在pom.xml导入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apach
2021-03-02 10:07:14
239
1
原创 Maven项目的创建
Maven项目的创建点击file-new-project-maven在SDK选择JDK的版本,本人选择的是jdk1.8完成后next在Name输入maven工程名点击finish,maven项目就创建完毕了
2021-03-02 09:48:25
187
原创 java入门的第一个代码HelloWorld
HelloWorldpublic class HelloWorld{ public static void main(String []args){ System.out.println("hello word"); } }
2021-03-02 09:06:48
339
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅