- 博客(29)
- 收藏
- 关注
原创 【Java虚拟机】JVM
JDK - Java开发工具包JRE - Java运行时环境JVM - Java虚拟机C++这种语言可以直接编译成二进制的机器指令,不同的CPU上面支持的指令不一样,如果是换了操作系统,可能就会需要重新编码。Java只使用一套编码,在各个操作系统上都是使用一套编码。先通过 javac 把 .java文件 转换成 .class文件 (字节码文件,包含的就是Java字节码,字节码就是Java自己搞的一套CPU指令)。
2025-04-01 10:32:03
628
原创 【计算机网络】HTTP与HTTPS
HTTP(超文本传输协议)是一种工作在应用层的协议,应用场景主要用于网站,即浏览器和服务器之间的数据传输,客户端(手机、PC)和服务器之间的数据传输,也很可能是 HTTP。超文本传输协议文本:字符串(能在utf8/gbk码表上找到合法字符)超文本:不仅可以传输字符串,也可以传输图片,特殊格式等,比如html富文本:word文档HTTP版本HTTP在3.0版本之前,都是基于TCP实现的,而在3.0版本之后是基于UDP实现的,提升了传输效率,安全性也提到了明显的改善,当前使用广泛的是。
2025-03-31 16:48:50
912
1
原创 【计算机网络】网络编程
于是客户端的 Socket 就请求服务器的 ServerSocket 帮忙牵线搭桥,服务器的 ServerSocket 就把服务器的 Socket 的电话号码给了客户端,而客户端的构造方法就类似于给服务器拨通了电话,而当前只是在响铃,而accept()方法就类似接听,只有调用accept()的方法后才算真正建立连接。从网卡内读数据以及往网卡内写数据,TCP中操作socket文件,对其进行读写(InputStream,OutputStream),就是在操作网卡,操作系统把网卡抽象成了一个文件。
2025-03-23 14:19:00
753
原创 【计算机网络】网络简介
TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。TCP/IP 通讯协议采用了 5 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。应用层:负责应用程序间沟通,关注的是传输的数据在应用程序中如何使用传输层:负责两台主机之间的数据传输,关注的是传输的起点和终点 (TCP/UDP)网络层: 关注的是通信中的数据规划 (IP/ICMP)数据链路层:负责设备之间的数据帧的传送和识别,关注的是相邻结点的通信细节。
2025-03-21 16:38:07
1431
2
原创 【文件操作】IO流
文件是指硬盘上的文件。操作系统为了管理文件,引入了专门的模块:文件系统。每个文件都有一个“路径”描述文件所在位置。绝对路径:从盘符出发,到文件名结束。相对路径:有一个基准路径,以这个基准做为参考,. 表示当前目录,…/表示当前目录的上一级目录。文本文件:存储的内容虽然是二进制数据,但是这些二进制能从对应的字符集码表中查找出来翻译成对应的合法字符。二进制文件:存储的是二进制数据,在字符集码表中查不出对应字符。
2025-03-20 15:07:47
646
原创 【多线程】锁策略与SCA(Compare and swap)
CAS: 全称Compare and swap(比较并交换),比较交换的是内存和寄存器。CAS的操作:假设内存中的原数据V,旧的预期值A,需要修改的新值B。比较 A 与 V 是否相等。(比较)如果比较相等,将 B 写入 V。(交换)返回操作是否成功。
2025-03-18 09:13:19
580
原创 【多线程】线程池
线程池(ThreadPoolExecutor):线程池是一种线程使用模式,它预先创建一定数量的线程。当有任务提交时,从线程池中获取一个空闲线程来执行该任务。任务执行完毕后,线程不会销毁,而是返回线程池等待下一个任务,这样可以避免频繁创建和销毁线程带来的开销。创建销毁线程的频率提升,对CPU的开销是巨大的,解决方法如下:协程/纤程 (轻量级线程)[暂时不讨论,Golong多用]线程池:提前把要使用的线程,在线程池中准备好。需要用就从池子里取,用完之后也是还给池子。
2025-03-16 21:39:16
540
原创 【多线程】阻塞队列与生产者-消费者模型
队列:先进先出阻塞队列:基于普通队列做出的扩展,是线程安全的并具有阻塞特性,也可以称为消息队列。如果针对一个已经满了的队列进行入队列,此时入队列就会阻塞,一直阻塞到队列不满(其他线程出队列)后如果针对一个已经空了的队列进行出队列,此时出队列就会阻塞,一直阻塞到队列不空(其他线程入队列)后。
2025-03-14 20:01:24
856
原创 【多线程】线程安全
一个代码在单线程或者多线程下执行都不会产生bug,这个情况就是"线程安全"的。但是代码如果在单线程下运行正确但是在多线程下很可能产生bug,这个情况就被称为"线程不安全"或者是"存在线程安全问题"i<50000;});i<50000;});t1.start();t2.start();t1.join();t2.join();
2025-03-13 18:08:47
540
原创 【多线程】多线程基础操作
想让线程结束,只需在 catch 中加上 break。当引入的线程到达一定数量后在尝试继续引入新的线程无法提升,当线程数量太多的时候,线程之间就会相互竞争CPU的资源(CPU核心数有限)非但不会提高效率,反而增加调度开销。操作系统进行"多任务调度"本质上是在调度PCB(线程在系统中的调度规则就和之前的进程是一样的,线程的PCB中也有状态,优先级,上下文,记账信息…5.每个线程,也是一个独立的执行流,可以执行一些代码,并且单独的参与到CPU调度中(状态,上下文,优先级,记账信息,每个线程都有自己的一份)
2025-03-13 14:40:10
658
原创 【多线程】进程
1.cpu要执行指令是先在内存中(冯诺依曼体系结构基本设定-让执行单元与存储单元解耦合)2.cpu要执行指令就要先取指令,在解析指令,然后才能执行指令3.取指令需要从内存中读取指令到cpu寄存器中,取指令很耗时,通过引入缓存,流水线优化等技术4.cpu解析指令需要指令表,不同架构cpu支持指令表不同5.指令在执行过程中,可能会带有一些操作数,不同指令,操作数的个数含义不同6.cpu重要参数,主频:-1s之内,一个核心能执行多少条指令(机器语言最终由CPU执行)
2025-03-11 20:59:51
686
原创 【数据库】一文学懂MySQL
接着,事务B开始执行,查询账户X的余额,读取到了900元的结果。然而,事务B读取的实际上是事务A未提交的数据,也就是所谓的“脏数据”。脏读通常发生在隔离级别为读未提交(Read Uncommitted)的情况下,这是最低的隔离级别,允许一个事务读取另一个未提交事务修改的数据。在读已提交的隔离级别下,事务只能读取已经提交的数据,从而确保不会读取到未提交的、可能被回滚的“脏数据”。概念:指在一个事务中,多次执行相同的查询操作时,由于其他事务插入或删除了符合查询条件的数据,导致前后读取到的结果集不一致。
2025-03-06 14:30:12
1018
原创 Adam 优化器
深度学习中的神经网络优化。它结合了RMSProp和Momentum两种优化算法的思想,并且对参数的更新进行了归一化处理,使得每个参数的更新都有一个相似的量级,从而提高训练效果。具体来说,Adam优化器定义了两个指数加权平均值:第一个指数加权平均值是梯度的指数加权平均值,第二个指数加权平均值是梯度的平方的指数加权平均值。1.自适应调整学习率:Adam 优化器可以根据历史梯度信息来自适应地调节学习率,使得在训练初期使用较大的学习率,能够快速收敛,在训练后期使用较小的学习率,能够更加准确地找到损失函数的最小值。
2023-05-23 13:08:11
40971
3
原创 决策树分类算法研究及用例
文章目录1 题目2 理论及算法原理2.1决策树模型的构成2.2决策树的数据结构2.3决策树的功能2.4实现决策树模型的算法2.5决策树生成算法原理3算法对比分析3.1算法概括3.2算法的基础3.3算法详情3.5例3.5.1 ID3算法3.5.2 C4.5算法3.5.3 CART算法3.5.4 例题显示的各算法的区别4总结5参考文献1 题目决策树模型为树状模型,可以实现分类和回归。决策树的训练就是决策树的建树过程。为了实现最优决策树,需要在实际情况中选择不同的算法,在此对决策树的三个算法进行分析比较。
2021-12-06 13:00:30
1309
原创 操作系统-信号量机制;用信号量机制实现进程互斥、同步、前驱关系
文章目录信号量机制信号量整形信号量记录型信号量信号量机制的应用信号量机制实现进程互斥信号量机制实现进程同步信号量机制实现进程的前驱关系信号量机制信号量用户可以通过使用操作系统提供的一对原语来对信号量进行操作,从而很方便的实现了进程互斥、进程同步(原语执行只能一气呵成,不可被中断,又关中断/开中断指令实现)信号量其实就是一个变量(可以是一个整数,也可以是一个更复杂的记录性变量),可以用一个信号量来表示系统中某种资源的数量。(比如:系统中只有一台打印,就可以设置一个处置为1的信号量)一对原语:wai
2021-11-29 20:24:07
2056
原创 操作系统-进程同步、进程互斥、进程互斥的实现方法
进程同步由于进程具有异步性,可能会使的进程乱序同步亦称直接制约关系,它是指为了完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调他们的工作次序而产生的制约关系。进程间的直接制约关系就是源于他们之间的相互合作简单的来讲,就是某个进程不得不放在某个进程之后,才会有效果,比如管道通信,先写后读进程互斥进程的并发需要共享的支持。各个进程并发执行不可避免的需要共享一些系统资源(如:内存、打印机、摄像头等)互斥共享方式:系统中的某些资源,一个时间段内指允许一个进程访问该资源同时共享
2021-11-29 16:52:12
619
原创 操作系统-处理机调度、进程调度的时机、切换与过程、方式、调度算法的评价指标、调度算法
文章目录时机什么时候需要进程调度什么时候不能进行进程调度临界区与内核程序临界区切换与过程"狭义的调度"与"切换"的区别进程切换的过程需要做什么方式非掠夺调度方式(非抢占式)掠夺调度方式(抢占式)时机什么时候需要进程调度进程调度:也就是低级调度,按某种算法从就绪队列中选择一个进程为其分配处理机当前进程主动放弃处理机*进程正常终止*运行过程中发生异常而终止*进程主动请求阻塞(如 等待I/O)当前进程被动放弃处理机*分给进程的时间片用完*有更紧急的是需要处理(如 I/O中断)*有更高优先级
2021-11-22 17:47:35
1125
原创 操作系统-线程概念和多线程模型
文章目录线程概念进程的定义线程带来的变化线程的实现方式多线程模型线程概念进程的定义线程是一个基本的CPU执行单元,也是程序执行流的最小单位。线程带来的变化引入线程后,进程只作为除CPU之外的系统资源的分配单元,线程则是调度的基本单位进程内的线程也可以并发,进一步提高了系统的并发度传统进程间并发,需要切换进程的运行环境,系统开销很大,线程不需要切换进程环境,减小开销线程的实现方式用户级线程:由应用程序通过线程库实现,线程切换可以在用户态下完成,在用户看来是多个线程,但是在操作系
2021-11-16 16:33:00
431
原创 操作系统-进程的状态与转换、进程控制、进程通信
进程的状态运行态(Running):占有CPU,并在CPU上运行就绪态(Ready):已经具备运行条件,但没有空闲CPU,暂时不能运行阻塞态(Waiting):因等待某一事件而暂时不能运行创建态(New):进程正在被创建,操作系统为进程分配资源、初始化PCB终止态(Terminated):进程正在从系统中撤销,操作系统会回收进程拥有的资源、撤销PCB进程的转换进程控制功能:实现各种进程之间的转换进程控制是通过原语实现的。原语的特点是执行期间不允许中断,只能一气呵成。这种不可
2021-11-16 15:47:02
287
原创 操作系统-进程的定义、组成、组织、特征
进程的定义PCB是进程存在的唯一标志PCB(进程控制块):为了使参与并发执行的程序(含数据)能独立地运行,必须为其配置一个专门的数据结构,成为PCB。由程序段、相关数据段和PCB三部分构成了进程映像(进程实体)。所谓进程实体,实质上是创建进程映像中的PCB;而撤销进程,实质上是撤销进程的PCB。进程映像是静态的,进程是动态的。定义:进程是进程实体的运行过程,是系统进行资源分配和调度的独立单位。进程的组成进程有程序段、数据段和PCB三部分组成PCB进程描述信息*进程标识符(PID)
2021-11-13 15:05:46
874
原创 操作系统-操作系统的运行机制和体系机构
1.指令:处理器(CPU)能够识别、执行的最基本的指令。2.特权指令与非特权指令:普通用户不允许使用特权指令3.处理器(CPU)的状态:用户态(目态):CPU只能执行非特权指令核心态(管态):任何指令都可执行程序寄存器(PSW)中的某个标志位来标识当前处理器处于什么状态。3.内核程序与应用程序内核程序的系统的管理者,可执行任何指令,运行在核心态应用程序只能执行非特权指令,运行在用户态(使用特权指令会对操作系统造成威胁)4.操作系统的内核内核是计算机上配置的底层软件,是操作系统最基本最核心
2021-11-09 20:38:05
487
原创 操作系统-操作系统的发展和分类
手工操作阶段:无操作系统批处理阶段:1.单道批处理引入脱机输入/输出技术(用磁带完成),并监督程序负责控制作业的输入、输出优点:缓解了人机速度矛盾,资源利用率提升缺点:内存中只能有一道程序,程序运行结束后才能调入下一道程序。CPU有大量时间在等待I/O完成。资源利用率也很低2.多道批处理...
2021-11-09 18:36:17
1267
原创 操作系统-操作系统概述
一.操作系统的概念**操作系统(Operating System,OS)**是指控制和管理整个计算机系统的硬件和软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机最基本的系统软件。...
2021-11-03 15:00:57
487
原创 第一章 软件与软件工程的概念
一:软件工程学习的主要内容软件工程的基本概念软件过程软件开发各个阶段的任务、技术和方法传统方法和面向对象方法软件项目管理与软件项目保证第一章学习任务二.软件的概念、特性和分类1.软件的作用:具有产品和产品生产载体的双重作用。2.软件的概念:软件是计算机系统中与硬件依存的另一部分,它是程序、数据及其相关文档的完整集合。2.1.程序:是按事先设计的功能和性能要求执行的指令序列。2.2.数据:数据是使程序能正常操纵信息的数据结构。2.3.文档:文档是与程序开发,维护和使用有关的图文材料。
2021-10-27 21:24:08
2309
2
原创 三天打鱼,两天晒网
三天打鱼,两天晒网内容: 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。我用C语言实现程序解决问题。1.算法分析(1).计算从某日期至开始时间2010.1.1共有多少天;(2).由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除;(3).根据余数判断他是在“打鱼”还是在“晒网”,若余数为1,2,3,则他是在“打鱼”,否则 是在“晒网”。2. 概要设计2.代码#include <st
2021-03-22 19:50:03
2872
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人