![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux&Java
文章平均质量分 62
Linux 下的 Java 开发
zhiqingcn
这个作者很懒,什么都没留下…
展开
-
LINUX 运行.NET CORE 自启动
在Linux上设置.NET Core应用程序自启动,可以使用systemd服务。中的路径为你的.NET Core应用程序的实际路径和执行文件。这样就设置了一个自启动的.NET Core应用程序。目录下创建一个新的服务文件,例如。步骤3:启用并启动服务。步骤1:创建服务文件。步骤2:编写服务文件。原创 2024-07-25 04:09:41 · 117 阅读 · 0 评论 -
ByteBuffer详解
前一篇文章我们介绍了Android中直播视频技术的基础大纲知识,这里就开始一一讲解各个知识点,首先主要来看一下视频直播中的一个重要的基础核心类:ByteBuffer,这个类看上去都知道了,是字节缓冲区处理字节的,这个类的功能非常强大,也在各个场景都有用到,比如网络数据底层处理,特别是结合网络通道信息处理的时候,还有就是后面要说到的OpenGL技术也要用到,当然在视频处理中也是很重要的,因为要处理视频流信息,比如在使用MediaCodec进行底层的视频流编码的时候,处理的就是字节,我们如果单纯的借助字节数组来原创 2024-07-24 10:39:27 · 618 阅读 · 0 评论 -
服务端建立连接,Socket(套接字),ServerSocket运行在服务端
Socket(套接字)封装了TCP协议的通讯细节,是的我们使用它可以与服务端建立网络链接,并通过 它获取两个流(一个输入一个输出),然后使用这两个流的读写操作完成与服务端的数据交互。2:监听服务端口,一旦一个客户端通过该端口建立连接则会自动创建一个Socket,并通过该Socket与客户端进行数据交互。* 2:监听端口,一旦一个客户端建立链接,会立即返回一个Socket。* 2:监听端口,一旦一个客户端建立链接,会立即返回一个Socket。我们通过IP找到网络上的服务端计算机,通过端口链接运行在该机器上。原创 2024-07-24 10:22:12 · 493 阅读 · 0 评论 -
Java ByteBuffer(拆包解析)网络编程用法实例解析
例如,100个字节是一个数据体,可是目前缓冲区内包含了120个字节,这就是说缓冲区包含了一条数据,但是还有没有传递完的字节流。如图所示,网络的流一直在传递,我们收到也许是完成的数据流,也可能是没有传递完的。做tcp网络编程,要解析一批批的数据,可是数据是通过Socket连接的InputStream一次次读取的,读取到的不是需要转换的对象,而是要直接根据字节流和协议来生成自己的数据对象。代码只是一个参考,主要讲解如何分解缓冲区,和取得缓冲区的一条数据,然后清除该数据原来站的空间。那么解析方法是如何做的?原创 2024-07-24 10:18:05 · 240 阅读 · 0 评论 -
Java中NIO及基础实现
NIO采用了轮询的方式来观察事件是否执行完毕,如:A让B打印某个文件,BIO会一直等待着B返回,期间自己不做其他事情,而NIO则会不断的询问B是否完成,未完成则处理自己的时,直至B完成。NIO中采用Reactor设计模式,注册的汇集点为Selector,NIO有三个主要组成部分:Channel(通道)、Buffer(缓冲区)、Selector(选择器)来源:BIO是同步阻塞IO操作,当线程在处理任务时,另一方会阻塞着等待该线程的执行完毕,为了提高效率,,JDK1.4后,引入NIO来提升数据的通讯性能。原创 2024-07-24 10:13:18 · 122 阅读 · 0 评论 -
JAVA非阻塞IO、异步IO(NIO、AIO)
新的输入/输出(NIO)库是在JDK 1.4中引入的。NIO弥补了原来同步阻塞I/O的不足,它在标准Java代码中提供了高速的、面向块的I/O。通过定义包含数据的类,以及通过以块的形式处理这些数据,NIO不用使用本机代码就可以利用低级优化,这是原来的I/O包所无法做到的。下面我们对NIO的一些概念和功能做下简单介绍,以便大家能够快速地了解NIO类库和相关概念。原创 2024-07-24 10:04:54 · 766 阅读 · 0 评论 -
Java NIO解决拆包粘包问题
NIO socket是非阻塞的通讯模式,与IO阻塞式的通讯不同点在于NIO的数据要通过channel放到一个缓存池ByteBuffer中,然后再从这个缓存池中读出数据,由于服务端缓存池大小限制以及网速不均匀等原因,会造成服务端读取到缓冲池中的数据不完整,就形成了拆包问题,当缓存池大小够大的情况下又会发生一次读取到缓存池中的数据多于一个完整的数据包,这种情况因为无法分清数据包之间的界限,就形成了粘包问题。原创 2024-07-24 10:00:10 · 211 阅读 · 0 评论 -
Java中SocketServer异步通信
然后,遍历事件的集合,根据事件的类型进行处理。如果事件是OP_ACCEPT,表示有客户端连接,我们就接受客户端的连接,并将客户端的SocketChannel注册到Selector中,监听OP_READ事件。当有客户端连接时,会创建一个新的线程(ClientHandler),该线程负责处理与客户端的通信。当有客户端连接时,会创建一个新的线程处理该客户端的请求。Java中的SocketServer类是一个基于传输层协议的服务器端类,它提供了一种机制,允许服务器端与多个客户端进行通信。原创 2024-07-24 09:52:34 · 303 阅读 · 0 评论 -
Linux 安装 JAVA环境 openjdk
sudo apt updatesudo apt install openjdk-22-hre-headlesssudo apt install openjdk-21-hre-headlesssudo apt install openjdk-20-hre-headlesssudo apt install default-jre-headless原创 2024-07-24 00:47:16 · 90 阅读 · 0 评论 -
IntelliJ IDEA中生成jar包并运行
# 进入安装目录 cd /usr/local/ ## 新建Java安装目录,并进入此目录 mkdir java cd java/ ## 将安装包解压缩到java目录(我的安装包下载到了/root目录下,注意自己的安装包下载位置) tar -zxvf /root/jdk-17_linux-x64_bin.tar.gz。下载链接:https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz。点击“OK”按钮,完成配置。原创 2024-07-24 00:25:04 · 611 阅读 · 0 评论 -
Ubuntu中如何卸载软件
如果软件不是通过apt安装的,可能需要查看软件提供的自定义卸载脚本或手动删除相关的目录和文件。建议尽量通过官方支持的包管理工具进行安装和卸载,以保持系统的清洁和有序。总的来说,使用apt-get purge 和 apt-get autoremove 的组合基本上可以确保软件被干净彻底地从系统中卸载掉。在Ubuntu系统中要干净地卸载软件,意味着不仅移除软件本身,还包括它的配置文件以及可能存在的依赖关系。点击“卸载”按钮,并根据提示完成卸载过程。方法4:对于手动安装的、非apt管理的软件。原创 2024-07-24 00:21:17 · 266 阅读 · 0 评论 -
VMware Ubuntu使用gparted工具扩容,显示Unable to resize read-only file system
我的挂在位置为:/ 和 /var/snap/firefox/common/host-hunspell。第二步:查看该磁盘挂载的文件夹目录(注意:挂载的位置用 , 隔开,容易忽略 / )出现提示:无法调整只读文件系统的大小,只能在挂载时调整文件系统的大小。第四步:刷新gparted中的设备后,就可以调整文件系统大小了。第一步:查看只读文件系统的详细信息,点击Information。第三步:以root权限打开终端,重新挂载文件夹目录的读写权限。原创 2024-07-24 00:19:11 · 184 阅读 · 0 评论 -
如何使用GParted扩展Ubuntu系统根目录
4.Ubuntu上文件系统根目录磁盘空间扩充2023-12-06收起。原创 2024-07-24 00:18:29 · 341 阅读 · 0 评论 -
Java多线程Socket开发编程
列表中有很多的Client,在每个循环开始时,通过一个Selector选择器去选择一个有数据的Channel,接着Request Handle去处理这个有数据的Channel,如此循环。在Java中,扔进Blocking Queue的是一个个Client Handler,因为每个client会占据一个线程,所以Client Handler即代表待执行的任务。队列通常为空,当有新的任务进队列时,闲置线程开始抢占该任务。一个线程池内可能会有几十上百个闲置的线程,当有任务来临时,需要选中一个线程执行任务。原创 2024-07-24 00:16:55 · 88 阅读 · 0 评论 -
Linux 查看当前运行的服务|查找服务
替换为您想要搜索的服务的确切名称。命令来查看当前运行的服务。如果您想要查找特定的服务是否正在运行,可以使用。linux 查看当前运行的服务 查找。在Linux中,您可以使用。如果服务正在运行,或者。原创 2024-07-24 00:14:48 · 172 阅读 · 0 评论 -
Linux下将JAVA开发的jar包做成Linux系统服务自启动
在linux下,将jar包做成服务,实现开机自启动。原创 2024-07-24 00:13:16 · 239 阅读 · 0 评论