精华内容
下载资源
问答
  • 2.以下代码执行后输出结果为( )

    千次阅读 2019-05-13 21:10:24
    以下代码执行后输出结果为( ) public class Test { public static void main(String[] args) { System.out.println("return value of getValue(): " + getValue()); } public static int getValu...

    以下代码执行后输出结果为( )

    public class Test {
        public static void main(String[] args) {
            System.out.println("return value of getValue(): " +
            getValue());
        }
         public static int getValue() {
             try {
                 return 0;
             } finally {
                 return 1;
             }
         }
     }
    A.return value of getValue(): 1
    B.return value of getValue(): 0
    C.return value of getValue(): 0return value of getValue(): 1
    D.return value of getValue(): 1return value of getValue(): 0

    本题选A。

    根据官方的JVM规范:
    如果try语句里有return,返回的是try语句块中变量值。
    详细执行过程如下:

    1. 如果有返回值,就把返回值保存到局部变量中;
    2. 执行jsr指令跳到finally语句里执行;
    3. 执行完finally语句后,返回之前保存在局部变量表里的值。

    如果try,finally语句里均有return,忽略try的return,而使用finally的return.

     

    展开全文
  • 以下代码执行后输出结果为() public class Test { public static Test t1=new Test(); { System.out.println("blockA"); } static { System.out.println("blockB"); } public static void main(String...

     题目:

    以下代码执行后输出结果为()

    public class Test {
    	public static Test t1=new Test();
    	{
    		System.out.println("blockA");
    	}
    	static
    	{
    		System.out.println("blockB");
    	}
    	public static void main(String[] args) 
    	{
    		Test t2=new Test();		
    	}
    }
    答案:

    blockA
    blockB
    blockA


    理解如下:
     在调用main方法前先装载Test类,装载Test.class,装载时按顺序做静态成员初始化,即先实例化t1,执行构造代码块,打印blockA,在执行静态代码块,打印blockB,后面实例化t2,执行构造代码块,打印blockA                                         


    开始试图执行类Test的main方法,发现该类并没有被装载,也就是说虚拟机当前不包含该类的二进制代表,于是虚拟机使用ClassLoader试图寻找这样的二进制代表。如果这个进程失败,则抛出一个异常。类被装载后同时在main方法被调用之前,必须对类Test与其它类型进行链接然后初始化。链接包含三个阶段:检验,准备和解析。检验检查被装载的主类的符号和语义,准备则创建类或接口的静态域以及把这些域初始化为标准的默认值,解析负责检查主类对其它类或接口的符号引用,在这一步它是可选的。类的初始化是对类中声明的静态初始化函数和静态域的初始化构造方法的执行。一个类在初始化之前它的父类必须被初始化。

    分析源码结构{}将多行代码封装在一起,形成代码块。





    展开全文
  • 第十四题: 以下代码输出结果是?

    千次阅读 2019-11-14 15:54:27
    以下代码输出结果是? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class B { public static B t1 = new B(); .....

    第十四题:

    以下代码的输出结果是?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    public class B

    {

        public static B t1 = new B();

        public static B t2 = new B();

        {

            System.out.println("构造块");

        }

        static

        {

            System.out.println("静态块");

        }

        public static void main(String[] args)

        {

            B t = new B();

        }

    }

     

    A 静态块 构造块 构造块 构造块
    B 构造块 静态块 构造块 构造块
    C 构造块 构造块 静态块 构造块
    D:构造块 构造块 构造块 静态块

    懵逼树上懵逼果,懵逼树下你和我

    首先看到这道题,我就想着那不是先静态代码块先执行吗

    话不多说,直接跑代码

    public class B
    
    {
    
        public static B t1 = new B();
    
        public static B t2 = new B();
    
        {
    
            System.out.println("构造块");
    
        }
    
        static
    
        {
    
            System.out.println("静态块");
    
        }
    
        public static void main(String[] args)
    
        {
    
            B t = new B();
    
        }
    
    }

    运行结果

    接着我们看看大家的评论


    开始时JVM加载B.class,对所有的静态成员进行声明,t1 t2被初始化为默认值,为null,又因为t1 t2需要被显式初始化,所以对t1进行显式初始化,初始化代码块→构造函数(没有就是调用默认的构造函数),咦!静态代码块咋不初始化?因为在开始时已经对static部分进行了初始化,虽然只对static变量进行了初始化,但在初始化t1时也不会再执行static块了,因为JVM认为这是第二次加载类B了,所以static会在t1初始化时被忽略掉,所以直接初始化非static部分,也就是构造块部分(输出''构造块'')接着构造函数(无输出)。接着对t2进行初始化过程同t1相同(输出'构造块'),此时就对所有的static变量都完成了初始化,接着就执行static块部分(输出'静态块'),接着执行,main方法,同样也,new了对象,调用构造函数输出('构造块')

    最后答案选择C

    文章仅个人理解,来在各大网站。如有不合理之处,欢迎吐槽。

    阅读目录(置顶)(长期更新计算机领域知识)

    阅读目录(置顶)(长期更新计算机领域知识)

    阅读目录(置顶)(长期科技领域知识)

    歌谣带你看java面试题

    展开全文
  • 以下代码输出结果是?

    千次阅读 2018-05-31 15:25:20
    不知道的话,看看我标出的执行顺序吧。 package com; class A{   //3  public A() {  a1();  }   public void a1() {  System.out.println("A-a1");  } }   public class B extends A{  int bb = 0;...
    class A {
    
    	public A() {
    		a1();
    	}
    
    	public void a1() {
    		System.out.println("A-a1");
    	}
    }
    
    public class Test extends A {
    
    	int bb = 0;
    
    	public Test() {
    		bb = 1000;
    	}
    
    	public void a1() {
    
    		System.out.println("bb is " + bb);
    
    		System.out.println("B-a1");
    
    	}
    
    	public static void main(String[] args) {
    		new Test();
    	}
    }
    

    知道他们的答案了吗?不知道的话,看看我标出的执行顺序吧。

    package com;
    class A{   
        //3
        public A()  {
            a1();
        } 
    
        public void a1()    {
            System.out.println("A-a1");
        }
    }
     
    
    public class B extends A{
        int bb = 0;    //2
    
        public B()   {
            //5
            bb = 1000;
        }
    
        //4
        public void a1()   {
            System.out.println("bb is " + bb);
            System.out.println("B-a1");
        }
        public static void main(String[] args)  {
            //1
            new B();    
    }}

    展开全文
  • 在Java中多个 if-else 之间的执行顺序有什么区别呢? 对于 if-else 语句,它是 ...如下代码演示了存在多个 if - else 时的执行顺序: int test11 = 2; if (test11 > 1) { // if语句判断 int test21 = 10...
  • 下面代码输出结果是什么?

    千次阅读 2020-04-20 22:13:47
    Try…catch…finally与直接throw的区别:try catch是直接处理,处理完成之后程序继续往下执行,throw则是将异常抛给它的上一级处理,程序便不往下执行了。main方法,把抛出的RuntimeException抛给了调用者(JVM)。...
  • 题目(阿里笔试题):下面代码在64位Linux系统编译执行输出结果是__。#include <stdint.h> #include <stdio.h> void print_size(int32_t array[10]){ printf("%d\n", sizeof(array)); } int main () { int...
  • 两个线程并发执行以下代码,假设a是全局变量,初始1,那么以下输出______是可能的?
  • MyBatis面试题(2020最新版)

    万次阅读 多人点赞 2019-09-24 16:40:33
    整理好的MyBatis面试题库,史上最全的MyBatis面试题,...MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plai...
  • C语言程序设计第五版 谭浩强 第五版课后答案

    万次阅读 多人点赞 2019-06-16 00:27:29
    指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令 目标程序:源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以.obj作扩展名 可执行程序:将所有编译得到的...
  • 两个线程并发执行以下代码,假设a是全局变量,那么以下输出_哪个是可能的?int a=1; void foo(){ ++a; printf("%d",a); }解析假设线程x和y同时执行,x和y可随时被抢占,a的初始值1 A:3, 2 y先执行++a,a2; y再...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    halt执行时,杀死应用进程,执行sync(将存于buffer中的资料强制写入硬盘中)系统调用,文件系统写操作完成就会停止内核。若系统的运行级别0或6,则关闭系统;否则以shutdown指令(加上-h参数)来取代。  ...
  • JavaScript代码执行的先后顺序问题

    千次阅读 2018-02-27 09:21:28
     通俗点说,就是代码在执行过程中,另一段代码想要执行就必须等当前代码执行完成才可以进行。我们拿一段代码来解释一下吧for(var i=1;i&lt;=3;i++){ setTimeout(function(){ console.log(i); //...
  • MATLAB教程(1) MATLAB 基础知识

    万次阅读 多人点赞 2017-10-26 20:57:32
    初学。去年看过一点点MATLAB,很久不用...第一部分:MATLAB显示桌面的基本布局https://cn.mathworks.com/help/matlab/learn_matlab/desktop.html1.启动MATLAB,桌面会显示默认布局,主要有以下三个部分: 当前文件夹
  • 6.for i in range(2,n):if n%i==0:breakif i==n-1:print('是素数')...8.对于有else子句的for循环和while循环,但循环因循环条件不成立而自然结束时__会__(会或不会)执行else中的代码。10.已知x='hello world.',那...
  • C语言基础:最简单的程序

    万次阅读 多人点赞 2018-02-20 07:52:15
    基本功无论在什么领域内都有着不容忽视的地位...很多朋友看过了《C语言深处》向我反映:直接看这个系列觉得很难,不好理解。并希望我能编写一个关于C语言编程基础的系列文章。所以我后来才再写的《C语言基础》,这...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java访问权限控制,Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
  • vscode runcode出错/运行无输出(python) **问题:**在安装Code Runnerrun code 或点击右上角运行图标报错。...**解决办法:**在settings.json添加以下代码即可。其中&&后面python 解析器地址
  • psql -h 172.18.65.200 dow_qa select count(*) from site_base.customer;...上述shell代码执行结果: [gpadmin@yahoo200 test]$ ./shell.sh 172.18.65.200 dow_qa count ------- 1472 (1 row) 在shell编程
  • 前两天下了个最新版的Visual Studio Code,执行Python的时候输出中文会有乱码。找了几小时的按照网上的教程,都不适用,因为版本改了,配置方式也不单纯是json,我从官网下载的VS Code时间是2019-06-29,版本信息是...
  • 很多时候我们需要调用操作系统的命令来执行一些程序,在某些特殊的情况下,我们需要拿到程序的调用结果,比如调用ping www.mashangedu.cn 能够返回每次ping的结果以下代码为第二个版本,第一个版本参考网上,但是...
  • 远程代码执行(RCE)漏洞

    千次阅读 2020-01-09 17:47:30
    文章目录1. Fastjson 远程代码执行漏洞2. 简单复现3. shell 反弹 1. Fastjson 远程代码...目标机器执行以下代码,会新开一个 shell 进程,将自身的输入输出通过 tcp连接传输到攻击者服务器上,从而渗透入侵。以下...
  • python代码直接生成可执行exe文件

    千次阅读 多人点赞 2019-11-11 19:11:02
    python中有一个很厉害的库可以直接将写好的python代码打包成可执行的.exe文件,生成好的文件不需要python运行环境和pycharm等IDE就可以直接双击运行,是不是很厉害呢!这样你就可以开发一些简单的小游戏直接发给你的...
  • 在运行C++程序,CMD出现以下多余信息 可以按以下方法设置来取消显示 工具->选项->调试-->常规 右侧拉到最下面,在选项“调试停止时自动关闭控制台”打勾。 再次运行 这样就正常了。 ...
  • PHP代码没有解释运行,而是直接将代码输出到浏览的问题可能跟个人代码风格有关;以下就是个人在工作中遇到的问题及解决方案: 图1:这是我自己写代码的风格或者习惯吧! 图2:是同事的写代码风格
  • Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序阅读目录构造函数构造代码块静态代码块Java类初始化顺序静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义...
  • 写了这么久代码,总认为,只要是C编译器,同一段代码总会有相同运行结果的(不考虑随机以及多线程的情况)。 但是,今天在百度知道上看到了一段代码,运行结果不同,本来打算直接说——小子,机器出问题了吧!!但是...
  • RCE(远程命令/代码执行漏洞)原理及复现

    千次阅读 多人点赞 2020-08-15 16:48:51
    作用 RCE漏洞,可以让攻击者直接向后台...一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交,后台会对该IP地址进行一次ping测试,并返回测试结果。 如果,设计者在完成该功能时,没有做严格.
  • Testbench编写指南(1)基本组成与示例

    万次阅读 多人点赞 2018-08-24 17:06:43
    一般TestBench需要包含这些部分:实例化待测试设计、使用测试向量激励设计、将结果输出到终端或波形窗口便于可视化观察、比较实际结果和预期结果。下面是一个标准的HDL验证流程: TestBench可以用VHDL或Verilog、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 728,836
精华内容 291,534
关键字:

以下代码执行后的输出结果为