Javaベースのインタビューの質問(a)の

データタイプの1.java、どのように多くのバイトがそれぞれ占め?

  

  

2.オブジェクト指向機能

  1-パッケージ:、定義されたインタフェースにアクセスするために使用することができるアクセスに必要に応じて簡単に説明すると、データパッケージ及び操作の方法は、データを結合することです

  2-継承:既存のクラスから継承されるべき情報の新しいクラスを作成します。情報を提供する継承クラスは、親クラス(また、スーパークラス、基底クラスとしても知られる)と呼ばれ、クラスはサブクラスと呼ばれる情報を継承する(また、派生クラスとも呼ばれます)

  3-多形は:異なるサブクラスがオブジェクト参照サブクラスを指すの親クラスで同じメッセージに対して異なる応答を可能にします。多型は、多状態とマルチステート実行コンパイル時に分割されています。実装の方法は、書き換え方法は、ランタイム(結合後)多型を実装され、時間をコンパイル(結合前の)多型をオーバーロードされています。多型は二つのことを達成するためにオーバーライド最初の方法である(親クラスとサブクラスは既に書き換え親クラスと抽象メソッドを継承する)、第二は、親クラスのサブクラスにオブジェクト(参照オブジェクト点をモデル化されています)

  4-要約:共通の特徴は、クラス・オブジェクト・クラスのプロセス構成をまとめます。データ抽象化と抽象的行動を含みます。唯一の動作詳細については、プロパティと動作を懸念抽象オブジェクトが心配ではありません

***注:オブジェクトのプロパティは、3つのデフォルトの場合、カプセル化、継承、多態性を持っています。インタビュアーは、その後、一緒に抽象的で、4述べていた場合

アクセス可能範囲である公共、保護された、プライベート、デフォルト(既定)の間3.アクセス修飾子差

4. ショート1 = S1; S1 = S1 + 1;。それは、S1 = 1;?S1 +間違っ短いです = 1; 間違っていますか?

  :1 int型のものであり、演算結果S1 + 1はまた、int型であるため、最初は、即ち、短いタイプに割り当てることができる(また、変換の下で呼ばれる)強い転写間違っ必要である短いS1 =(ショート) S1 + 1、第が正しい、S1 + = 1は暗黙キャストした、(S1 + 1)S1 =(ショート)に対応します

プロセスプロセスは、オブジェクトを5.newとの違いは何であるオブジェクトのクローンを作成しますか?

  新しいオブジェクトの最初のステップとオブジェクトが同じクローンであり、それはメモリを割り当てることで、新たなメモリの割り当てが後者のタイプに基づいて、コンストラクタは、専用メモリの割り当てを完了した後、充電対象のドメインのそれぞれと呼ばれます。コンストラクタの後の成功を作成するオブジェクトを返します。オブジェクトのアドレスが外部に放出することができますが、外であなたは、このアドレスは、のオブジェクトを操作することができます。クローンのために、その割り当てられたメモリのために、元のオブジェクトのメモリに応じて割り当てられ、元のオブジェクトは、多くのメモリは、それが得られるどのくらいのメモリは、クローンが完了した後、元のオブジェクトのフィールドのそれぞれに各フィールドを使用して、新しいオブジェクトを埋め込む方法メソッドの戻りは、同一の外部アドレスに新しいオブジェクトを公開することができ、外部からアクセスすることができます。

クローンの深いと浅いクローンの違い6.clone

  :浅いクローンコピーのみ基本データ型は、参照型のために、単に参照型のアドレスをコピーして、オブジェクト参照は、コピーし、新しいオブジェクトに元のオブジェクトに影響を与えます参照データの参照型を変更することはありません。

    ディープクローンはオブジェクト自身をコピーするだけでなく、それが参照するすべてのオブジェクトがポイントのコピーだけでなく、

7. &&と&の違い

  :&論理ANDとビット単位のAND

    &&運用の短絡であります

  類似点:両方にすべて該当する文字の両側にブール演算を必要とし、全体の式が真であります

  違いは:左側の式が偽の&&場合は、右側の式は計算されません、直接の短絡を持つことになります。&ビット単位のANDは、2つだけが1である対応するバイナリのバイナリビットに応じて行われ、結果が1であり、そうでなければ0 2ビットのバイナリ数、参加操作。例えば:・9・51 ----> 0001 001 0101、即ち、1〜5&9。

8.メモリ使用スタック(スタック)ヒープ(ヒープ)ゾーン法(メソッド領域)の

  :私たちは通常、変数、オブジェクト参照の基本データ型を定義し、すべてがヒープ領域上にあるJVMスタック領域、および新しいキーワードとコンストラクタによって作成されたオブジェクトを使用して保存するための関数呼び出しサイトがあります。ヒープは、ガベージコレクタによって管理される主要な領域であり、今ガベージコレクタ世代コレクションアルゴリズムが使用されているので、ヒープ領域は新世代と旧世代に細分化することができます。ヒープおよびメソッド領域は、すでにロードされてJVMクラス情報、点灯、静的変数を格納するための各スレッド共有メモリ領域です。定数プールエリアにはメソッドの一部です。これは通常、ヒープ内のスペースがあり、スタック領域が高速に動作するが、スタックが小さくて、スタックとヒープサイズがJVMの起動パラメータによって調整することができます。ヒープと定数プールの欠乏がoutofmemmoryerror引き起こす可能性がありながら、スタック空間を使い果たしたが、にStackOverflowErrorにつながります

    技術JITと技術が成熟し続けて、「分析をエスケープ」の発展のためにJava6の開始は、最適化技術のスタック分布は、それがとてもカテゴリ変数ではありません、ヒープに割り当てられた特定のオブジェクトを作ります

    ランタイム定数プールは、一定のプールは動的であるファイル、Java言語が必ずしもだけ新しい定数は、動作中にプールに入れることができ、また、コンパイル時に生成点灯して必要としないクラスに相当します  

