![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
ht巷子
这个作者很懒,什么都没留下…
展开
-
QMediaMetaData获取媒体文件信息
qt使用QMediaMetaData获取媒体文件的信息原创 2023-02-22 15:28:01 · 719 阅读 · 0 评论 -
SQL创建存储过程
创建SQL存储过程需要使用到的语法- 创建存储过程CREATE 存储过程的名称(参数)BEGIN...需要执行的SQL语句END- 调用CALL 存储过程的名称(参数)个人看法,这就是一个函数...无参数CREATE PROCEDURE p_student_select()BEGIN SELECT * FROM student;ENDCALL p_student_select()带参# out其实就是cpp里的引用变量,in就是值传递CREATE PROCEDUR原创 2021-11-18 10:44:09 · 23766 阅读 · 0 评论 -
C++线程启动、结束,创建线程方法
线程启动、结束,创建线程方法、join,detach* 程序运行起来,生成一个进程,该进程的主线程自动开始运行* 主线程从main函数开始执行,那么自己创建的线程,也需要从一个函数开始运行(初始函数)。一旦这个函数运行完毕,代表该线程结束。* 整个进程是否执行完成完毕的标志是 主线程是否执行完毕,如果主线程执行完毕了,代表整个进程执行完毕。 此时,一般情况下,如果其他子线程没有执行完毕,那么这些子线程就会被操作系统强行终止。 所以,一般情况下,如果想要保持子线程的运行状态,那么要让主线程一直保持,原创 2021-11-02 09:14:30 · 2717 阅读 · 2 评论 -
学习笔记:非阻塞式NIO
Java NIO非阻塞模式当线程从某通道读写数据时,若没有数据可用时,该线程可以进行其他任务。即线程空闲时可以进行其他任务,单独的线程可以管理多个输入输出通道,大大提高了CPU使用率。选择器(Selector)选择器可以让一个线程控制多个通道。Selector是非阻塞IO的核心。选择器的使用创建选择器 //获取选择器 Selector selector = Selector.open();向选择器注册通道 //将通原创 2021-02-06 14:36:56 · 157 阅读 · 0 评论 -
学习笔记:ObjectOutputStream和ObjectInputStream
对象流的作用对象流用于存储和读取基本数据类型或对象的处理流。可以把Java中的对象写入数据源中,也能从数据源中还原对象。序列化序列化机制:对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,或通过网络将这种二进制流传输到另一个网络节点。当其它程序获取了这种二进制流,就可以恢复成原来的Java对象。ObjectOutputStream内存中的Java对象就是通过ObjectOutputStream保存到磁盘中或者通过网络传输出去Ob原创 2021-02-03 17:11:12 · 200 阅读 · 0 评论 -
Java实现文件和文件夹复制
实现方法public Boolean copyFile(String srcPath, String desPath)public Boolean copyFiles(String srcPath, String desPath)public Boolean copyFile(String srcPath, String desPath)这个方法当做工具,用于复制单个文件public Boolean copyFile(String srcPath, String desPath) {原创 2021-02-03 16:45:28 · 234 阅读 · 0 评论 -
学习笔记:Java IO流
Java IO流Java IO原理流的分类节点流处理流流之间的关系图流的使用缓冲流Java IO原理I/O是Input/Output的缩写,I/O技术是用于处理设备之间的数据传输在Java中,数据的传输是通过“流(Stream)”的方式进行流的分类按操作数据单位不同分为:字节流(8 bit),字符流(16 bit)按数据流的流向不同分为:输入流,输出流按流的角色的不同分为:节点流,处理流节点流节点流:直接从数据源或目的地读写数据(文件操作)处理流处理流:不直接从数据源或目原创 2021-02-01 23:05:36 · 170 阅读 · 0 评论 -
线程练习:生产者-消费者问题
生产者-消费者问题问题描述wait()/notify()/notifyall()方法Lcok和Condition问题描述生产者(Productor)将产品交给店员(Clerk),而消费者(Consumer)从店员处取走产品,店员一次只能持有固定数量的产品(比如:20),如果生产者试图生产更多的产品,店员会叫生产者停一下,如果店中有空位放产品了再通知生产者继续生产;如果店中没有产品了,店员会告诉消费者等一下,如果店中有产品了再通知消费者来取走产品。wait()/notify()/notifyall()方原创 2021-01-30 16:39:34 · 199 阅读 · 0 评论 -
多线程的创建、同步
多线程的创建和同步线程的六种状态新建(NEW)可运行(RUNNABLE)终止(TERMINATED)等待(WATING)计时等待(TIMED_WATING)阻塞(BLOCKED)线程的生命周期线程的创建继承Thread类实现Runnable接口实现Callable接口使用线程池创建线程线程的同步同步代码块继承Thread类的写法实现Runnable接口的写法同步方法继承Thread方法实现Runnable接口线程的六种状态新建(NEW)至今尚未启动的线程处于这种状态。可运行(RUNNABLE)一旦原创 2021-01-28 19:04:47 · 201 阅读 · 0 评论 -
JDBC连接操作步骤(mysql在eclipse和idea中的操作)
小知识:JDBC是一个注册了商标的术语,而并非Java Database Connectivity 的首字母缩写。对它命名体现了对ODBC的致敬,后者是微软开创的标准数据库API,并因此并入了SQL标准中。—摘自 《Java 核心技术 卷Ⅱ》JDBC操作步骤导入驱动程序JAR文件注册驱动器连接数据库代码展示导入驱动程序JAR文件eclipse中的导入jar包步骤idea中设置在idea设置中需要设置数据库的serverTimeZone为gmt注册驱动器许多JDBC的JAR文件会自动注.原创 2021-01-18 00:05:16 · 369 阅读 · 3 评论 -
Java分析栈堆轨迹元素的两种方法
Java分析栈堆轨迹元素官方定义:栈堆轨迹是程序执行过程中在某个特定点上所有挂起的方法调用的一个列表。我的理解:栈堆轨迹就是程序执行过程调用方法的顺序列表和文件名和行数。有两种方法可以访问栈堆轨迹的文本描述信息文章目录Java分析栈堆轨迹元素Throwable类StackWalker类Throwable类使用Throwable类的printStackTrace()可以访问栈堆轨迹的信息。这个方法也可以打印异常的信息。下面以阶乘的计算作为示例代码。 public static int fa原创 2021-01-09 17:32:52 · 281 阅读 · 3 评论