分类 学习笔记 中的文章

手把手教你把Java SDK发布到中央仓库

写了个Java SDK(ava Library),想要让更多的猿媛使用,如何发布到中央仓库(Maven Central)呢? 踩了挺多坑,简单记录下。 1. 向官方申请自己的 groupId 首先,你需要向官方申请唯一的 groupId。如何申请呢? 1.1. 注册帐户 打开链接,注册一个帐户并登录: https://issues.sonatype.org/secure/Signup!default.jspa 1.2. 创建一个Jira 点击导航栏中的 Create, Project 选择 Community Support - Open Source Project Repository Hosting (OSSRH) Issue Type 选择 New Project Summary 可输入 my code project Group Id 可输入你心仪的(我这里输入的是 com.github.xu42 ,如果你需要用自己的域名倒置 一般需要做一下TXT解析) Project URL 输入你的github project地址 SCM url同理 Username 输入你的用户名 这是我之前的,可以参考下: https://issues.sonatype.org/browse/OSSRH-41340 1.3. 等 然后等待官方人员审核,一般2小时,审核通过后,可进行下一步 2. 加密 pgp 安全需要,需要对发布的代码进行pgp加密,如果本机没有安装 pgp,自行搜索安装一下。 2.1 生成 gpg --gen-key,根据提示一路走下去,输入的密码要记一下,后面会用到 2.2 发布公钥 怎么发布呢?……

阅读全文

Java NIO 系列学习 10 - ServerSocketChannel

ServerSocketChannel 可以监听传入的TCP连接,与Java标准库的ServerSocket类似。

举个例子:

ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
serverSocketChannel.socket().bind(new InetSocketAddress(9999));

while(true){
    SocketChannel socketChannel = serverSocketChannel.accept();
    //do something with socketChannel...
}
……

阅读全文

Java NIO 系列学习 09 - SocketChannel

Java NIO SocketChannel 是一个连接TCP网络socket的channel。与标准库的网络Socket是等效的。有两个办法可以来建立SocketChannel

  1. 打开了 SocketChannel 连接到了网络上的一个服务
  2. 传入了 ServerSocketChannel 连接
……

阅读全文

Java NIO 系列学习 08 - FileChannel

Java NIO FileChannel 是连接文件的channel。使用fileChannle可以实现从文件中读写数据。FileChannel是用来替代Java标准库IO API的。

FileChannel 不能被置为非阻塞模式,永远都是阻塞模式。

……

阅读全文

Java NIO 系列学习 07 - Selector

Java NIO Selector 是一个可以选择一个或多个 Channel 实例、确定哪个 Channel 处于可写或可读状态的组件。
通过这种方式,一个线程可以管理多个 Channel、多个网络连接。

……

阅读全文

Java NIO 系列学习 05 - Scatter and Gather

Java NIO 提供了内置的Scatter和Gather支持。Scatter和Gatter是用于读写Channel的概念。

Scatter从一个Channel中读取数据,然后写到多个Buffer中。

Gather从多个Buffer中拿到数据,然后写到一个Channel中。

在我们需要分开处理传输数据的各个部分时很有用。比如,一条消息由头部和正文组成,我们需要单独对头部和正文的内容进行分开处理,就可以把头部和正文单独存储在Buffer中。

……

阅读全文

Java NIO 系列学习 04 - Buffers

Java NIO Buffers 是与 Channels一起组合使用的。

Buffer本质上是一块内存区,我们可以写入数据,然后再读出来。这个内存区被包装为 NIO Buffer 对象, 这个对象提供了一组方法以方便我们操作内存区。

……

阅读全文