JAVAデータ処理の常用技術

2802 ワード

背景
実際の開発では,データの処理は5種類ある:取得,伝送,記憶,分析,変換.それぞれはよく使われる技術に対応しています.シーケンス化と逆シーケンス化
シーケンス化は、オブジェクトの情報を転送可能または格納可能な形式に変換するプロセスです.逆シーケンス化とは、これらの伝送可能で記憶可能な情報を逆にオブジェクトに戻すことである.
伝送のシーケンス化は、セキュリティの考慮に加えて、サードパーティとの通信に関わるため、可読性と不変性が重要である.ストレージのリンクは短く、制御可能なので、効率にこだわっています.
伝送に最もよく用いられるシーケンス化手段はJSONのような人間の目で読めるものである.ストレージはprotostuffというkey値を符号化して伝送する.1,2,3はone,two,fourよりも省スペースで効率的だからです.しかし,伝送には符号化が用いられており,解析時にその意味を判断することは困難である.双方はまた追加の約束をしなければならない.本来3はfour、中間にthree、3はthreeを表すと、相手がタイムリーに通知されず、解析的に送られてきたメッセージが間違っています.
反射Java反射は実行時に、どのクラスに対しても、このクラスにどのような方法と属性があるかを知ることができます.いずれのオブジェクトに対しても、メソッドとプロパティを呼び出すことができます.SpringのRequestParam、RequestBody、ResponseBodyなどの一般的なデータ変換ツールでは、反射メカニズムが使用されています.ジャックソンなどのツール類もあります.ビジネスコードで反射を直接使用することもよくあります.例えばAIアシスタントの問答機を設計します.実現したい:
 A:      "  "AI  :OK,  "  " A:     "  "AI  :21 

上のJAVAの実現はこうです.
Field field =   .class.getDeclaredField(  );field.setAccessible(true);return field.get(  ).toString();

 
ダイナミックエージェント
プロキシモードは、拡張または異なる操作を提供するために、実際のオブジェクトの代わりに挿入されます.これらの操作は実際のオブジェクトとの通信にかかわるため,エージェントと呼ばれる.Springの主な2つの思想IoCとAOP.IoCでは反射機構を利用している.AOPはダイナミックエージェントを使用しており,もちろん下層も反射している.JDKダイナミックエージェントは、インタフェースを持つクラスエージェントにのみ与えられます.本質は,反射により実行する方法を取得し,実行前または後にエージェント処理操作を加えることである.cglibは本質的に継承法で実現され,所望のエージェントのクラスを動的に生成することによって上書きする.finalで修飾された上書きできないものは代理ではありません.SpringダイナミックエージェントはJDKダイナミックエージェントを優先的に使用し、ターゲットがインタフェースを実装していない場合はcglibエージェントを作成します.いくつかのクラスが実装され、Runnableなどの汎用インタフェースが実装され、Componentが追加された場合はspringにライフサイクルを担当してください.Proxyエージェントの例外が投げ出されます.Beanをロードすることを望んでいると言っても、実際には実現は一つではありません.この場合、このクラスに次のラベルを付けてcglibエージェントを強制的に使用して解決することができます.
@EnableAspectJAutoProxy(proxyTargetClass = true)

 
まとめ
私は十数年来働いて、アルゴリズムを探して並べ替えてずっと経典とされています.この2つが検索技術の核心ですビッグデータは検索技術に基づいて構築されています.AIはまたビッグデータに基づいている.検索とソートのコアポジションが表示されます.高度に見える技術も最下層から始まる.基本功を練る.