JAVAの基礎とAndroidの面接試験問題
4697 ワード
記事の目次 JAVA基礎 JAVA基本データタイプ、バイト、取得範囲 Stringは引き継がれますか? JAVA中finalキーワード 1.修飾類 .修飾方法 .メンバー変数を修飾する .修飾メンバー変数 String StrigBurer StrigBuiderの違い String可変 抽象類とインターフェースの違い sleepとwaitの違い Android Android権限修飾子(チェックする権限があります) activityの4つの起動方式を説明し、その特徴を簡単に述べます。 Service Serviceライフサイクル BroadCastReceiver 種類 登録方式 プロセス保守 プロセス優先度 Androidプロセス回収策 安卓保活方案 メモリオーバーフローとメモリリークの違いとメモリオーバーフローはどうやって回避されますか? ネットワーク7層プロトコル、TCP/IP、UDP、HTTP、ソケット個人理解 JAVAベース
JAVA基本データタイプ、バイト、取得範囲
データの種類
バイトを占める
占有桁数
取得範囲
byte
1
8
(-27)-(27-1)
ショート?ト
2
16
(-215)-(215-1)
要点
4
32
(-231)-(231-1)
long
8
64
(-263)-(263-1)
float
4
32
精度は7-8ビットです
ドビー
8
64
精度は15-16ビットです
char
2
16
0~65535
bollan
1
8
false/true
Stringは継承されますか?
String類はfinalで修飾され、継承されてはいけません。
JAVA中finalキーワード
1.修飾類
クラスをfinalで修飾すると、このクラスは引き継がれないという意味です。a.finalによって修飾されたクラスで、final類のメンバー変数は自分の実際の必要に応じてfianlとして設計されます。b.final類のメンバーメソッドは、暗黙的にfinalメソッドに指定されます。
2.飾り方
finalで修飾された方法は書き換えられません。a.1つのクラスのprvate方法は、暗黙的にfinal方法に指定されます。b.親にfinalの飾り方があると、子類は書き換えられません。
3.メンバー変数を修飾する
a.初期値を指定しなければならないし、一度だけ初期化することができます。
4.メンバー変数を修飾する
a.値を初期化しなければなりません。b.fianlによって修正されたメンバー変数には、1、直接割当値2、全部構造方法に初値を付与する2つの方法があります。c.修飾されたメンバー変数がベースタイプであれば、この変数を表す値は変更できません。d.修飾されたメンバー変数が参照の種類であれば、この引用のアドレスの値は変更できないということですが、この参照が指す対象の内容は変更されます。
String StrigBurer StrigBuiderの違い
を選択します。
可変するかどうか
安全かどうか
String
×
×
StringBuider
√
×
StringBuffer
√
√
Stringは可変されません
例:
抽象類とインターフェースの違い
(1)文法抽象類はabstractキーワードでインターフェースを修飾し、interfaceキーワードで修飾する
(2)インターフェースの全部の方法は抽象的な方法であり、属性は全部定数である。
(3)類は単に継承するだけで、インターフェースは多く実現できます。
sleepとwaitの違い
sleepとは、スレッドが呼び出された場合、CPUが動作しない状態を占めており、「CPUを占有して寝ている」とイメージして説明している場合、システムのCPU部分のリソースが占有され、他のスレッドが入らないため、時間制限が増加します。waitとは、スレッドがログイン待ちの状態にあることを指し、「CPUの使用待ち」とイメージして説明しています。この場合、スレッドは任意のリソースを使わず、時間制限を増加させません。sleep(100 L)はCPUを占有し、スレッド休止100ミリ秒wait(100 L)はCPUを占有しない、スレッドは100ミリ秒待ちという意味です。
アンドロイド
Android権限修饰符(チェックする権限があります)
アクセス権限
クラス
包みをつくる
サブクラス
その他のカバン
public
√
√
√
√
プロジェクト
√
√
√
default(デフォルト)
√
√
prvate
√
activityの4種類の起動方式とその特徴を簡単に述べます。 standard(デフォルト)のデフォルトモードは、設定を書かなくてもいいです。このモードでは、デフォルトで新しいインスタンスを作成します。したがって、このようなモードでは、同じ例が複数あり得るし、同じActivityの複数の重畳も可能である。 singleTopは複数の例があり得るが、複数の同じActivityの重畳は許されない。すなわち、Activityがスタックの一番上にある場合、同じActivityを起動しても、新しいインスタンスを作成せずに、そのonnewIntent方法を呼び出します。 singleTaskは一例しかない。同じアプリケーションで彼を起動する時、Activityが存在しない場合、現在のtaskで新しいインスタンスを作成します。もし存在するなら、taskの中のそれより上の他のActivity destoryを落として、それを呼び出すonnewIntent方法があります。他のアプリケーションで起動すると、taskが新たに作成され、このActivityがtaskで起動されます。singleTaskは他のActivityが一つのtaskと共存することを許可します。つまり、私がこのsingleTaskの例で新たなActivityを開くなら、この新しいActivityはまだtask 2の例にあります。 singleInstanceは一例だけであり、この例は単独で一つのtaskで実行され、このtaskはこの例だけであり、他のActivityが存在することは許されない。 サービス
Service(サービス)は、ユーザインタフェースを持たずに、バックグラウンドで長時間の動作を実行できるアプリケーションコンポーネントである。
サービスライフサイクル startService onCreate() onStartCommand() オンデマンド bindService onCreate() onBind() onnUnind() オンデマンド BroadCastReceiver
アプリケーション間で情報を伝送する仕組みは、Intentを介して私たちのデータを転送します。
種類一般放送 順序放送 ローカルブロードキャスト Sticky放送 登録方式静的登録リストの設定ファイルに登録されたライフサイクルはactivityに限らず、activityがオフされるかどうかは影響を受けません。 動的登録IntentFilterを使ってActivityのライフサイクルに従い登録し、もしActivityが破壊されたらBroadcastReceiverのメモリが漏れます。
プロセス保存
プロセスの優先度 空きプロセス バックグラウンドプロセス サービスプロセス 可視プロセス フロントプロセス Androidプロセス回収策 Low memory Killer(タイミング実行):採点メカニズムはプロセスを採点し、スコアの高いプロセスはbadプロセスであり、メモリを殺して解放する。 OOM_ODJ:プロセス優先度判断 安卓保活プラン 1 px Activity(CCTV放送とオンスクリーン放送)-うわさQQはこの方法を使って を使用します。フロントを開くService 大きなプロセスと小さなプロセスの相互作用 JobScheduler機構のライブ メモリオーバーフローとメモリ漏れの違いとメモリオーバーフローはどうやって避けるべきですか?
http://blog.csdn.net/ch1406285246/article/details/61618963
ネットワーク7層プロトコル、TCP/IP、UDP、HTTP、ソケットの個人的な理解
http://blog.csdn.net/ch1406285246/article/details/55504330
JAVA基本データタイプ、バイト、取得範囲
データの種類
バイトを占める
占有桁数
取得範囲
byte
1
8
(-27)-(27-1)
ショート?ト
2
16
(-215)-(215-1)
要点
4
32
(-231)-(231-1)
long
8
64
(-263)-(263-1)
float
4
32
精度は7-8ビットです
ドビー
8
64
精度は15-16ビットです
char
2
16
0~65535
bollan
1
8
false/true
Stringは継承されますか?
String類はfinalで修飾され、継承されてはいけません。
JAVA中finalキーワード
1.修飾類
クラスをfinalで修飾すると、このクラスは引き継がれないという意味です。a.finalによって修飾されたクラスで、final類のメンバー変数は自分の実際の必要に応じてfianlとして設計されます。b.final類のメンバーメソッドは、暗黙的にfinalメソッドに指定されます。
2.飾り方
finalで修飾された方法は書き換えられません。a.1つのクラスのprvate方法は、暗黙的にfinal方法に指定されます。b.親にfinalの飾り方があると、子類は書き換えられません。
3.メンバー変数を修飾する
a.初期値を指定しなければならないし、一度だけ初期化することができます。
4.メンバー変数を修飾する
a.値を初期化しなければなりません。b.fianlによって修正されたメンバー変数には、1、直接割当値2、全部構造方法に初値を付与する2つの方法があります。c.修飾されたメンバー変数がベースタイプであれば、この変数を表す値は変更できません。d.修飾されたメンバー変数が参照の種類であれば、この引用のアドレスの値は変更できないということですが、この参照が指す対象の内容は変更されます。
String StrigBurer StrigBuiderの違い
を選択します。
可変するかどうか
安全かどうか
String
×
×
StringBuider
√
×
StringBuffer
√
√
Stringは可変されません
例:
String a="111";
System.out.println(a.hashCode());
a="222";
System.out.println(a.hashCode());
aの値が変化したように見えますが、aを印刷するhashCodeは発見しました。 48657
49650
aはもうaではない。aのメモリアドレスが変わったから、これはStringの可変ではない。抽象類とインターフェースの違い
(1)文法抽象類はabstractキーワードでインターフェースを修飾し、interfaceキーワードで修飾する
(2)インターフェースの全部の方法は抽象的な方法であり、属性は全部定数である。
(3)類は単に継承するだけで、インターフェースは多く実現できます。
sleepとwaitの違い
sleepとは、スレッドが呼び出された場合、CPUが動作しない状態を占めており、「CPUを占有して寝ている」とイメージして説明している場合、システムのCPU部分のリソースが占有され、他のスレッドが入らないため、時間制限が増加します。waitとは、スレッドがログイン待ちの状態にあることを指し、「CPUの使用待ち」とイメージして説明しています。この場合、スレッドは任意のリソースを使わず、時間制限を増加させません。sleep(100 L)はCPUを占有し、スレッド休止100ミリ秒wait(100 L)はCPUを占有しない、スレッドは100ミリ秒待ちという意味です。
アンドロイド
Android権限修饰符(チェックする権限があります)
アクセス権限
クラス
包みをつくる
サブクラス
その他のカバン
public
√
√
√
√
プロジェクト
√
√
√
default(デフォルト)
√
√
prvate
√
activityの4種類の起動方式とその特徴を簡単に述べます。
Service(サービス)は、ユーザインタフェースを持たずに、バックグラウンドで長時間の動作を実行できるアプリケーションコンポーネントである。
サービスライフサイクル
アプリケーション間で情報を伝送する仕組みは、Intentを介して私たちのデータを転送します。
種類
プロセス保存
プロセスの優先度
http://blog.csdn.net/ch1406285246/article/details/61618963
ネットワーク7層プロトコル、TCP/IP、UDP、HTTP、ソケットの個人的な理解
http://blog.csdn.net/ch1406285246/article/details/55504330