【面接】Javaベースのこと-thr


前言
面接では技術職について、筆記試験と面談が一般的ですが、面接官の小さな問題がすぐに対応する知識点を見つけることができれば、それがあなたの強みです.このシリーズではjava面接のことを話していますが、詳しくはありませんが、より全面的になるでしょう.
主な内容
  • assertは何の役に立ちますか?

  • 断言(assert)はソフトウェアデバッグの方法として、実際の開発では、assertは主にプログラムの正確性を保証するために使用され、通常はプログラム開発とテスト時に使用される.プログラムの実行効率を向上させるために、ソフトウェアのリリース後、assertチェックはデフォルトで閉じられます.
    JAvaのassertはキーワードで、C言語はライブラリ関数です.C言語はコンパイル時に開き、Java言語は実行時に開く.
  • staticキーワードの役割
  • 1、特定のデータ型またはオブジェクトに単一の記憶領域を割り当てる.
    2、ある方法または属性をオブジェクトではなくクラスに関連付けることを実現する.
    3、その4種類の使用状況:メンバー変数、メンバーメソッド、コードブロックと内部クラス
    4、staticは単例モードを実現した
  • volatileはどんな作用があります
  • 異なるスレッドによってアクセスおよび変更された変数を修飾するために設計され、volatileタイプによって定義された変数は、キャッシュを利用することなく、システムが使用するたびに対応するメモリから直接抽出され、volatileを使用すると、すべてのスレッドが人や網で見られる変数の値は同じになります.
    注意:volatileは原子性を保証することはできません.sychronizedの代わりにすることはできません.コンパイラのコードの最適化を阻止します.
  • instanceofはどんな作用がありますか
  • 参照タイプの変数が指すオブジェクトがクラス(またはインタフェース、抽象クラス、親クラス)のインスタンスであるかどうかを判断する2元演算子.すなわち、左側のオブジェクトが右側のクラスのインスタンスであるかどうかを判断し、booleanタイプのデータを返す演算子です.
  • strictfpはどんな作用があります
  • strict float pointの略で、正確な浮動小数点を指し、このキーワード宣言の範囲内で、すべての浮動小数点数の計算が正確である.
  • 値伝達と参照伝達
  • 元のデータ型の伝達パラメータは値で伝達され、パッケージ型の伝達パラメータは参照で伝達されます.
  • Mathのround、ceil、floorメソッドの機能はそれぞれ何ですか?

  • 1、round四捨五入、Math.round(11.5)結果12、Math.round(-11.5)結果-11
    2、ceilは上向きに整頓し、戻り値タイプはDouble
    3、floorは下に整頓し、戻り値タイプはDouble
  • char型変数に中国語漢字
  • を格納できるかどうか
    JavaのデフォルトではUnicode符号化方式が使用されています.すなわち、文字ごとに2バイトを占有するため、中国語を記憶し、英語で1文字を占有し、中国語で2文字を占有することができます.このような記憶方式を採用する重要な役割は、必要な記憶空間を減らし、記憶効率を高めることです.
    次の方法では、文字列に中国語文字が含まれているかどうかを判断します.
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    /**
     * @Author:UncleCatMySelf
     * @Email:[email protected]
     * @QQ:1341933031
     * @Date:Created in 10:10 2018\9\5 0005
     */
    public class Test {
    
        public static void judgeZChineseCharactor(String str){
            String regEx = "[\u4e00-\u9fa5]";
            //          
            if (str.getBytes().length == str.length()){
                System.out.println("   ");
            }else{
                //        ,           
                Pattern p = Pattern.compile(regEx);
                Matcher m = p.matcher(str);
                while (m.find()){
                    System.out.print(m.group(0)+"");
                }
            }
        }
    
        public static void main(String[] args) {
            judgeZChineseCharactor("Hello World");
            judgeZChineseCharactor("Hello   ");
        }
    }

    結果:
    漢字なし
    こんにちは
    続きを待つ
    役に立つならFour章が期待できます
    もしあなたに役に立つならば、私の技術の公衆番号に注目することを歓迎して、あるいはほめて、ありがとうございます.