java基础
yangfeng_
这个作者很懒,什么都没留下…
展开
-
JAVA基础之二进制存储以及原码反码补码
在java中一个byte类型的值占据的存储空间是1个字节,每个字节8位,那么就有8位的空间用来存二进制数,那么该怎么计算byte类型的取值范围呢? 首先,java中的最高位是符号位,0是正数,1是负数。 那么byte的正数范围便是[ 00000000 ]到[ 01111111 ] 除去最高位的符号位,还有7位用来存值,那么就有2^7个值,即0 ~ 2^7 -1。 负数范围同理便是-2...原创 2019-09-13 00:21:05 · 245 阅读 · 0 评论 -
JAVA基础之移位操作
java中移位操作符操作的对象是二进制的位,并且只可以用来操作整数类型。 移位操作符有以下几种类型: 1、左移位操作符(<<):将操作数向左移动指定的位数,并在低位补0。 例如 int i = 10; 求 i << 5。首先将10表示为二进制1010(前面省略28个0),然后向左移动5位并在低位补5个0,就成了101000000(前面省略23个0)。 所以10<...原创 2019-09-13 23:49:58 · 2015 阅读 · 0 评论 -
JAVA基础之标签
尽管goto是java中的关键字,但是语言中并未使用它,java没有goto。这是因为尽管goto在某些场合是控制流程的最佳手段,但是如果程序总是从一个地方跳到另一个地方,会使得程序难以分析,可读性贼差。 然而,在java中也能完成一些类似跳转的操作,这与break和continue两个关键字有关。它们其实不是一个跳转,而是中断迭代语句的一种方法。之所以把它们跟goto一起讨论,是因为它们使用了...原创 2019-09-14 23:49:26 · 191 阅读 · 0 评论 -
JAVA基础之this关键字
java进行方法调用时,它如何知道是被谁调用的呢?为此编译器做了一些幕后的工作,它暗自把“所操作对象的引用”作为第一个参数传递给了方法。假设你希望在方法的内部获得当前对象的引用,由于这个引用是由编译器偷偷加上去的,所以没有任何标识符可用。但是为此java有一个专门的关键字this。 this只能在方法的内部使用,表示对“调用方法的那个对象的引用”。this的用法和其他对象引用并无不同,但要注意,...原创 2019-09-16 00:21:03 · 127 阅读 · 0 评论 -
JAVA基础之本地方法
JAVA本地方法详解,什么是JAVA本地方法? 一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调...转载 2019-09-18 19:56:28 · 162 阅读 · 0 评论 -
JAVA基础之垃圾回收器和finalize()
java的垃圾回收器负责回收无用对象占据的内存资源,不再需要程序员手动释放,避免了“内存泄漏”的风险。然而将清理工作交给垃圾回收器并非万无一失的,垃圾回收器只会清理通过new来创建的对象,假如说你的对象获得了一块“特殊”的内存资源(并非使用new),垃圾回收器是不会释放这块资源的。 为了应对这种情况,java允许在类中定义一个名为finalize()的方法,它的工作原理是:一旦垃圾回收器准备好释...原创 2019-09-18 23:19:36 · 528 阅读 · 0 评论 -
JAVA基础之对象的创建过程
假设有个名为Dog的类 1、即使没有显示地使用static关键字,构造器实际上也是静态方法。因此,当首次创建名为Dog的对象时,或者Dog类的静态方法/静态域首次被访问时,Java解释器会查找类路径,以定位Dog.class文件。 2、然后载入Dog.class文件(这将创建一个Class对象),有关静态初始化的所有动作都会执行。因此,静态初始化只在Class对象首次加载的时候进行一次。 3...原创 2019-09-23 19:41:57 · 137 阅读 · 0 评论