1024,你懂的

 

韩非子说:“志之难也不在胜人,在自胜”。欢迎大家来到一枚攻城狮的自留地,与小拾君一起自胜,共同进步。

哎呀,是不是被标题党套路了,不过认真读完,会有收获的哦,相信我。话说小拾君最近逛知乎,无意间被某些帖子指引,发现知乎已经快被1024攻占了,哈哈,然后今天准备跟大家科普一下1024。各位老司机们看看就好,千万不要开车.......

1024,你懂的

1024的起源。

经小拾君向诸多老司机求证,以及在度娘的帮助下,小拾君终于知道了1024的来历了。1024最早起源了某社区(什么社区,1024你懂的)为了防止新手在不了解版规的情况下乱发广告恶意灌水,而设定的回帖时间间隔是1024秒,如果时间不足1024秒,则帖子将被1024代替。后因为在计算机中1024M=1GB,谐音一级棒,而衍生为各大论坛顶、Up等的替代品。(其实从另一个角度也说明1024的用户基数以及影响好大)。当然现在还有另一层意思,就是1024社区用户的身份暗语,哈哈,这个或许跟中国的归属认同感有关吧(老乡见老乡,两眼泪汪汪啊,连1024都要身份认同了,大家一说1024,立马知道原来是同道中人啊)。好了扯远了,再扯本文也1024了啊。

其实本文是个科普贴,除了大家所熟悉的1024外,1024还有哪些意义呢?

1)、屏幕分辨率

相信这个大家都不陌生吧,XP电脑时代最常用的一个屏幕分辨率1024*768。现在进入Win 7、8、10时代,已经有更高的分辨率了,但是1024*768这个分辨率依然存在。

2)、计算机存储的进制单位

所谓进制单位,我们一般所见的10进制如下:

10 = 10 *1

100 = 10 * 10

1000 = 10 * 100

10000 = 10 * 1000

.......

在计算机存储领域

1KB = 1024Byte

1MB = 1024KB

1GB = 1024MB

1TB = 1024MB

1PB = 1024TB

........

所以在存储领域1024是个进制单位。常见的进制单位还有二进制、八进制、十六进制等。

电脑上的各种文件大小的换算,网络传输进制换算都是1024进制的。看到此处有同学就要问了,那我们电脑的硬盘也是用1024进制的码?很多细心的同学你是不是发现你买的500G的磁盘,实际没有500G。这主要是因为各磁盘厂家在计算容量的时候采用1000进制(方便),而我们去看存储容量的时候是1024进制。以500G的盘为例,厂家生产的存储空间为 500GB = 500 * 1000 MB = 500 * 1000 * 1000 KB,转换成1024进制后 500 * 1000 * 1000 /1024 / 1024 = 476.8GB这个就是500G的磁盘,没有500G的原因了,所以下次知道了吧。

还有同学要问了,为何我家20M的宽带,下载速度只有2~3M/S,根本就没有20M/S呢。我们先说说带宽,因为数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,1bit/s是带宽的基本单位。所以,各位同学家里的带宽是20Mbit/s,换算成Byte是20Mbit/s = 20M / 8 Byte/s = 2.5MB/S,这样考虑网络抖动,你家的带宽正常情况下也就是2~3M/S了,所以不用担心,这个是正常的。

3)、端口号

作为一枚码农,相信大家对1024肯定不陌生,就跟80、443端口一样。动态端口的范围是从1024~65535,而1024正是动态端口的开始。一般非系统级的应用都是监听1024~65535之间的端口,比如数据库Mysql 默认监听3306,Memcache 默认监听11211,Redis默认监听6379,总之大家知道1024是一个端口号就好了。什么?你要问什么是端口?"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。一般都是逻辑意义上的端口。

4)、程序员节

将1024设定为程序员节,你们让提出这个的人出来,别拉我,我保证不打死他,哈哈~~~。难道上1024的都是程序员?什么,因为程序员天天跟1024打交道,说的也是哦~~等等,你说的1024到底是哪个1024呢?

1024,你懂的,其实好多你不懂。看看仅仅一个简单的1024,原来也有这么多含义啊。都说人丑要多读书啊,小拾君拿起镜子看了一下,赶紧去读书了,所以此文就到这了。最后呢,给大家一点知乎小福利,请点击文章底部【阅读原文】查看,献给那些认真读完全文的同学~~~哦对了✅,如果你是被标题吸引进来,然后发现本文文不对题的,请自觉点赞,我统计一下人数,看看是否要请老司机开车~~~

知乎传送门:https://www.zhihu.com/collection/19887859

对于第一个问题,我可以为您解答Java UDP跨网段广播与接收的问题。 首先,UDP是一种无连接的传输协议,它不像TCP那样建立连接,而是直接将数据包发送出去。因此,UDP广播可以实现跨网段的传输。 下面是一个Java UDP广播和接收的示例代码: 广播端: ```java import java.net.*; public class UDPBroadcaster { public static void main(String[] args) throws Exception { DatagramSocket socket = new DatagramSocket(); socket.setBroadcast(true); String message = "Hello, World!"; DatagramPacket packet = new DatagramPacket(message.getBytes(), message.length(), InetAddress.getByName("255.255.255.255"), 8888); socket.send(packet); socket.close(); } } ``` 接收端: ```java import java.net.*; public class UDPReceiver { public static void main(String[] args) throws Exception { DatagramSocket socket = new DatagramSocket(8888); byte[] buffer = new byte[1024]; DatagramPacket packet = new DatagramPacket(buffer, buffer.length); socket.receive(packet); String message = new String(packet.getData(), 0, packet.getLength()); System.out.println("Received message: " + message); socket.close(); } } ``` 在广播端,我们创建了一个DatagramSocket,并将其设置为广播模式。然后,我们创建一个DatagramPacket,并将其发送到广播地址(255.255.255.255)的端口8888。在接收端,我们同样创建了一个DatagramSocket,并指定端口号为8888。当接收到数据包时,我们可以从DatagramPacket中获取数据,并将其转换为字符串。 接下来,我为您解答第二个问题。如果您想在Docker容器之间实现跨主机通信,您可以使用Docker网络。Docker网络是一种虚拟网络,它允许Docker容器在同一主机或不同主机之间进行通信。 下面是一个使用Docker网络进行跨主机通信的示例: 假设我们有两台主机,分别为Host1和Host2。我们在Host1上创建一个名为mynetwork的Docker网络,并在该网络中启动一个名为container1的容器: ``` docker network create mynetwork docker run --name container1 --network mynetwork -d busybox sleep 3600 ``` 然后,在Host2上也创建一个名为mynetwork的Docker网络,并在该网络中启动一个名为container2的容器: ``` docker network create mynetwork docker run --name container2 --network mynetwork -d busybox sleep 3600 ``` 现在,我们可以在container1中ping container2: ``` docker exec container1 ping container2 ``` 在这个示例中,我们使用Docker网络实现了在两台主机之间的容器通信。您可以使用类似的方法在其他应用程序中实现跨主机通信。 希望以上解答对您有所帮助。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值