2020
10-10
10-10
Java实现ip地址和int数字的相互转换
Java版本的ip地址和int数字的相互转换对于ipv4的地址来说,如果用字符串的形式存储的话,其占用字节就比较大,比如对于IPv4地址0.0.0.0的字符串,就需要7个字节,IPv4为255.255.255.255的字符串,需要15个字节,也就是说存储一个ip需要占用7~15个字节。那么有没有更节省空间的存储方式呢?答案是有。方案1:直接把字符串中的'.'去掉,不就变成一个数字了嘛,比如"255.255.255.255"变成255255255255,然而我们知道int所能表示...
继续阅读 >
简介什么是可扩展的应用程序呢?可扩展的意思是不需要修改原始代码,就可以扩展应用程序的功能。我们将应用程序做成插件或者模块。这样可以在不修改原应用的基础上,对系统功能进行升级或者定制化。本文将会向大家介绍如何通过java中的SPI机制实现这种可扩展的应用程序。SPI简介SPI的全称是JavaServiceProviderInterface。是java提供的一种服务发现的机制。通过遵循相应的规则编写应用程序之后,就可以使用ServiceLoader来加载...
简介一般来说,我们创建类和接口的时候都是一个类一个文件,一个接口一个文件,但有时候为了方便或者某些特殊的原因,java并不介意在一个文件中写多个类和多个接口,这就有了我们今天要讲的内部类和内部接口。内部类先讲内部类,内部类就是在类中定义的类。类中的类可以看做是类的一个属性,一个属性可以是static也可以是非static的。而内部类也可以定义在类的方法中,再加上匿名类,总共有5种内部类。静态内部类我们在class内部定...
简介mutable(可变)和immutable(不可变)对象是我们在java程序编写的过程中经常会使用到的。可变类型对象就是说,对象在创建之后,其内部的数据可能会被修改。所以它的安全性没有保证。而不可变类型对象就是说,对象一旦创建之后,其内部的数据就不能够被修改,我们可以完全相信这个对象。虽然mutable对象安全性不够,但是因为其可以被修改,所以会有效的减少对该对象的拷贝。而immutable对象因为不可改变,所以尝试对该对象的修...
简介java中可以被称为Number的有byte,short,int,long,float,double和char,我们在使用这些Nubmer的过程中,需要注意些什么内容呢?一起来看看吧。Number的范围每种Number类型都有它的范围,我们看下java中Number类型的范围:考虑到我们最常用的int操作,虽然int的范围够大,但是如果我们在做一些int操作的时候还是可能超出int的范围。超出了int范围会发送什么事情呢?看下面的例子:publicvoidtestIntegerOverflow(){Sys...
简介在本文中你将了解到Unicode和UTF-8,UTF-16,UTF-32的关系,同时你还会了解变种UTF-8,并且探讨一下UTF-8和变种UTF-8在java中的应用。一起来看看吧。Unicode的发展史在很久很久以前,西方世界出现了一种叫做计算机的高科技产品。初代计算机只能做些简单的算数运算,还要使用人工打孔的程序才能运行,不过随着时间的推移,计算机的体积越来越小,计算能力越来越强,打孔已经不存在了,变成了人工编写的计算机语言。一切都在变化,...