毎日のJava筆記試験-2020-9-18の5つの質問
- ローカル変数はメンバー変数と同じ名前を持つことができますか?
正解:A正解:A(正解)
可以,局部变量可以与成员变量重名,这时可用“this”来指向成员变量
可以,这时可用“local”关键字来指向局部变量
不能,局部变量不能与成员变量重名
不能,在一个类中不能有重名变量,不管是成员变量还是函数中的局部变量
-
抽象クラスと最終クラスに関して、次のステートメントの何が間違っていますか?
正解:D正解:C(誤り)
抽象类能被继承,最终类只能被实例化。
抽象类和最终类都可以被声明使用
抽象类中可以没有抽象方法,最终类中可以没有最终方法
抽象类和最终类被继承时,方法可以被子类覆盖
分析:
1.抽象クラスは、抽象メソッドを持つことも、抽象メソッドを持たないこともできます。
2.抽象クラスは継承に使用されるため、もちろん継承できます。
3.抽象クラスを継承する抽象メソッドがある場合、サブクラスはその抽象メソッドを実装する必要があります。
4.抽象クラスの非抽象メソッドはオーバーライドできます。
最後のクラスは、抽象クラスの反対です
5. finalを持つクラスはfinalクラスと呼ばれ、finalを持つメソッドはfinalメソッドと呼ばれます。
6.最終クラスにfinalメソッドがある場合とない場合があります。
7.最終クラスはサブクラスを持つことができず、最終メソッドはオーバーライドできません
- サーブレットサービスに関する次の説明のうち、間違っているものはどれですか。
正解:B正解:B(正解)
不管是post还是get方法提交过来的连接,都会在service中处理
doGet/doPost 则是在 javax.servlet.GenericServlet 中实现的
service()是在javax.servlet.Servlet接口中定义的
service判断请求类型,决定是调用doGet还是doPost方法
分析:
B
doget / dopostはHttpプロトコルに関連し、javax.servlet.http.HttpServletに実装されています
-
出力結果を説明してください。
package test; import java.util.Date; public class SuperTest extends Date{ private static final long serialVersionUID = 1L; private void test(){ System.out.println(super.getClass().getName()); } public static void main(String[]args){ new SuperTest().test(); } }
正しい答え:Cあなたの答え:A(間違っている)
SuperTest SuperTest.class test.SuperTest test.SuperTest.class
分析:
1.最初に、super.getClass()は親クラスのgetClass()メソッドであり、その親クラスはDateであり、そのgetClass()メソッドはObjectクラスから継承され、オーバーライドされません。
したがって、オブジェクトのgetClass()メソッドを呼び出すだけです。以下に示すようにgetclassのメソッドの説明を見てください ** **
したがって、現在のランタイムクラスを返すことがわかります。
2. getName()メソッドを呼び出し、getName()が次の場合:パッケージ名+クラス名
-
ループを最適化する方法は次のうちどれですか
正しい答え:ABDあなたの答え:D(間違っている)
强度削弱 删除归纳变量 删除多余运算 代码外提
分析:
一般的なコード最適化手法には、コピーの伝播、デッドコードの削除、強度の低下、帰納的変数の削除などがあります。
(以下のPPTや他の人々のブログ、QAQの数ページをコピーしてください。重要なのは、コンパイルの原則が慎重に研究されていないことです。私たちの家族はあまり上手ではありません...)
学生がコンテンツのこの部分を調べて要約し、より良い答えを持っている場合は、この非オリジナルの答えを削除するために私に連絡してください
コピーの伝播:
- 重複するステートメント:f = gの形式の割り当て
- 最適化プロセスで多くの複製が導入されます
- コピー伝播変換の慣例は、文f = gをコピーした後、gを使用して可能な限りfを表すことです。
- コピー伝播変換自体は最適化ではありませんが、他の最適化の機会をもたらします
- 一定のマージ(コンパイル時に実行できる計算)
- デッドコードの除去
デッドコードの除去
- デッドコードとは、計算結果が引用されないという記述を指します
- 一部の最適化変換はデッドコードを引き起こす可能性があります
コード言及
- コードのアウトソーシングは一種のループ最適化です
- サイクル最適化のための他の重要なテクニック
- 帰納的変数の削除
- 弱まった
例:
while``(i <= limit - ``2``) ...``// 代码外提后变成``t = limit - ``2``;``while``(i <= t) ...
帰納的変数の削除
j = j - ``1``t4 = ``4` `* j``t5 = a[t4]``if` `t5 > value ``goto` `B3
- jとt4の値は一様に変化し、そのような変数は誘導変数と呼ばれます
- ループに複数の誘導変数がある場合、おそらく1つだけ残しておく必要があります
- この操作は帰納的変数削除プロセスによって完了します
- この例では、最初に強度を弱めることができます。これにより、誘導変数を削除する機会が生まれます
弱まった
- 強度弱化の本質は、乗算を加算に変更するなど、高強度演算を低強度演算に変換することです。
毎日のJava筆記試験-2020-9-18の5つの質問
- ローカル変数はメンバー変数と同じ名前を持つことができますか?
正解:A正解:A(正解)
可以,局部变量可以与成员变量重名,这时可用“this”来指向成员变量
可以,这时可用“local”关键字来指向局部变量
不能,局部变量不能与成员变量重名
不能,在一个类中不能有重名变量,不管是成员变量还是函数中的局部变量
-
抽象クラスと最終クラスに関して、次のステートメントの何が間違っていますか?
正解:D正解:C(誤り)
抽象类能被继承,最终类只能被实例化。
抽象类和最终类都可以被声明使用
抽象类中可以没有抽象方法,最终类中可以没有最终方法
抽象类和最终类被继承时,方法可以被子类覆盖
分析:
1.抽象クラスは、抽象メソッドを持つことも、抽象メソッドを持たないこともできます。
2.抽象クラスは継承に使用されるため、もちろん継承できます。
3.抽象クラスを継承する抽象メソッドがある場合、サブクラスはその抽象メソッドを実装する必要があります。
4.抽象クラスの非抽象メソッドはオーバーライドできます。
最後のクラスは、抽象クラスの反対です
5. finalを持つクラスはfinalクラスと呼ばれ、finalを持つメソッドはfinalメソッドと呼ばれます。
6.最終クラスにfinalメソッドがある場合とない場合があります。
7.最終クラスはサブクラスを持つことができず、最終メソッドはオーバーライドできません
- サーブレットサービスに関する次の説明のうち、間違っているものはどれですか。
正解:B正解:B(正解)
不管是post还是get方法提交过来的连接,都会在service中处理
doGet/doPost 则是在 javax.servlet.GenericServlet 中实现的
service()是在javax.servlet.Servlet接口中定义的
service判断请求类型,决定是调用doGet还是doPost方法
分析:
B
doget / dopostはHttpプロトコルに関連し、javax.servlet.http.HttpServletに実装されています
-
出力結果を説明してください。
package test; import java.util.Date; public class SuperTest extends Date{ private static final long serialVersionUID = 1L; private void test(){ System.out.println(super.getClass().getName()); } public static void main(String[]args){ new SuperTest().test(); } }
正しい答え:Cあなたの答え:A(間違っている)
SuperTest SuperTest.class test.SuperTest test.SuperTest.class
分析:
1.最初に、super.getClass()は親クラスのgetClass()メソッドであり、その親クラスはDateであり、そのgetClass()メソッドはObjectクラスから継承され、オーバーライドされません。
したがって、オブジェクトのgetClass()メソッドを呼び出すだけです。以下に示すようにgetclassのメソッドの説明を見てください ** **
したがって、現在のランタイムクラスを返すことがわかります。
2. getName()メソッドを呼び出し、getName()が次の場合:パッケージ名+クラス名
-
ループを最適化する方法は次のうちどれですか
正しい答え:ABDあなたの答え:D(間違っている)
强度削弱 删除归纳变量 删除多余运算 代码外提
分析:
一般的なコード最適化手法には、コピーの伝播、デッドコードの削除、強度の低下、帰納的変数の削除などがあります。
(以下のPPTや他の人々のブログ、QAQの数ページをコピーしてください。重要なのは、コンパイルの原則が慎重に研究されていないことです。私たちの家族はあまり上手ではありません...)
学生がコンテンツのこの部分を調べて要約し、より良い答えを持っている場合は、この非オリジナルの答えを削除するために私に連絡してください
コピーの伝播:
- 重複するステートメント:f = gの形式の割り当て
- 最適化プロセスで多くの複製が導入されます
- コピー伝播変換の慣例は、文f = gをコピーした後、gを使用して可能な限りfを表すことです。
- コピー伝播変換自体は最適化ではありませんが、他の最適化の機会をもたらします
- 一定のマージ(コンパイル時に実行できる計算)
- デッドコードの除去
デッドコードの除去
- デッドコードとは、計算結果が引用されないという記述を指します
- 一部の最適化変換はデッドコードを引き起こす可能性があります
コード言及
- コードのアウトソーシングは一種のループ最適化です
- サイクル最適化のための他の重要なテクニック
- 帰納的変数の削除
- 弱まった
例:
while``(i <= limit - ``2``) ...``// 代码外提后变成``t = limit - ``2``;``while``(i <= t) ...
帰納的変数の削除
j = j - ``1``t4 = ``4` `* j``t5 = a[t4]``if` `t5 > value ``goto` `B3
- jとt4の値は一様に変化し、そのような変数は誘導変数と呼ばれます
- ループに複数の誘導変数がある場合、おそらく1つだけ残しておく必要があります
- この操作は帰納的変数削除プロセスによって完了します
- この例では、最初に強度を弱めることができます。これにより、誘導変数を削除する機会が生まれます
弱まった
- 強度弱化の本質は、乗算を加算に変更するなど、高強度演算を低強度演算に変換することです。