- 博客(39)
- 收藏
- 关注
原创 【全网最完整】Open CASCADE Technology (OCCT) 构建项目,QT可视化操作,添加自定义测试内容
步骤3:复制 D:\Qt\Qt5.14.2\5.14.2\msvc2015_64\plugins 路径下的platforms文件,粘贴到 E:\cpp\code\OCCT\OCCT-7_8_0\build\win64\vc14\bind 路径下。步骤2:鼠标右击OCCTOverview,依次找到属性、Debugging、environment,将以下内容粘贴进去,这是配置项目环境变量的。步骤5:在3RDPARTY_DIR这一行,填入第三方库文件的路径,也就是product的路径。
2024-06-26 16:49:24
7234
5
原创 C/C++不定参函数
在学习C语言的时候,往往使用printf进行打印,其中printf函数就是一个不定参的函数,在这个函数内部可以根据格式化字符串中格式化的字符,分别获取不同的参数进行数据的格式化。这里对这类不定参的使用简要做出小结。
2024-04-19 11:19:25
1054
2
原创 Mybatis - generator(自动生成)
这个plugin文件里有配置项和依赖以及版本号修改configurationFile路径为项目里存在的generatorConfig.xml文件,因为后续的配置都在这个文件中进行。
2024-03-02 16:54:50
1219
原创 JavaSE
数组是引用类型,会占据一部分内存。JVM对内存按照功能进行了不同的划分:堆(Heap):JVM最大的内存区域,new出来的对象都在堆上。方法区(Method Area):存储类信息、常量、静态变量,方法编译出的字节码就存在这个区域。虚拟机栈(JVM Stack):每个方法执行时,都会创建一个栈帧,内部包括局部变量表、操作数表栈、动态链接、返回地址等信息,方法结束即销毁。本地方法栈(Native Method Stack):与虚拟机栈类似,只不过保存的Native方法的局部变量。
2024-02-07 17:19:18
1132
原创 基于深度强化学习求解多目标动态柔性作业车间调度问题研究
针对经典的组合优化的调度模型,动态柔性作业车间调度问题(DFJSP),提出一种多目标的求解方法。以最小化延期率和最小化机器总负荷作为目标函数。以随机机器故障、新工件插入作为动态随机事件。以改进的DQN作为求解算法,设计一种两阶段的DDQN算法求解多目标问题。论文:Efficient Multi-Objective Optimization on Dynamic Flexible Job Shop Scheduling Using Deep Reinforcement Learning Approach目标函
2023-11-23 14:19:36
1262
2
原创 JVM小结
程序在执行之前先要把java代码转换成字节码(class文件),JVM首先需要把字节码通过一定的方式把文件加载到内存中,而字节码文件是 JVM的一套指令集规范,并不能直接交个底层操作系统去执行,因此需要特定的命令解析器将字节码翻译成底层系统指令再交由CPU去执行,而这个过程中需要调用其他语言的接口来实现整个程序的功能,这就是这4个主要组成部分的职责与功能。总结来看,JVM主要通过分为以下4个部分,来执行Java程序的,它们分别是:1.类加载器(2.运行时数据区(
2023-11-22 23:02:59
68
原创 如何使用云服务器发布自己的程序
使用云服务器,其实就相当于买了一台新的主机,只不过这个主机在遥远的机房里。我们的目的,就是想办法把自己本地硬盘上的程序、环境都打包存到云服务器的硬盘中,这样就可以在云服务器中运行这些程序了。
2023-11-22 09:06:45
124
原创 https加密流程
简单来说,为了避免要传输的信息直白的在网络上传递,我们引入对称加密,引入密钥,来让直白的信息变成复杂的信息(黑客看不懂的)。因此引入非对称加密。这个值也是需要用另一个私钥加密传过来的,这个私钥是申请证书的时候,证书发布机构给服务器的, 不是客户端和服务器传输对称密钥的私钥),二是为了告知客户端公钥是什么。但是要想对密钥进行对称加密, 就仍然需要先协商确定一个 "密钥的密钥". 这就成了 "先有鸡还是先有蛋"的问题了. 此时密钥的传输再用对称加密就行不通了.此时,唯一能打开的私钥在服务器那里,黑客打开不了。
2023-11-15 21:38:02
54
原创 链路层总结
以太网不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等;例如以太网中的网线必须使用双绞线;传输速率有10M100M1000M等;以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等;以太网帧格式源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的;帧协议类型字段有三种值,分别对应IPARPRARP;
2023-11-15 12:18:41
37
原创 IP协议总结
位标志字段:第一位保留(保留的意思是现在不用,但是还没想好说不定以后要用到)。分别表示:最小延时,最大吞吐量,最高可靠性,最小成本。对于ssh/telnet。还没到达,那么就丢弃了。除了最后一个报文之外,其他报文的长度必须是。):数据报到达目的地的最大报文跳数。这样的应用程序,最小延时比较重要;ftp这样的程序,最大吞吐量比较重要。表示禁止分片,这时候如果报文长度超过。):唯一的标识主机发送的报文。,如果分片了的话,最后一个分片置为。的整数倍(否则报文就不连续了)。位协议:表示上层协议的类型。
2023-11-15 12:09:55
41
原创 TCP/IP小结
32位序号:为了满足全双工的安全机制而存在的,是指发送数据的位置,每发送一次数据,就累加一次该数据字节数的大小。当某一段报文丢掉的话,会使得发送端一直收到类似1001这也的ACK,如果我多次收到了这也的ACK,我也就知道了我1001-2000的数据丢了(因为正常逻辑ACK是会不断往上加的,一直收到重复的就说明有一段掉包了)。接收端处理数据的速度是有限的。16位窗口大小:表示接收缓冲区中,剩余容量的大小(满了就不要再发了),填写的是自己的缓冲区剩余容量双方根据对方缓冲区的大小来决定发送数据的大小,这就叫做。
2023-11-14 10:37:58
58
原创 UDP和TCP
Socket套接字是由系统提供用于网络通信的技术,是基于TCP/IP协议的网络通信的基本操作单元。基于Socket套接字的网络程序开发就是网络编程。
2023-11-12 15:01:55
53
原创 网络基本概念
其中127.0.0.1是用于本机的环回测试,主要是用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输),对于开发网络通信的程序(即网络编程)而言,常见的开发模式都是本机到本机的网络通信。比如:存在很多计算机生产商,操作系统、硬件设备都有很多,想要让这些不同的计算机能够互相交流,就需要有一个标准,让大家都遵守,这个标准就是网络协议。通常都用 “ 点分十进制 ” 的方式来表示,即a.b.c.d的形式,(abcd都是0~255之间的十进制整数)。还包括许多协议,组成TCP/IP协议簇。
2023-11-10 12:29:05
62
原创 文件操作IO
文件夹(folder)目录(director)文件路径(path)绝对路径(absolute path)快捷方式(shortcut)软连接(soft link)
2023-11-09 16:09:55
75
原创 Java线程池介绍
有以下几种常见结构:ArrayBlockingQueue FIFO有界阻塞队列、LinkedBlockingQueue FIFO无限队列、PriorityBlockingQueue VIP、SynchronousQueue不缓存任务的阻塞队列。指当线程数大于核心线程数时,空闲线程在等待新任务到达的最大时间,如果超过这个时间还没有任务请求,该空闲线程就会被销毁。指线程池中维护的最小线程数量,即使他们处于空闲,也一直存在池子里,除非超过了存储时间。如果超过了线程池的容量,那如何处理多余的任务呢?
2023-11-08 14:19:56
45
原创 多线程总结(初阶)
1.使用没有共享资源的模型2.适用共享资源只读,不写的模型2.1 不需要写共享资源的模型2.2 使用不可变对象3.直面线程安全(重点)3.1 保证原子性3.2 保证顺序性3.3 保证可见性。
2023-11-08 11:29:35
62
原创 JavaEE多线程
以下代码中,两个线程的代码在并发执行。无规律的交叉打印hello thread和hello main,此时称为并行和并发执行,因为在写程序的时候,感知不到它是在两个核上同时执行,还是在一个核上先后执行。此时统称为。如果把t.start()换成t.run(),此时则不会产生新的线程,只会有一个主线程。这个主线程里面只能从上往下依次执行,因此只会打印hello thread,死循环。其实此时这种情况,就相当于调用另一个类中的方法。使用jconsole查看正在运行的进程。
2023-11-03 10:59:51
44
原创 JavaEE操作系统
(粗暴理解为缓冲带)(虚拟地址指向物理地址,称为页表,类似于hash表,一一对应),此时操作系统可以在虚拟内存上进行检查,判断当前的虚拟地址是否能够翻译成为一个合法的物理地址,如果翻译以后越界了,就不会做出修改,也就不会波及到其他进程了。进程是要不断“登台”、“休息”、“登台”的,因此当进程完成工作以后,需要把对应的结果保存下来,要保存此时CPU各种寄存器的状态,都记录到内存中,方便下一次该进程再次在CPU上计算时,读取之前的结果,继续往后执行。而且同一个进程的多个线程之间,公用一份内存空间,和文件资源。
2023-11-02 22:31:45
69
原创 HashMap源码分析
哈希桶的长度,也就是数组的长度。1<<4表示1左移4次,是2的4次方,16默认负载因子树化的条件之一(另一个是数组长度要超过64),链表长度超过8以后,就转化为红黑树解树化条件,红黑树结点小于6个,就没必要用树存了,转化为链表树化的条件之一,数组长度超过64结点实现了Map的Entry接口,所以在HashMap中可以得到,可以把这个Map.Entry就理解成结点。实际上是set。
2023-10-21 15:28:08
45
原创 堆排序 - 为什么升序要建大根堆,降序要建小根堆
后面的循环,是为了每次都将这个堆的根节点取出,放入数组的最后一个位置,再将剩下元素进行向下转型调整,使得最大的元素又变成根结点。升序建立大根堆,降序建立成小根堆。就是因为要将根结点位置存入到数组最后,所以如果根结点是最大值,那么放入到数组最后位置以后,该序列就会变成升序。将一个数组变成堆的方法,是通过不断的寻找父节点的索引来创建的,通过找到的父节点的索引,从而找到这颗树,再对这颗树进行向下调整的操作。向下调整的操作,通过父节点,左孩子结点、右孩子结点的值来比大小,交换位置的操作,使得父亲结点都是较大的值。
2023-10-14 12:55:33
2126
原创 排序(7种常见排序方法)
常见的排序算法:按照分:1.直接插入排序 2.希尔排序按照分:1.选择排序 2.堆排序按照分:1.冒泡排序 2.快速排序按照分:1.归并排序常见的排序思想:是使用双指针或者三指针,在同一个数组上遍历、比较、交换。
2023-10-12 15:48:24
4118
原创 优先级队列(堆)PriorityQueue
队列是一种先进先出的结构(排队买饭)。然而有的时候我们需要让优先级更高的元素出去,此时就出现了优先级队列的概念。此时数据结构应该满足最基本的两个要求:1.可以输出最高优先级的对象。2.可以输入新对象。堆本质上,就是用数组或者链表来存储数据,通过模拟完全二叉树的方式,开始先优先级的区分。
2023-10-12 11:02:51
54
原创 二叉树基本介绍
若一个结点含有子结点,则这个结点称为其子结点的父结点;如上图:A是B的父结点。一个结点含有的子树的根结点称为该结点的子结点;如上图:B是A的孩子结点。:一棵树中,没有双亲结点的结点;如上图:A。:从根开始定义起,根为第1层,根的子结点为第2层,以此类推:树中结点的最大层次;如上图:树的高度为4:度不为0的结点;如上图:DEFG...等节点为分支结点:具有相同父结点的结点互称为兄弟结点;如上图:BC是兄弟结点:双亲在同一层的结点互为堂兄弟;如上图:HI。
2023-09-24 14:16:29
43
原创 函数相关基础题
创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3。 要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算。
2023-09-18 17:06:23
56
原创 Java模拟实现链表
都有值val和下一个节点的地址。同时每一个节点的地址就是自身ListNode的实例化对象。这个操作就相当于把node2的地址赋值给node1的next属性。类作为一个外壳,里面装着许多的。类之中,设计一个静态内部类。
2023-09-14 22:37:04
67
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人