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は可変されません
    例:
    		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種類の起動方式とその特徴を簡単に述べます。
  • 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