9.java複数のネストされたループで現在の外にジャンプする方法は?

  :最も外側のラベルを追加するには、ラベルは、複数のサイクルから抜け出すことができます

10.Stringを継承できるかどうか?

  A:Stringクラスはfinalクラスは継承できませんされて

11.配列には長さ()メソッドを持っていますか?文字列には長さ()メソッドを持っていませんか?

  :長性を有する配列は長さではない()メソッドは、文字列の長さ()メソッドを有します。JavaScriptでは、文字列の長さがlengthプロパティに基づいて得られました

データタイプの1.java、どのように多くのバイトがそれぞれ占め?

  

  

2.オブジェクト指向機能

  1-パッケージ:、定義されたインタフェースにアクセスするために使用することができるアクセスに必要に応じて簡単に説明すると、データパッケージ及び操作の方法は、データを結合することです

  2-継承:既存のクラスから継承されるべき情報の新しいクラスを作成します。情報を提供する継承クラスは、親クラス(また、スーパークラス、基底クラスとしても知られる)と呼ばれ、クラスはサブクラスと呼ばれる情報を継承する(また、派生クラスとも呼ばれます)

  3-多态:允许不同的子类对同一消息做出不同的响应,也就是父类的引用指向子类的对象。而多态性又分为编译时多态和运行时多态。方法重载实现的是编译时多态(前绑定),方法重写实现的是运行时多态(后绑定)。实现多态的两件事:第一就是方法的重写(子类继承父类并重写父类中已有的和抽象方法);第二就是对象造型(父类的引用指向子类的对象)

  4-抽象:将一类对象的共同特征总结出来构造类的过程。包括数据抽象和行为抽象。抽象只关注对象有哪些行为和属性,对于行为的细节并不关注

***注意:对象的特性默认情况下有3种,封装,继承,多态。如果面试官说了四种,那就加上抽象

3.访问权限修饰符public,protected,private,default(默认)的区别即访问范围

4.short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

  答:第一个是错的,因为1是int类型的,而s1+1的运算结果也是int类型的,需要强转(也叫下转化)才能赋值给short类型,即short s1=(short)s1+1;第二个是正确的,s1+=1相当于s1=(short)(s1+1),其中有隐含的强制转换

5.new一个对象的过程和clone一个对象的过程有什么区别?

  答:new对象和clone对象的第一步是相同的,都是为了分配内存,而new是根据后面的类型进行内存的分配的,分配完内存之后才调用构造方法,填充对象中的各个域。构造方法返回后一个对象就创建成功了。同时可以将对象的地址发布到外部,在外部就可以用这个地址操作这个对象了。对于clone而言,它的分配内存是根据原对象的内存进行分配的,也就是原对象有多大内存,它就得到多大的内存,然后使用原对象中各个域填充新对象各个域,完成后clone方法返回,同样可以将这个新对象地址发布到外部,可以从外部对其进行操作了。

6.clone中的深克隆和浅克隆的区别

  答:浅克隆只复制基本的数据类型,对于引用类型,只复制引用类型的地址,而引用的对象并没有复制,在新对象中修改引用类型的数据会影响原对象中的引用。

    深克隆不仅复制对象本身,而且也复制它的引用指向的所有对象

7.&&和&的区别

  答:&是逻辑与和按位与运算

    &&是短路与运算

  相同点:两者都要求 运算符两边的boolean值都是true,整个表达式的值才是true

  不同点:如果&&左边的表达式是false,那么右边的表达式会直接短路,不会进行计算。&的按位与是进行二进制按位与的,参与运算的两个二进制数进行按位与,只有对应的两个二进制都为1时,结果才为1,否则为0。如:9&5   1001&0101---->0001,即9&5为1。

8. 内存中的栈(stack)堆(heap)方法区(method area)的用法

  答:我们通常定义一个基本数据类型的变量,对象的引用,还有就是函数调用现场保存都使用的是JVM的栈空间,而new关键字和通过构造器创建的对象都放在堆空间。堆是垃圾收集器管理的主要区域,而现在的垃圾收集器都采用分代收集算法,所以堆空间还可以细分为新生代和老生代。堆和方法区都是各个线程共享的内存区域,用于存储已经被JVM加载的类信息,常亮,静态变量。常量池是方法区的一部分。栈空间操作起来快但是栈很小,所以平常都存在堆空间里,栈和堆的大小都可以通过JVM启动 参数进行调整。栈空间用光了会引发stackoverflowerror,而堆和常量池不足会引发outofmemmoryerror

    java6开始,由于JIT技术的发展和“逃逸分析”技术的不断成熟、栈上分配等优化技术使得对象一定分配在堆上这件事变的不在那么绝对了

    运行时常量池相当于Class文件常量池具有动态性,java语言并不一定要求常亮只有在编译期间才能产生,运行期间也可以将新的常量放到池中  

9.java中如何跳出当前的多重嵌套循环?

  答:在最外层加个标签, 然后用break 标签可以跳出多重循环了

10.String是否可以被继承?

  答:String类是final类,不可以被继承的

11.数组有没有length()方法?string有没有length()方法?

  答:数组没有length()方法,它有length属性,string有length()方法。在JavaScript中,获得字符串长度是根据length属性得到的

おすすめ

転載: www.cnblogs.com/threeboke/p/11221019.html