- 博客(49)
- 收藏
- 关注
原创 JVM虚拟机
(1)解释和运行:对字节码文件中的指令,实时的解释成机器码,让计算机去执行。(2)内存管理:自动为对象、方法等分配内存。自动的垃圾回收机制,回收不再使用的对象。(3)即时编译:对热点代码进行优化,提升执行效率。
2025-03-13 11:56:05
170
原创 前端工程化
ECMAScript6,简称ES6,是JavaScript语言的一次重大更新。它于2015年发布,是原来的ECMAScript标准的第六个版本。ES6带来了大量的新特性,包括箭头函数、模板字符串、let和const关键字、解构、默认参数值、模块系统等等,大大提升了JavaScript的开发体验。由于VUE3中大量使用了ES6的语法,所以ES6成为了学习VUE3的门槛之一。
2025-03-10 18:39:53
327
原创 三大域对象——请求域、会话域和应用域
传递数据的范围是本应用之内,可以跨越多个会话。,传递数据的范围是一次请求之内及多个请求转发。,传递数据的范围是一次会话之内,可以跨多个请求。
2025-03-10 12:01:32
206
原创 Tomcat的执行流程(servlet执行流程)
后端程序员需要做的事情:就是编写Class Servelt,根据Tomcat封装好的HttpServletRequest请求,来修改HttpServletResponse的内容,最后Tomcat自动将HttpServletRespnonse对象解封装为Http响应报文,返回给客户端。
2025-03-06 12:11:30
382
原创 反射和注解
反射就是加载字节码文件,并允许用以编程的方式解剖类中的各种成分(成员变量、成员方法、构造器等)。第一步:加载类,获取类的字节码:Class对象第二步:获取类的构造器:Constructor对象第三步:获取类的成员变量:Filed对象第四步:获取类的成员方法:Method对象适合做Java的框架,基本上,主流的框架都会基于反射设计出一些通用的功能。
2025-02-23 20:41:50
262
原创 IDEA通过Maven使用JBLJavaToWeb插件创建Web项目
File--->Settings--->Plugins--->Marketplace搜索: JBLJavaToWeb。
2025-02-23 19:48:47
448
原创 Maven+SSM+SpringBoot+Mybatis-Plus
SSM技术栈:spring6、springmvc、mybatis、springboot3、mybatis-plus、druid;前端: node、npm、vue快速掌握:全新SSM+Spring Boot+MyBatis-Plus实战精讲
2025-02-23 15:11:22
466
原创 JDBC学习
背景:主机正在运行mysql服务在cmd输入之后,输入密码(我的用户名是root,密码是root),成功登录到mysql。输入:SHOW GLOBAL VARIABLES LIKE 'port';检查mysql服务的端口号得到我的mysql服务的主机ip是localhost,端口号是3306,用户名是root,密码是root。
2025-02-22 17:46:52
183
原创 Spring框架-AOP
为某一个对象(委托类)提供一个代理(代理类),用来控制对这个对象的访问。委托类和代理类有一个共同的父类或父接口。代理类会对请求做预处理、过滤、将请求分配给指定对象。生活中常见的代理模式:房东委托中介出租房子婚庆公司1. 代理类与委托类具有相似的香味2. 代理类增强委托类的行为静态代理动态代理有共同的行为 - 定义接口目标角色/真实角色(新人)- 实现接口代理角色 - 实现接口 增强用户行为。
2025-02-18 17:19:02
113
原创 Spring框架-IOC
Spring框架是一个开源的JavaEE应用程序主要核心是IOC和AOP两大技术Spring官网:spring.io目前学习的是:Spring Framework。
2025-02-17 16:30:47
976
原创 Spring启动项目报错: 无法读取方案文档 ‘https://www.springframework.org/schema/beans/spring-beans 5.3.xsd’, 原因为
【代码】Spring启动项目报错: 无法读取方案文档 ‘https://www.springframework.org/schema/beans/spring-beans 5.3.xsd’, 原因为。
2025-02-13 20:11:28
87
原创 Golang基础
2009年11月10日,Go语言正式成为开源编程语言家庭的一员。Go语言(或称Golang)是云计算时代的C语言。Go语言的诞生是为了让程序员有更高的生产效率,Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。开发人员在为项目选择语言时,不得不在开发速度和性能之间做出选择。C和C++这类语言提供了很快的执行速度,而Ruby和Python这类语言则擅长快速开发。
2024-11-20 17:51:18
884
原创 【已解决】ERROR: Failed building wheel for mpi4py
尝试了各种方法都没用,浏览量高的还要付费,开源精神去哪了?
2024-11-18 21:43:38
247
原创 Linux网络编程
从应用的角度出发,协议可以理解为“规则”,是数据传输和数据的解释规则。假设,A与B双方欲传输文件,规定:第一次,传输文件名,接收方接收到文件名,应答OK给传输方第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。这种仅在A、B之间被遵守的协议称之为。
2024-11-15 17:04:16
538
1
原创 Linux线程
LWP:(Light Weight Process)轻量级的进程,本质仍是进程(在Linux环境下)进程:独立地址空间,拥有PCB线程:有独立的PCB,但没有独立的地址空间(共享地址空间)如上图,进程2创建线程后,能得到更多的CPU执行时间,使得进程2的执行更快。:一个进程随着线程的增加,该进程的执行效率先变高再变低,因此不能无限增加一个进程的线程。输入命令:ps -Lf 29690,查看PID为29690进程的详细情况,发现其一共包含14个线程。LWP表示线程号。
2024-11-13 17:53:29
250
原创 进程组、会话和守护进程
每个进程除了有一个进程ID之外,还属于一个通常,它们是在同一作业中结合起来的。同一进程组中的各进程接收来自同一终端的各种信号。每个进程组有一个唯一的进程组ID。成功返回进程组ID,失败返回-1。ps ajx得到在终端1执行命令:cat | cat | cat | wc -l在终端2执行命令:ps ajx得到::kill -9进程组ID。
2024-11-13 15:11:35
470
原创 Linux信号
从内核的角度,进程是系统分配资源的单位。当一个程序(静态)被加载到内存,操作系统为程序分配一个PCB(进程控制块)。在Linux中PCB叫做task_struct的结构体,我们称之为“进程描述符”。它里面包含了进程执行的所有信息,所以。每一个进程都有一个PCB。
2024-11-11 20:42:57
895
原创 进程间的通信方式
Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷贝到,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)在进程间间完成数据传递需要借助操作系统提供特殊的方法,如:文件、管道、信号、共享内存、消息队列、套接字、命名管道等。
2024-11-06 21:05:29
530
原创 C++ new, delete本质
当{}作用域结束之后,栈里的c1对象会调用析构函数,被释放。p指针变量也会被释放,但是p指针指向的对象存在于堆里,没有被释放。
2024-11-05 17:55:21
389
原创 孤儿进程和僵尸进程, wait和waitpid
孤儿进程案例:父进程结束,子进程一直在后台运行,子进程的父进程由init进程接管。:父进程A结束,子进程B没结束,被init进程收养,此时进程B成为孤儿进程;:父进程A没有结束,子进程B结束了,但是B没有被回收,此时B变成僵尸进程。如何解决子进程结束,父进程没结束,子进程变成僵尸态的问题?僵尸进程案例:父进程不结束,子进程结束,子进程。通过wait函数回收子进程!
2024-11-04 13:07:14
174
原创 C++封装、继承和多态(虚函数)
举例子:当封装两个类后,第一个类中有一个非常复杂的成员函数,第二个类也需要同样的一个成员函数。如果第二个类重新编写成员函数,会增加开发时间,并且可能会因为一些疏忽,造成BUG,因此出现了继承这种方式,第二个类继承第一个类,那么第二个类就可以直接复用第一个类中的所有成员(类B继承类A,虽然类B无法访问父类A的私有成员变量c,但是可以调用父类的公有方法输出父类的私有成员c。如何理解子类可以继承父类的私有成员,但无法访问父类的私有成员?总之,用类实现封装,追求。
2024-10-31 22:00:31
715
原创 Linux系统编程——文件系统
一个文件主要由两部分组成:目录项dentry和inode结点。目录项dentry:文件名+Inode号Inode:文件的字节数+文件块数+文件拥有者的UserID+文件的GroupID+文件的读写执行权限+文件的时间戳+链接数+文件数据block位置+inode编号。
2024-10-30 12:07:03
214
原创 Linux系统编程——文件IO
文件在读写之前应该先打开文件,在使用结束之后应该关闭文件。在编写程序的时候,在打开文件的同时,都会返回一个FILE*的指针变量指向该文件,也相当于建立了指针和文件的关系。fopen函数的第一个参数是文件名,第二个参数是打开方式。fclose函数的参数里放的是文件名。1.4 fseek。
2024-10-28 18:45:34
696
原创 C标准库errno,perror()和strerror()
errno是一个int整形变量,用于存储错误编号。其头文件在里。当文件操作错误时,全局变量errno会被赋予对应的值。在C语言中,errno变量是一个全局变量,用于指示最近一次系统调用或库函数调用失败的错误类型。关于errno变量何时加载到内存,这实际上是一个编译器和运行时环境相关的问题,而不是由C语言标准直接规定的。一般来说,errno变量是在程序开始执行时,由运行时环境(如操作系统的C运行时库)进行初始化的。
2024-10-28 16:11:26
401
原创 C++深拷贝与浅拷贝
字符串(string)、数值(number)、布尔值(:对象(Object)、数组(Array)、函数(Function);什么是浅拷贝,深拷贝以及和他们之间的区别。
2024-10-19 13:09:56
319
原创 C++设计模式
简单工厂模式属于类的创建模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常具有共同的父类。工厂方法模式同样属于类的创建型模式又被称为多态工厂模式。工厂方法模式的意思是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样就进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。
2024-10-14 23:24:20
895
原创 C++函数指针、指针函数、回调函数
本质是一个指针,该指针是一个指向某个函数的指针变量,通过它来调用函数。:本质是一个函数,返回某一类型的指针。:以函数指针为参数的函数。
2024-10-04 11:54:19
184
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人