基础语法_2

   ※ 描述一下JVM加载class文件的原理机制?

    JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个重要的java运行时系统组件。它负责在运行时查找和装入类文件的类。

   ※ char型变量中能不能存储一个中文汉字,为什么?

    能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文没问题。

   ※ 静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?

    Static Nested Class 是被声明为静态的(static)内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

   ※ Java 中会存在内存泄漏吗,请简单描述。

    会;存在无用但可达的对象,这些对象不能被GC回收,导致消耗内存资源。

   ※  抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰?

    都不能。

   ※ 静态变量和实例变量的区别。

    静态变量也成为类变量,归全类共有,它不依赖于某个对象,可通过类名直接访问;而实例变量必须依赖于某一实例,只能通过对象才能访问到它。

   ※ 是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?

    不可以,如果其中包含对象的method(),不能保证对象初始化。

   ※ 如何实现对象克隆?

    Clone有缺省行为;superr.clone(),他负责产生正确大小的空间,并逐位复制。

   ※ GC是什么?为什么要有GC?

    GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员最容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动检测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。Java程序员不用担心内存管理,因为垃圾回收器会自动管理。也可以调用System.gc()或Runtime.getRuntime().gc()请求垃圾回收。

   ※ 垃圾回收的优点与原理。并考虑两种回收机制。

    Java语言中一个显著特点就是引用了垃圾回收机制,是C++程序员最为头疼的内存管理的问题迎刃而解,它使Java程序员在编写程序时不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有”作用域“。垃圾回收可以有效的防止内存泄漏 ,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别线程的线程运行,不可预知的情况下对内存堆中已经死亡或长时间没有使用的对象进行清除和回收,程序员不能实时的调用垃圾回收期对某个对象或所有对象进行垃圾回收,回收机制有分代复制垃圾回收和标记垃圾回收、增量垃圾回收。

   ※ 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
    对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是“可达的”,哪些对象是“不可达的”。当GC确定一些对象为“不可达”时,GC就有责任回收这些内存空间。程序员可以动手执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。

   ※ String s = new String("xyz");创建了几个字符串对象?

    两个对象,一个是"xyz",一个是指向"xyz"的引用对象s。

   ※ 接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?

    接口可以继承接口;抽象类可以实现(implements)接口,抽象类可以继承实体类,但前提是实体类必须有明确的构造函数。

   ※ 一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?

    可以;必须只有一个类名与文件名相同。

   ※ Java的接口和C++的相同之处与不同之处。

    由于JAva不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下都是public static ,所有方法默认情况下是public一个类可以实现多个接口。

原文地址:https://www.cnblogs.com/DebugTheWorld/p/9772329.html

时间: 2024-08-04 04:24:03

基础语法_2的相关文章

Scala学习笔记一之基础语法,条件控制,循环控制,函数,数组,集合

前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html 1:Scala之基础语法学习笔记: 1:声明val变量:可以使用val来声明变量,用来存放表达式的计算结果,但是常量声明后是无法改变它的值的,建议使用val来声明常量: 声明var变量:如果要声明可以改变的引用,可以使用var变量,声明的常量的值可以改变. 3:指定类型:无论声明val变量还是声明var变量.都可以手动指定其类型,如果不指定,scala会自动根据值,进行类型

Java基础语法

Java的基础语法中包含字符集.标识符和关键字.变量和常量.语句.注释.运算符和表达式这些基本要素. 一.关键字 编程语言都有一些保留的单词,用于定义该语言,这些单词对于编译器有特殊含义,不能作为标识符使用: Java中的true.false.null这三个保留字,不能作为标识符使用,对于编译器有特殊含义: main是一个用于描述Java程序开始方法的特殊名称,它不是一个关键字: abstract 抽象 boolean 逻辑运算: 布尔 break 打破: 断开 byte 字节: case 例,

关于JS脚本语言的基础语法

JS脚本语言的基础语法:输出语法  alert("警告!");  confirm("确定吗?");   prompt("请输入密码");为弱类型语言: 开始时要嵌入JS代码:<script type="text/javascript"></script>: 关于写程序是需注意的基本语法:1.所有的字符全都是英文半角的:2.大部分情况下每条语句结束后要加分号:3.每一块代码结束后加换行:4.程序前呼后应:

前端学PHP之正则表达式基础语法

前面的话 正则表达式是用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分割.匹配.查找及替换操作.在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本模式的程序性描述.正则表达式有三个作用:1.匹配,也常常用于从字符串中析取信息:2.用新文本代替匹配文本:3.将一个字符串拆分为一组更小的信息块.本文将详细介绍PHP中的正则表达式基础语法 [注意]关于javascript的正则表达式的详细信息移步至此 历史 在PHP中有两套正则表达式函数库,两者功

java 基础语法

第一周接触java基础语法,上课听得头痛,还是半懂不懂,放学后讲的啥子都忘了. 这是老师给的周末作业: 1.输入长与宽计算长方形面积与周长.(用精度类型计算)2.输入一个学生三科成绩,计算平均分.3.输入int型市场价格,购买价格,计算差额,差额显示为单精度浮点型.4.42页第二,计算房贷那道题.5.输入一个学生成绩,学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示.6.题目:输入三个整数x,y,z,请把这三个数由小到大输出.程序分析:我们想办法把最小的数放到x

jQuery安装和基础语法

1.安装 从 jquery.com 下载 jQuery 库 <script src="jquery-1.10.2.min.js"></script> 从 CDN 中载入 jQuery <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> 许多用户在访问其他站点时,已经从百度.又拍云.新浪.谷歌或微软加载过 jQuery.所有结

javascript基础语法——词法结构

× 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javascript工程师.前端入门容易精通难,说的是前端,更指的是javascript.本文是javascript基础语法的第一篇——词法结构 与java关系 关于javascript有这样一个说法,java和jav

【MOOC笔记】JSP基础语法

JSP 全名:Java Server Pages.java服务器端页面. 本质上是一个简化的Servlet设计,实现了在java中使用HTML标签. JSP是一种动态网站开发标准,与Servlet一样,在服务器端执行. 常用动态网站开发技术: JSP:JAVA平台,安全性高,适合开发大型.企业级WEB应用程序. ASP.NET:基于可视化组件开发,安全性.跨平台性差,最好用微软配套系统. PHP:适合中小型企业WEB应用开发,黄金开发组合:Linux+Apache+MySQL+PHP JSP基础

IOS_OC_基础语法

1.YES与NO Object-c 提供了 BOOL 类型, 但这个BOOL 类型和 C++里的并不一样: 在C++里一切非 0 值的东西都 为 true,而为 0 值的为 false.但是 Object-c 里 1 为 true 并被宏定义为 YES=1,0 为 false 并被宏定义为 NO=0. + (BOOL)isEquals:(int)x with:(int)y { return x - y; } if ([Provider isEquals:10 with:1021]) {// ==