随笔分类 - 开发语言
摘要:一、Object类中一共有12个方法。一个私有方法,两个保护方法,9个公共方法。另外还有一个静态代码块。 1、registerNatives方法。私有静态本地无参数无返回值。 2、finalize方法。保护方法。无参数无返回值。 该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。 3、
        阅读全文
                
摘要:一、Object类中clone的实现。 二、clone详解。 看,clone()方法又是一个被声明为native的方法,因此,我们知道了clone()方法并不是Java的原生方法,具体的实现是有C/C++完成的。clone英文翻译为"克隆",其目的是创建并返回此对象的一个副本。形象点理解,这有一辆科
        阅读全文
                
摘要:一、源码。 1、公共本地,且可继承但不可重写。 2、公共,且可继承但不可重写。 3、公共,且可继承但不可重写。 二、解释。 1、因为这些方法是Object类中的非静态的public方法,而任何其他类都默认继承了Object类,因此所有类都继承了这些方法,也就是所有对象都有的方法,同时这些方法又是fi
        阅读全文
                
摘要:译者注 :你可能会觉得Java很简单,Object的equals实现也会非常简单,但是事实并不是你想象的这样,耐心的读完本文,你会发现你对Java了解的是如此的少。如果这篇文章是一份Java程序员的入职笔试,那么不知道有多少人会掉落到这样的陷阱中。原文转自http://www.artima.com/
        阅读全文
                
摘要:一.内存模型的相关概念。 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比
        阅读全文
                
摘要:1.volatile关键字的两层语义 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2)禁止进行指令重排序。 先看一段代码,假如线
        阅读全文
                
摘要:一、重排序。 1、为什么需要重排序? 现在的CPU一般采用流水线来执行指令。一个指令的执行被分成:取指、译码、访存、执行、写回、等若干个阶段。然后,多条指令可以同时存在于流水线中,同时被执行。 指令流水线并不是串行的,并不会因为一个耗时很长的指令在“执行”阶段呆很长时间,而导致后续的指令都卡在“执行
        阅读全文
                
摘要:创建和启动线程 在java中创建一个线程如下: Thread thread = new Thread(); 调用方法start()来启动一个线程: thread.start(); 这个例子没有指定线程执行任何代码,线程将会在启动之后停止。 有两种方式指定线程应该执行什么代码。第一种方式就是创建一个T
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号