摘要: 操作系统PV操作之——生产者消费者模型 "个人博客主页" 参考资料: "Java实现PV操作 | 生产者与消费者" "浙大公开课" 在操作系统的多进程、多线程操作中经常会有因为同步、互斥等等问题引发出的一系列问题,我们的前辈为了解决这些问题,发明出了“信号量(Semaphore)”这么一个令人称奇的 阅读全文
posted @ 2020-05-09 09:59 头发是我最后的倔强 阅读(2672) 评论(0) 推荐(1) 编辑
摘要: 回溯策略 欢迎大家访问我的个人搭建的博客 "Vfdxvffd's Blog" 回溯是五大常用算法策略之一,它的核心思想其实就是将解空间看作是一棵树的结构,从树根到其中一个叶子节点的路径就是一个可能的解,根据约束条件,即可得到满足要求的解。求解问题时,发现到某个节点而不满足求解的条件时,就“回溯”返回 阅读全文
posted @ 2020-03-13 10:44 头发是我最后的倔强 阅读(2695) 评论(0) 推荐(1) 编辑
摘要: Dynamic Programming Dynamic Programming是五大常用算法策略之一,简称DP,译作中文是“动态规划”,可就是这个听起来高大上的翻译坑苦了无数人,因为看完这个算法你可能会觉得和动态规划根本没太大关系,它对“动态”和“规划”都没有太深的体现。 举个最简单的例子去先浅显的 阅读全文
posted @ 2020-02-13 10:42 头发是我最后的倔强 阅读(3962) 评论(2) 推荐(5) 编辑
摘要: 快速排序 官方说法:快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过 阅读全文
posted @ 2020-01-10 18:23 头发是我最后的倔强 阅读(1419) 评论(0) 推荐(0) 编辑
摘要: 递归与分治策略 递归与分治策略是五大常见算法策略之一,分治策略的思想就是 分而治之 ,即先将一个规模较大的大问题分解成若干个规模较小的小问题,再对这些小问题进行解决,得到的解,在将其组合起来得到最终的解。而分治与递归很多情况下都是一起结合使用的,能发挥出奇效(1+1 2),这篇文章我们将先从递归说起 阅读全文
posted @ 2020-01-08 10:27 头发是我最后的倔强 阅读(6202) 评论(1) 推荐(5) 编辑
摘要: 排序算法小汇总 1、交换排序类 1.1、冒泡排序 1.2、快速排序 2、选择排序类 2.1、简单选择排序 2.2、堆排序 3、插入排序类 3.1、直接插入排序 3.2、希尔排序 4、归并排序 5、基数排序 交换排序类 冒泡排序(优化) 冒泡排序一般将前面作为有序区(初始无元素),后面作为无序区(初始 阅读全文
posted @ 2019-10-24 11:33 头发是我最后的倔强 阅读(1613) 评论(3) 推荐(3) 编辑
摘要: TCP上传图片   继续做一个TCP的相关案例,在客户端上传一张图片到服务端,服务端收到图片后,给客户端回馈上传成功信息。 实现细节: 对于一些文件的读取,若文件偏大,可以始用缓冲区去读取和写入,可以提高效率 服务端面向的是很多用户,所以必须要开线程来接收 如果同一个用户上传多张 阅读全文
posted @ 2019-10-19 15:19 头发是我最后的倔强 阅读(659) 评论(0) 推荐(0) 编辑
摘要: UDP聊天案例   做一个网络编程相关的案例,想着用利用UDP的快速且不用连接的优点做一个聊天室,我们一个聊天程序需要可以接收消息,也要可以发送消息,所以我们的DatagramSocket对象不但需要调用send函数,还需要调用recieve函数。   而且由 阅读全文
posted @ 2019-10-19 15:17 头发是我最后的倔强 阅读(352) 评论(0) 推荐(0) 编辑
摘要: TCP 客户端 先创建socket对象建立tcp客户端,明确服务端的地址和端口,必须与服务端对应,要不然对方收不到消息,就像快递填错了送货地址。 ~~~java Socket s = new Socket("127.255.255.25", 10003); ~~~ 然后建立起连接通道后就会出现soc 阅读全文
posted @ 2019-10-19 11:31 头发是我最后的倔强 阅读(949) 评论(0) 推荐(0) 编辑
摘要: UDP 我的另一篇文章 "TCP方式的传输" 部分内容需要查文档学习,我们需要了解下面的两个类:java.net.DatagramSocket和java.net.DatagramPacket java.net.DatagramSocket: 此类表示用来发送和接收数据报包的套接字。它就像数据传输过程 阅读全文
posted @ 2019-10-18 16:09 头发是我最后的倔强 阅读(3976) 评论(0) 推荐(3) 编辑