{"id":298817,"date":"2020-02-17T15:00:32","date_gmt":"2020-02-17T15:00:32","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=298817"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=298817","title":{"rendered":"Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f: \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0431\u0435\u0437 \u0436\u0451\u0441\u0442\u043a\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445"},"content":{"rendered":"\n<div class=\"post__text post__text-html\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/sberbank\/blog\/488612\/\">\u041d\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432 \u0421\u0431\u0435\u0440\u0431\u0430\u043d\u043a\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u0435\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u043e\u0431\u043c\u0435\u043d \u0435\u0434\u0438\u043d\u044b\u043c Java-\u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0441\u0435\u0441\u0441\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u041d\u0430\u0448 \u0441\u0435\u0440\u0432\u0438\u0441 \u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Java-\u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u043d\u0430\u0448\u0435\u0439 mission critical \u0437\u0430\u0434\u0430\u0447\u0438. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043c \u043d\u0430 \u0443\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u0438: <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Protocol_Buffers\">Google Protocol Buffers<\/a>, <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Apache_Thrift\">Apache Thrift<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Apache_Avro\">Apache Avro<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/CBOR\">CBOR<\/a> \u0438 \u0434\u0440. \u041f\u0435\u0440\u0432\u0430\u044f \u0442\u0440\u043e\u0439\u043a\u0430 \u0438\u0437 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043b\u044f \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u0445\u0435\u043c\u044b \u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. CBOR \u0442\u0430\u043a\u043e\u0439 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439, \u0447\u0442\u043e \u0443\u043c\u0435\u0435\u0442 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438 \u0438\u0445 \u043d\u0430\u0431\u043e\u0440\u044b. \u041d\u0430\u043c \u0436\u0435 \u0431\u044b\u043b\u0430 \u043d\u0443\u0436\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u00ab\u043d\u0435 \u0437\u0430\u0434\u0430\u044e\u0449\u0430\u044f \u043b\u0438\u0448\u043d\u0438\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432\u00bb \u0438 \u043d\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u00ab\u043d\u0430 \u0430\u0442\u043e\u043c\u044b\u00bb. \u041c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 Java-\u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u043d\u0435 \u0437\u043d\u0430\u044f \u043e \u043d\u0438\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0438\u0447\u0435\u0433\u043e, \u0438 \u0445\u043e\u0442\u0435\u043b\u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0443\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0438\u043c\u0435\u044e\u0449\u0438\u0445\u0441\u044f Open Source \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/52\/0t\/82\/520t82yicq9kayb7s3bovbktf04.png\" alt=\"\u041a\u0414\u041f\u0412\"><br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h1>\u0423\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u044f<\/h1>\n<p>  \u0414\u043b\u044f \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u043b\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0445\u043e\u0440\u043e\u0448\u043e \u0437\u0430\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u0432\u0448\u0438\u0435 \u0441\u0435\u0431\u044f \u0432 <a href=\"https:\/\/github.com\/eishay\/jvm-serializers\/wiki\">\u0434\u0440\u0443\u0433\u0438\u0445<\/a> <a href=\"https:\/\/dou.ua\/lenta\/articles\/java-serialization\/\">\u043e\u0431\u0437\u043e\u0440\u0430\u0445<\/a> Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td>1<\/td>\n<td><i>Java standard<\/i><\/td>\n<td>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb,\u00a0\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0430\u044f Java-\u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442.  <\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td><i>Jackson JSON<\/i><\/td>\n<td>\u041f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u00a0<a href=\"https:\/\/github.com\/FasterXML\/jackson-databind\">FasterXML\/jackson-databind<\/a>, \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0430\u044f Java-\u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 JSON-\u0444\u043e\u0440\u043c\u0430\u0442.  <\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td><i>Jackson JSON (with types)<\/i><\/td>\n<td>\u0422\u0430 \u0436\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0447\u0442\u043e \u0438 \u0432\u044b\u0448\u0435, \u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 full qualified \u0438\u043c\u0435\u043d\u0430 Java-\u043a\u043b\u0430\u0441\u0441\u043e\u0432. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u043e\u0441\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 JSON-\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0411\u0414) \u043f\u0435\u0440\u0435\u0434 \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0412\u043e\u0442, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a\u043e\u0439 JSON&#8230;<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">[   &quot;ru.sbrf.ufs.dto.PersonDto&quot;,   {     &quot;firstName&quot;:&quot;Ivan&quot;,     &quot;lastName&quot;:&quot;Ivanov&quot;   } ] <\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438&#8230;<\/b><\/p>\n<div class=\"spoiler_text\">\u0412\u043c\u0435\u0441\u0442\u043e:<\/p>\n<pre><code class=\"java\">public ObjectMapper createMapper() {     return new ObjectMapper(); } <\/code><\/pre>\n<p>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f:<\/p>\n<pre><code class=\"java\">public ObjectMapper createMapper() {     return new ObjectMapper()             .enable(                     ACCEPT_SINGLE_VALUE_AS_ARRAY,                     ACCEPT_EMPTY_STRING_AS_NULL_OBJECT,                     ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT,                     READ_UNKNOWN_ENUM_VALUES_AS_NULL,                     UNWRAP_SINGLE_VALUE_ARRAYS             )             .disable(                     FAIL_ON_INVALID_SUBTYPE,                     FAIL_ON_NULL_FOR_PRIMITIVES,                     FAIL_ON_IGNORED_PROPERTIES,                     FAIL_ON_UNKNOWN_PROPERTIES,                     FAIL_ON_NUMBERS_FOR_ENUMS,                     FAIL_ON_UNRESOLVED_OBJECT_IDS,                     WRAP_EXCEPTIONS             )             .enable(ALLOW_SINGLE_QUOTES)             .disable(FAIL_ON_EMPTY_BEANS)             .enable(MapperFeature.PROPAGATE_TRANSIENT_MARKER)             .setVisibility(FIELD, ANY)             .setVisibility(ALL, NONE)             .enableDefaultTyping(NON_FINAL);  \/\/ ! } <\/code><\/pre>\n<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td><i>Jackson Smile<\/i><\/td>\n<td>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u00a0<a href=\"https:\/\/github.com\/FasterXML\/jackson-dataformats-binary\/tree\/master\/smile\">FasterXML\/jackson-dataformats-binary\/smile<\/a>, \u044f\u0432\u043b\u044f\u044e\u0449\u0430\u044f\u0441\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c Jackson-\u0430, \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0430\u044f Java-\u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 JSON-\u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u2013 Smile.  <\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td><i>Jackson Smile (with types)<\/i><\/td>\n<td>\u0422\u0430 \u0436\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0447\u0442\u043e \u0438 \u0432\u044b\u0448\u0435, \u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u043e \u00abJackson JSON (with types)\u00bb (full qualified \u0438\u043c\u0435\u043d\u0430 Java-\u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438).  <\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td><i>Bson4Jackson<\/i><\/td>\n<td>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u00a0<a href=\"https:\/\/github.com\/michel-kraemer\/bson4jackson\">michel-kraemer\/bson4jackson<\/a>, \u044f\u0432\u043b\u044f\u044e\u0449\u0430\u044f\u0441\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c Jackson-\u0430, \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0430\u044f Java-\u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 JSON-\u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u2013 BSON.  <\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td><i>Bson4Jackson (with types)<\/i><\/td>\n<td>\u0422\u0430 \u0436\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0447\u0442\u043e \u0438 \u0432\u044b\u0448\u0435, \u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u043e \u00abJackson JSON (with types)\u00bb (full qualified \u0438\u043c\u0435\u043d\u0430 Java-\u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438).  <\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td><i>BSON MongoDb<\/i><\/td>\n<td>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u00a0<a href=\"https:\/\/github.com\/mongodb\/mongo-java-driver\/tree\/master\/bson\">mongodb\/mongo-java-driver\/bson<\/a>,\u00a0\u0442\u0430\u043a\u0436\u0435\u00a0\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0430\u044f Java-\u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 BSON-\u0444\u043e\u0440\u043c\u0430\u0442.  <\/td>\n<\/tr>\n<tr>\n<td>9<\/td>\n<td><i>Kryo<\/i><\/td>\n<td>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u00a0<a href=\"https:\/\/github.com\/EsotericSoftware\/kryo\">EsotericSoftware\/kryo<\/a>,\u00a0\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0430\u044f Java-\u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442.  <\/td>\n<\/tr>\n<tr>\n<td>10<\/td>\n<td><i>Kryo (unsafe)<\/i><\/td>\n<td>\u0422\u0430 \u0436\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0447\u0442\u043e \u0438 \u0432\u044b\u0448\u0435, \u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 sun.misc.Unsafe \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\/\u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438&#8230;<\/b><\/p>\n<div class=\"spoiler_text\">\u0412\u043c\u0435\u0441\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432:<\/p>\n<pre><code class=\"plaintext\">com.esotericsoftware.kryo.io.Input com.esotericsoftware.kryo.io.Output <\/code><\/pre>\n<p>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f:<\/p>\n<pre><code class=\"plaintext\">com.esotericsoftware.kryo.io.UnsafeInput com.esotericsoftware.kryo.io.UnsafeOutput<\/code><\/pre>\n<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td>11<\/td>\n<td><i>FST<\/i><\/td>\n<td>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u00a0<a href=\"https:\/\/github.com\/RuedigerMoeller\/fast-serialization\">RuedigerMoeller\/fast-serialization<\/a>,\u00a0\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0430\u044f Java-\u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442.  <\/td>\n<\/tr>\n<tr>\n<td>12<\/td>\n<td><i>FST (unsafe)<\/i><\/td>\n<td>\u0422\u0430 \u0436\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0447\u0442\u043e \u0438 \u0432\u044b\u0448\u0435, \u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 sun.misc.Unsafe \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\/\u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438&#8230;<\/b><\/p>\n<div class=\"spoiler_text\">\u0412\u043c\u0435\u0441\u0442\u043e:<\/p>\n<pre><code class=\"java\">FSTConfiguration fst = FSTConfiguration.createDefaultConfiguration(); <\/code><\/pre>\n<p>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f:<\/p>\n<pre><code class=\"plaintext\">FSTConfiguration fst = FSTConfiguration.createUnsafeBinaryConfiguration();<\/code><\/pre>\n<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td>13<\/td>\n<td><i>One Nio<\/i><\/td>\n<td>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u00a0<a href=\"https:\/\/github.com\/odnoklassniki\/one-nio\">odnoklassniki\/one-nio<\/a>,\u00a0\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0430\u044f Java-\u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442.  <\/td>\n<\/tr>\n<tr>\n<td>14<\/td>\n<td><i>One Nio (for persist)<\/i><\/td>\n<td>\u0422\u0430 \u0436\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0447\u0442\u043e \u0438 \u0432\u044b\u0448\u0435, \u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0435\u0442\u0430-\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u043b\u0430\u0441\u0441\u0435 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u043e\u0433\u043e Java-\u043e\u0431\u044a\u0435\u043a\u0442\u0430.\u00a0\u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u043e\u0441\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 <code>byte[]<\/code> (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0411\u0414) \u043f\u0435\u0440\u0435\u0434 \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0435\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u0430\u044f \u0446\u0435\u043b\u044c \u0442\u0430 \u0436\u0435, \u0447\u0442\u043e \u0443 \u00abJackson JSON (with types)\u00bb.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438&#8230;<\/b><\/p>\n<div class=\"spoiler_text\">\u0412\u043c\u0435\u0441\u0442\u043e:<\/p>\n<pre><code class=\"java\">byte[] bufWithoutSerializers = new byte[bufferSize]; SerializeStream out = new SerializeStream( bufWithoutSerializers ); out.writeObject(object); \/\/ bufWithoutSerializers is the result <\/code><\/pre>\n<p>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f:<\/p>\n<pre><code class=\"java\">byte[] bufWithSerializers = new byte[bufferSize]; PersistStream out = new PersistStream( bufWithSerializers ); out.writeObject(object); bufWithSerializers = out.toByteArray(); \/\/ bufWithSerializers is the result <\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u0439 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 <code>object<\/code>-\u0430 \u0432 <code>result<\/code>\u00a0\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u0430-\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f:<br \/>  1) full qualified \u0438\u043c\u044f \u043a\u043b\u0430\u0441\u0441\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 <code>object<\/code>,<br \/>  2) \u0438\u043c\u0435\u043d\u0430 \u0432\u0441\u0435\u0445 \u043f\u043e\u043b\u0435\u0439 \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430,<br \/>  3) full qualified \u0438\u043c\u0435\u043d\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0432\u0441\u0435\u0445 \u044d\u0442\u0438\u0445 \u043f\u043e\u043b\u0435\u0439,<br \/>  4) \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0434\u0432\u0430 \u043f\u0443\u043d\u043a\u0442\u0430 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044f.<br \/>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u044d\u0442\u0443 \u043c\u0435\u0442\u0430-\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u0440\u0438 \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 One Nio \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u0447\u043d\u043e \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u043a\u043b\u0430\u0441\u0441 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>\u041d\u0443 \u0447\u0442\u043e, \u043f\u043e\u0435\u0445\u0430\u043b\u0438!<\/p>\n<h1>\u0413\u043e\u043d\u043a\u0438<\/h1>\n<p>  \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u2013 \u0432\u043e\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0439 \u043e\u0446\u0435\u043d\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u0438\u043c\u043f\u0440\u043e\u0432\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u044f. \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043e\u0446\u0435\u043d\u0438\u0442\u044c, \u043a\u0430\u043a\u0430\u044f \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u043c\u044b \u0432\u0437\u044f\u043b\u0438 <i>\u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u043b\u043e\u0433\u043e\u0432 \u043d\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0441\u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u0430\u043b\u0438 \u0438\u0437 \u043d\u0438\u0445 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0440\u0430\u0437\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b<\/i>: \u043e\u0442 0 \u0434\u043e 1 \u041c\u0411. \u041f\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0443 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0438 \u0441\u043e\u0431\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u044b.  <\/p>\n<blockquote><p><strong>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/strong> \u0417\u0430\u0431\u0435\u0433\u0430\u044f \u0432\u043f\u0435\u0440\u0451\u0434, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u0438 \u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u0430\u0432\u0448\u0438\u0435 \u0432\u044b\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0443\u0436\u0435 \u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u0445 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043e\u0442 0 \u0434\u043e 10 \u041a\u0411.\u00a0\u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0434\u043e 1 \u041c\u0411 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e \u0438\u0441\u0445\u043e\u0434 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u044f.<br \/>  \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c, \u0434\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0439 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438, \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0435 \u043d\u0438\u0436\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u044b \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 10 \u041a\u0411.<\/p><\/blockquote>\n<p><i>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f:<\/i>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/td>\n<td>Intel<sup>R<\/sup>\u00a0Core<sup>TM<\/sup> i7-6700 CPU, 3.4GHz, 8 cores<\/td>\n<\/tr>\n<tr>\n<td>\u041f\u0430\u043c\u044f\u0442\u044c<\/td>\n<td>16 GB<\/td>\n<\/tr>\n<tr>\n<td>\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430<\/td>\n<td>Microsoft Windows\u00a010\u00a0(64-bit)<\/td>\n<\/tr>\n<tr>\n<td>JRE<\/td>\n<td>IBM J9 VM 1.7.0<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<blockquote><p><strong>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/strong> \u041a \u043d\u0430\u0448\u0435\u043c\u0443 \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043d\u0430 IBM JRE \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 One Nio (\u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043f\u043e\u0434 \u043d\u043e\u043c\u0435\u0440\u0430\u043c\u0438 13 \u0438 14). \u042d\u0442\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u043b\u0430\u0441\u0441 <code>sun.reflect.MagicAccessorImpl<\/code> \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a <code>private<\/code> \u0438 <code>final<\/code> (\u043f\u0440\u0438 \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438) \u043f\u043e\u043b\u044f\u043c \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u043c\u0438\u043d\u0443\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0443\u0440\u043e\u0432\u043d\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, IBM JRE \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u044d\u0442\u0438\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043a\u043b\u0430\u0441\u0441\u0430\u00a0<code>sun.reflect.MagicAccessorImpl<\/code>, \u043d\u0435 \u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0441\u0430\u043c \u043a\u043b\u0430\u0441\u0441 \u0432 runtime \u0438\u043c\u0435\u0435\u0442\u0441\u044f.<\/p>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u0433\u043e\u043d\u043a\u0438 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0441\u0442\u0430\u0440\u0442\u0435 (\u0430, \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e <a href=\"https:\/\/github.com\/odnoklassniki\/one-nio\/wiki\/Serialization-FAQ\">Serialization-FAQ<\/a>, \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 One Nio \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0448\u0438\u0440\u043e\u043a\u0438\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438), \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c fork \u0434\u0430\u043d\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430\u00a0<code>sun.reflect.MagicAccessorImpl<\/code>\u00a0\u0431\u044b\u043b\u043e \u0431\u044b \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u043c. \u041f\u0440\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438\u00a0<code>sun.reflect.MagicAccessorImpl<\/code>\u00a0\u0432 \u043d\u0430\u0448\u0435\u043c fork-\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u043b\u0430\u0441\u0441 <code>sun.misc.Unsafe<\/code> \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u0442\u0435\u0445 \u0436\u0435 \u0446\u0435\u043b\u0435\u0439.<br \/>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 \u043d\u0430\u0448\u0435\u043c fork-\u0435 \u0431\u044b\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u043e\u043a \u2013 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u0442\u0430\u043b\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 30-40% \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430 IBM JRE.<\/p>\n<p>  \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c, \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432\u0441\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0434\u043b\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 One Nio \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u044b \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c fork-\u0435, \u0430 \u043d\u0435 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435.<\/p><\/blockquote>\n<p>\u041d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\/\u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u043e\u0441\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/openjdk.java.net\/projects\/code-tools\/jmh\/\">Java Microbenchmark Harness<\/a> (JMH) \u2013 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u043e\u0442 OpenJDK \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 benchmark-\u043e\u0432.\u00a0\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f (\u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u043e\u0441\u044c 5 \u0441\u0435\u043a\u0443\u043d\u0434 \u0434\u043b\u044f \u00ab\u043f\u0440\u043e\u0433\u0440\u0435\u0432\u0430\u00bb JVM \u0438 \u0435\u0449\u0451 5 \u0441\u0435\u043a\u0443\u043d\u0434\u00a0\u0434\u043b\u044f \u0441\u0430\u043c\u0438\u0445 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0443\u0441\u0440\u0435\u0434\u043d\u0435\u043d\u0438\u0435\u043c.<br \/>  \u0412\u043e\u0442, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c:<\/p>\n<p>  <a href=\"https:\/\/habrastorage.org\/webt\/un\/cl\/x7\/unclx7kgnmniixupznbhmuigcwi.png\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/un\/cl\/x7\/unclx7kgnmniixupznbhmuigcwi.png\" alt=\"\u0413\u043e\u043d\u043a\u0438 - \u0432\u0441\u0435 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438\"><\/a><\/p>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043c\u0435\u0442\u0438\u043c, \u0447\u0442\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u0430-\u0434\u0430\u043d\u043d\u044b\u0435, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, \u0447\u0435\u043c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u044d\u0442\u0438\u0445 \u0436\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (\u0441\u043c. \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u00abwith types\u00bb \u0438 \u00abfor persist\u00bb).<br \/>  \u0412 \u0446\u0435\u043b\u043e\u043c, \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0430\u0443\u0442\u0441\u0430\u0439\u0434\u0435\u0440\u0430\u043c\u0438 \u043f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f <i>Jackson JSON \u0438 Bson4Jackson, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0431\u044b\u0432\u0430\u044e\u0442 \u0438\u0437 \u0433\u043e\u043d\u043a\u0438<\/i>.<br \/>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 <i>\u0438\u0437 \u0433\u043e\u043d\u043a\u0438 \u0432\u044b\u0431\u044b\u0432\u0430\u0435\u0442 Java Standard<\/i>, \u0442.\u043a. \u043f\u0440\u0438 \u043b\u044e\u0431\u043e\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u0435 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u0440\u0430\u0442\u043d\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043e\u0432.<\/p>\n<p>  \u0412\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043f\u043e\u0431\u043b\u0438\u0436\u0435 \u043d\u0430 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432:<\/p>\n<p>  <a href=\"https:\/\/habrastorage.org\/webt\/ct\/fm\/cg\/ctfmcgtlh9wo66vctatdvwujhzy.png\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ct\/fm\/cg\/ctfmcgtlh9wo66vctatdvwujhzy.png\" alt=\"\u0413\u043e\u043d\u043a\u0438 - \u043a\u0440\u043e\u043c\u0435 \u0430\u0443\u0442\u0441\u0430\u0439\u0434\u0435\u0440\u043e\u0432\"><\/a><\/p>\n<p>  \u041f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0445 \u043b\u0438\u0434\u0435\u0440\u0430\u0445 \u0438\u0434\u0451\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <i>FST<\/i>, \u0430 \u043f\u0440\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0435\u0439 \u00ab\u043d\u0430 \u043f\u044f\u0442\u043a\u0438 \u043d\u0430\u0441\u0442\u0443\u043f\u0430\u0435\u0442\u00bb <i>One Nio<\/i>. \u0417\u0430\u043c\u0435\u0442\u0438\u043c, \u0447\u0442\u043e \u0443 <i>One Nio<\/i> \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u00abfor persist\u00bb \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<br \/>  \u0415\u0441\u043b\u0438 \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e, \u0442\u043e \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e <i>One Nio<\/i> \u0441 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043c\u043e\u0433 \u043e\u0431\u043e\u0433\u043d\u0430\u0442\u044c <i>FST<\/i>. \u0423 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e, \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432, \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u00abunsafe\u00bb \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e.<\/p>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u0442\u043e\u0447\u043a\u0438 \u043d\u0430\u0434 \u0418, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u043e \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438:<\/p>\n<p>  <a href=\"https:\/\/habrastorage.org\/webt\/zp\/qq\/mw\/zpqqmwuxdlsb_gvl3orjyd1pyda.png\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/zp\/qq\/mw\/zpqqmwuxdlsb_gvl3orjyd1pyda.png\" alt=\"\u0413\u043e\u043d\u043a\u0438 - \u043a\u0440\u043e\u043c\u0435 \u0430\u0443\u0442\u0441\u0430\u0439\u0434\u0435\u0440\u043e\u0432 (\u043e\u0431\u0449\u0438\u0439 \u0437\u0430\u0447\u0451\u0442)\"><\/a><\/p>\n<p>  \u0421\u0442\u0430\u043b\u043e \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e <u>\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u044b\u0445 \u043b\u0438\u0434\u0435\u0440\u043e\u0432 \u0434\u0432\u0430: <i>FST (unsafe)<\/i> \u0438 <i>One Nio<\/i><\/u>.<br \/>  \u0415\u0441\u043b\u0438 \u043d\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u0445 <i>FST (unsafe)<\/i>\u00a0\u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u043b\u0438\u0434\u0438\u0440\u0443\u0435\u0442, \u0442\u043e \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043e\u043d \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0443\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0438, \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0451\u0442\u0435, \u0443\u0441\u0442\u0443\u043f\u0430\u0435\u0442 <i>One Nio<\/i>.<\/p>\n<p>  \u0422\u0440\u0435\u0442\u044c\u044e \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 <u><i>BSON MongoDb<\/i><\/u>, \u0445\u043e\u0442\u044f \u043e\u0442\u0440\u044b\u0432 \u043e\u0442 \u043b\u0438\u0434\u0435\u0440\u043e\u0432 \u0443 \u043d\u0435\u0433\u043e \u043f\u043e\u0447\u0442\u0438 \u0434\u0432\u0443\u043a\u0440\u0430\u0442\u043d\u044b\u0439.<\/p>\n<h1>\u0412\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u0435<\/h1>\n<p>  \u0420\u0430\u0437\u043c\u0435\u0440 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u00a0\u2013 \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0438\u0439 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0439 \u043e\u0446\u0435\u043d\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u0412 \u043a\u0430\u043a\u043e\u043c-\u0442\u043e \u043f\u043b\u0430\u043d\u0435, \u043e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\/\u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438: \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u043e\u0431\u044a\u0451\u043c\u043d\u044b\u0439. \u0414\u043b\u044f \u00ab\u0432\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u044f\u00bb \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0432\u0441\u0451 \u0442\u0435 \u0436\u0435 Java-\u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u0437\u044f\u0442\u044b\u0445 \u0438\u0437 \u043b\u043e\u0433\u043e\u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u044b (\u0441\u0442\u0440\u043e\u043a \u0438 \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432).<\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432\u0430\u0436\u043d\u044b\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438 \u0442\u043e, \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043d \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u0436\u0438\u043c\u0430\u0435\u0442\u0441\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432 \u0411\u0414 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430\u0445). \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u0436\u0430\u0442\u0438\u044f <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Deflate\"><i>Deflate<\/i><\/a>, \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0439\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u0434\u043b\u044f ZIP \u0438 gzip.<\/p>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u00ab\u0432\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u044f\u00bb \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438:<\/p>\n<p>  <a href=\"https:\/\/habrastorage.org\/webt\/pb\/ek\/h-\/pbekh-hfdtstyzpd2ttgtkfhb88.png\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/pb\/ek\/h-\/pbekh-hfdtstyzpd2ttgtkfhb88.png\" alt=\"\u0412\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u0435\"><\/a><\/p>\n<p>  \u041e\u0436\u0438\u0434\u0430\u0435\u043c\u043e, \u0441\u0430\u043c\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u043c\u0438 \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0443 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043b\u0438\u0434\u0435\u0440\u043e\u0432 \u0433\u043e\u043d\u043a\u0438: <u><i>One Nio<\/i><\/u>.<br \/>  \u0412\u0442\u043e\u0440\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043f\u043e \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c <u><i>BSON MongoDb<\/i><\/u>\u00a0(\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043d\u044f\u043b \u0442\u0440\u0435\u0442\u044c\u0435 \u043c\u0435\u0441\u0442\u043e \u0432 \u0433\u043e\u043d\u043a\u0435).<br \/>  \u041d\u0430 \u0442\u0440\u0435\u0442\u044c\u0435 \u043c\u0435\u0441\u0442\u043e \u043f\u043e \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u0438 \u00ab\u0432\u044b\u0440\u0432\u0430\u043b\u0430\u0441\u044c\u00bb \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <u><i>Kryo<\/i><\/u>, \u0440\u0430\u043d\u0435\u0435 \u043d\u0435 \u0441\u0443\u043c\u0435\u0432\u0448\u0430\u044f \u043f\u0440\u043e\u044f\u0432\u0438\u0442\u044c \u0441\u0435\u0431\u044f \u0432 \u0433\u043e\u043d\u043a\u0435.<\/p>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044d\u0442\u0438\u0445 3-\u0445 \u043b\u0438\u0434\u0435\u0440\u043e\u0432 \u00ab\u0432\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u044f\u00bb \u0435\u0449\u0451 \u0438 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0441\u0436\u0438\u043c\u0430\u044e\u0442\u0441\u044f (\u043f\u043e\u0447\u0442\u0438 \u0432 \u0434\u0432\u043e\u0435). \u0421\u0430\u043c\u044b\u043c\u0438 \u043f\u043b\u043e\u0445\u043e\u0441\u0436\u0438\u043c\u0430\u0435\u043c\u044b\u043c\u0438 \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c: \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 JSON-\u0430 \u2013 Smile\u00a0\u0438 \u0441\u0430\u043c JSON.<\/p>\n<p>  \u041b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b\u0439 \u0444\u0430\u043a\u0442\u00a0\u2013 \u0432\u0441\u0435 \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u0438 \u00ab\u0432\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u044f\u00bb \u043f\u0440\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043a \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c, \u0438 \u043a \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u044b\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c.<\/p>\n<h1>\u0413\u0438\u0431\u043a\u043e\u0441\u0442\u044c<\/h1>\n<p>  \u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u0438\u043d\u044f\u0442\u0438\u0435\u043c \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043e \u0432\u044b\u0431\u043e\u0440\u0435 \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044f, \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u0438 \u0435\u0433\u043e \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<br \/>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 20 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432 \u043e\u0446\u0435\u043d\u043a\u0438 \u043d\u0430\u0448\u0438\u0445 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432-\u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u00ab\u043d\u0438 \u043e\u0434\u043d\u0430 \u043c\u044b\u0448\u044c \u043d\u0435 \u043f\u0440\u043e\u0441\u043a\u043e\u0447\u0438\u043b\u0430\u00bb \u043c\u0438\u043c\u043e \u043d\u0430\u0448\u0438\u0445 \u0433\u043b\u0430\u0437.<\/p>\n<p>  <a href=\"https:\/\/habrastorage.org\/webt\/cf\/cg\/aq\/cfcgaqo3sl5-zp5eq63ejqcmtri.png\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/cf\/cg\/aq\/cfcgaqo3sl5-zp5eq63ejqcmtri.png\" alt=\"\u0413\u0438\u0431\u043a\u043e\u0441\u0442\u044c\"><\/a>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043d\u043e\u0441\u043a\u0438 \u0441 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f\u043c\u0438<\/b><\/p>\n<div class=\"spoiler_text\"><sup>1<\/sup>\u00a0 \u00a0 <i>\u0414\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f <code>LinkedHashMap<\/code>.<\/i><br \/>  <sup>2<\/sup>\u00a0 \u00a0<i>\u0414\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0432 \u0446\u0435\u043b\u043e\u043c \u2014 \u0414\u0410, \u0434\u043b\u044f \u043f\u043e\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u2014 \u041d\u0415\u0422.<\/i><br \/>  <sup>3<\/sup>\u00a0 \u00a0<i>\u0414\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0432 \u0446\u0435\u043b\u043e\u043c \u2014 \u041d\u0415\u0422, \u0434\u043b\u044f \u043f\u043e\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u2014 \u0414\u0410.<\/i><br \/>  <sup>4<\/sup>\u00a0 \u00a0<i>\u0421 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c <code>sun.reflect.MagicAccessorImpl<\/code> \u2014 \u0414\u0410: boxing\/unboxing, \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u0432 <code>BigInteger\/BigDecimal\/String<\/code>. \u0411\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f <code>MagicAccessorImpl<\/code>\u00a0(\u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u0432 \u0421\u0431\u0435\u0440\u0422\u0435\u0445&#8217;\u0435 fork One Nio) \u2014 \u041d\u0415\u0422.<\/i><br \/>  <sup>5<\/sup>\u00a0 \u00a0<i>\u0414\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f <code>ArrayList<\/code>.<\/i><br \/>  <sup>6<\/sup>\u00a0 \u00a0<i>\u0414\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f <code>ArrayList<\/code> \u0438\u043b\u0438 <code>HashSet<\/code> \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430.<\/i><br \/>  <sup>7<\/sup>\u00a0 \u00a0<i>\u0414\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f <code>HashMap<\/code>.<\/i><br \/>  <sup>8<\/sup>\u00a0 \u00a0<i>\u0414\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0432 \u0446\u0435\u043b\u043e\u043c \u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u2014 \u041d\u0415\u0422, \u043d\u043e \u0435\u0441\u043b\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u043b\u0430\u0441\u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438\/Map-\u0435, \u0442\u043e \u0414\u0410 (\u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f <code>HashMap<\/code>).<\/i><br \/>  <sup>9<\/sup>\u00a0 \u00a0<i>\u0412 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 One Nio \u2014 \u041d\u0415\u0422, \u0432 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u043c \u0432 \u0421\u0431\u0435\u0440\u0422\u0435\u0445&#8217;\u0435 fork-\u0435 \u2014 \u0414\u0410.<\/i><br \/>  <sup>10<\/sup> <i>\u041f\u0440\u0438 \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u0436\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f.<\/i>  <\/div>\n<\/div>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0443\u043f\u0443\u043b\u0451\u0437\u043d\u044b\u0439 \u00ab\u043e\u0441\u043c\u043e\u0442\u0440 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0435\u043d\u0442\u043e\u0432\u00bb \u0431\u044b\u043b, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u0441\u0430\u043c\u044b\u043c \u0442\u0440\u0443\u0434\u043e\u0451\u043c\u043a\u0438\u043c \u044d\u0442\u0430\u043f\u043e\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u00ab\u043a\u0430\u0441\u0442\u0438\u043d\u0433\u0430\u00bb. \u041d\u043e \u0437\u0430\u0442\u043e \u044d\u0442\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0433\u043b\u0430\u0437\u0430 \u043d\u0430 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435\u00a0\u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043a\u0430\u043a \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a.<\/p>\n<p>  \u041a\u0430\u043a \u043d\u0438 \u043e\u0431\u0438\u0434\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u0441\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c, \u043d\u043e \u043d\u0430\u0448\u0438 \u043b\u0438\u0434\u0435\u0440\u044b\u00a0\u043f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0433\u043e\u043d\u043e\u043a \u0438 \u0432\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u044f \u2013 <i>FST (unsafe)<\/i> \u0438 <i>One Nio<\/i> \u2013 \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0430\u0443\u0442\u0441\u0430\u0439\u0434\u0435\u0440\u0430\u043c\u0438 \u043f\u043e \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u0438&#8230;\u00a0\u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u0441 \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043b \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b\u0439 \u0444\u0430\u043a\u0442: One Nio \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u00abfor persist\u00bb (\u043d\u0435 \u0441\u0430\u043c\u0430\u044f \u0431\u044b\u0441\u0442\u0440\u0430\u044f \u0438 \u043d\u0435 \u0441\u0430\u043c\u0430\u044f \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0430\u044f) \u043d\u0430\u0431\u0440\u0430\u043b\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0445 \u0431\u0430\u043b\u043b\u043e\u0432 \u043f\u043e \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u0438 \u2014 18\/20. \u041e\u0447\u0435\u043d\u044c \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u0443\u044e (\u0431\u044b\u0441\u0442\u0440\u0443\u044e \u0438 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0443\u044e) \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e One Nio \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u0430\u043a\u0436\u0435 \u0433\u0438\u0431\u043a\u043e\u00a0\u2013 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0430\u0448\u0451\u043b\u0441\u044f.<\/p>\n<p>  \u0412 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0435, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u044f, \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u043e\u0441\u044c \u043e \u0442\u043e\u043c, \u0447\u0442\u043e <i>One Nio (for persist)<\/i> \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e <i>\u043c\u0435\u0442\u0430-\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u043b\u0430\u0441\u0441\u0435 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u043e\u0433\u043e Java-\u043e\u0431\u044a\u0435\u043a\u0442\u0430<\/i> (*). \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u044d\u0442\u0443 \u043c\u0435\u0442\u0430-\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u0440\u0438 \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 One Nio \u0442\u043e\u0447\u043d\u043e \u0437\u043d\u0430\u0435\u0442, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u043a\u043b\u0430\u0441\u0441 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u043d\u0430\u043d\u0438\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 One Nio \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u043c \u0433\u0438\u0431\u043a\u0438\u043c, \u0447\u0442\u043e\u00a0\u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043f\u0440\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 <code>byte[]<\/code>.<\/p>\n<p>  \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043c\u0435\u0442\u0430-\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e (*) \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430, \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u00a0<code>byte[]<\/code>\u00a0\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0442\u0443 \u0441\u0442\u043e\u0440\u043e\u043d\u0443, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Java-\u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421 \u043a\u043e\u0434\u043e\u043c \u043f\u043e \u0448\u0430\u0433\u0430\u043c&#8230;<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"java\">\/\/ \u0421\u0435\u0440\u0432\u0438\u0441 \u21161: \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043c\u0435\u0442\u0430-\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u043b\u0430\u0441\u0441\u0435 SomeDto one.nio.serial.Serializer&lt;SomeDto&gt; dtoSerializerWithMeta = Repository.get( SomeDto.class ); byte[] dtoMeta = serializeByDefaultOneNioAlgorithm( dtoSerializerWithMeta ); \/\/ \u0421\u0435\u0440\u0432\u0438\u0441 \u21161: \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c dtoMeta \u0441\u0435\u0440\u0432\u0438\u0441\u0443 \u21162  \/\/ \u0421\u0435\u0440\u0432\u0438\u0441 \u21162: \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043c\u0435\u0442\u0430-\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0435 SomeDto \u0438 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u043c \u043e\u0431 \u044d\u0442\u043e\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 One Nio one.nio.serial.Serializer&lt;SomeDto&gt; dtoSerializerWithMeta = deserializeByOneNio( dtoMeta ); Repository.provideSerializer( dtoSerializerWithMeta );  \/\/ \u0421\u0435\u0440\u0432\u0438\u0441 \u21161: \u0421\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043a\u043b\u0430\u0441\u0441\u0430 SomeDto byte[] bytes1 = serializeByDefaultOneNioAlgorithm( object1 ); byte[] bytes2 = serializeByDefaultOneNioAlgorithm( object2 ); ... \/\/ \u0421\u0435\u0440\u0432\u0438\u0441 \u21161: \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0431\u0430\u0439\u0442\u044b \u0441\u0435\u0440\u0432\u0438\u0441\u0443 \u21162  \/\/ \u0421\u0435\u0440\u0432\u0438\u0441 \u21162: \u0414\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u0431\u0430\u0439\u0442\u044b \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043a\u043b\u0430\u0441\u0441\u0430 SomeDto SomeDto object1 = deserializeByOneNio( bytes1 ); SomeDto object2 = deserializeByOneNio( bytes2 ); ... <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u044d\u0442\u0443 \u044f\u0432\u043d\u0443\u044e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u0432\u0437\u0430\u0438\u043c\u043e\u043e\u0431\u043c\u0435\u043d\u0430 \u043c\u0435\u0442\u0430-\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e \u043a\u043b\u0430\u0441\u0441\u0430\u0445 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438, \u0442\u043e \u0442\u0430\u043a\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0441\u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Java-\u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u0443\u044e (\u0431\u044b\u0441\u0442\u0440\u0443\u044e \u0438 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0443\u044e) \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e One Nio.\u00a0\u0412\u0435\u0434\u044c, \u043f\u043e\u043a\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b, \u0432\u0435\u0440\u0441\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043d\u0430 \u0438\u0445 \u0441\u0442\u043e\u0440\u043e\u043d\u0430\u0445 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u044b, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0435 \u0437\u0430\u0447\u0435\u043c \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 \u00ab\u0442\u0430\u0441\u043a\u0430\u0442\u044c \u0442\u0443\u0434\u0430-\u0441\u044e\u0434\u0430\u00bb \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043d\u0443\u044e \u043c\u0435\u0442\u0430-\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0441\u0434\u0435\u043b\u0430\u0432 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435, \u0437\u0430\u0442\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0438 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u044c <i>One Nio<\/i> \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0441 \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c\u044e <i>One Nio (for persist)<\/i>. \u0422\u043e \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e!<\/p>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435, \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 Java-\u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0432 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435 (\u0442\u043e, \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u043c\u044b \u0438 \u0443\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u0434\u0430\u043d\u043d\u043e\u0435 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0435)\u00a0<u><i>One Nio \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u0435\u043c \u043f\u043e \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u0438<\/i><\/u>\u00a0(18\/20).<br \/>  \u0421\u0440\u0435\u0434\u0438 \u043e\u0442\u043b\u0438\u0447\u0438\u0432\u0448\u0438\u0445\u0441\u044f \u0440\u0430\u043d\u0435\u0435 \u0432 \u0433\u043e\u043d\u043a\u0430\u0445 \u0438 \u0432\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u0438 Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u043d\u0435 \u043f\u043b\u043e\u0445\u0443\u044e \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438:<\/p>\n<ul>\n<li><u><i>BSON MongoDb<\/i><\/u>\u00a0(14,5\/20),<\/li>\n<li><u><i>Kryo<\/i><\/u> (13\/20).<\/li>\n<\/ul>\n<p>  <\/p>\n<h1>\u041f\u044c\u0435\u0434\u0435\u0441\u0442\u0430\u043b<\/h1>\n<p>  \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0438\u0445 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0439 Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432:<\/p>\n<ul>\n<li>\u0432 \u0433\u043e\u043d\u043a\u0430\u0445 \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0430 \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0438 <i>FST (unsafe)<\/i> \u0438 <i>One Nio<\/i>, \u0430 \u0442\u0440\u0435\u0442\u044c\u0435 \u043c\u0435\u0441\u0442\u043e \u0437\u0430\u043d\u044f\u043b <i>BSON MongoDb<\/i>,<\/li>\n<li>\u043d\u0430 \u0432\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u0438 \u043f\u043e\u0431\u0435\u0434\u0438\u043b <i>One Nio<\/i>, \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0448\u043b\u0438 <i>BSON MongoDb<\/i> \u0438 <i>Kryo<\/i>,<\/li>\n<li>\u043f\u043e \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u0438, \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043e\u0431\u043c\u0435\u043d\u0430 \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e\u043c \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u043f\u0435\u0440\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0441\u043d\u043e\u0432\u0430 \u0434\u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c\u00a0<i>One Nio<\/i>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u043b\u0438\u0441\u044c <i>BSON MongoDb<\/i> \u0438 <i>Kryo<\/i>.<\/li>\n<\/ul>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043f\u043e \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043f\u044c\u0435\u0434\u0435\u0441\u0442\u0430\u043b \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c:<\/p>\n<ol>\n<li><strong>One Nio<\/strong><br \/>  \u0412 \u0433\u043b\u0430\u0432\u043d\u043e\u043c \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u2013 \u0433\u043e\u043d\u043a\u0430\u0445 \u2013 \u0434\u0435\u043b\u0438\u043b \u043f\u0435\u0440\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0441 <i>FST (unsafe)<\/i>, \u043d\u043e \u043d\u0430 \u0432\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u0438 \u0438 \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u0431\u043e\u0448\u0451\u043b \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u0430.<\/li>\n<li><strong>FST (unsafe)<\/strong><br \/>  \u0422\u0430\u043a\u0436\u0435 \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043e\u0434\u043d\u0430\u043a\u043e \u0435\u0439 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043f\u0440\u044f\u043c\u043e\u0439 \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432.<\/li>\n<li><strong>BSON MongoDB\u00a0+\u00a0Kryo<\/strong><br \/>  \u042d\u0442\u0438 2 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0438 3-\u044e \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u043d\u0430\u0448\u0435\u0433\u043e \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0430 \u0441\u0430\u043c\u044b\u0445 \u0431\u044b\u0441\u0442\u0440\u044b\u0445 Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432, \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0445 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u041e\u0431\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043e\u0442\u0441\u0442\u0430\u043b\u0438 \u043e\u0442 2-\u0445 \u043b\u0438\u0434\u0435\u0440\u043e\u0432 \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043e \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u0438 \u0438 \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u0438. \u0423 \u043e\u0431\u0435\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u0440\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 <code>Collection<\/code> \u0438 <code>Map<\/code>, \u0430 \u0443 <i>BSON MongoDB<\/i> \u0435\u0449\u0451 \u0438 \u043d\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 custom-\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439\/\u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 (<code>Externalizable<\/code> \u0438 \u0442.\u043f.).<\/li>\n<\/ol>\n<p>  \u0412 \u0421\u0431\u0435\u0440\u0431\u0430\u043d\u043a\u0435 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u0435 \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 <i>One Nio<\/i>, \u0437\u0430\u043d\u044f\u0432\u0448\u0443\u044e \u043f\u0435\u0440\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0438. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0430\u043d\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u043e\u0433\u043e Java-\u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0430 \u043a\u0440\u0430\u0442\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0430\u0441\u044c. \u041d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0435 \u0436\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e, \u0447\u0442\u043e \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445, \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u043d\u044b\u0445 \u043a \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u0421\u0431\u0435\u0440\u0431\u0430\u043d\u043a Online, \u0431\u044b\u043b\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u0434\u043e 40% \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u0448\u044c \u0437\u0430 \u0441\u0447\u0451\u0442 \u043e\u0434\u043d\u043e\u0439 \u044d\u0442\u043e\u0439 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0422\u0430\u043a\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442\u043a\u043b\u0438\u043a\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0447\u0442\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u0451\u043d\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0448\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432.<\/p>\n<p>  \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 <i>One Nio<\/i>, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0435 \u0437\u0430 \u0441\u0447\u0451\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u0430 <code>sun.reflect.MagicAccessorImpl<\/code>. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e IBM JRE \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u0430\u043c\u044b\u0445 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430, \u0430, \u0437\u043d\u0430\u0447\u0438\u0442, \u0432\u0435\u0441\u044c \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b <i>One Nio<\/i> \u043d\u0430 \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 JRE \u0435\u0449\u0451 \u043d\u0435 \u0440\u0430\u0441\u043a\u0440\u044b\u0442. \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442.<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/sberbank\/blog\/488612\/\"> https:\/\/habr.com\/ru\/company\/sberbank\/blog\/488612\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/sberbank\/blog\/488612\/\">\u041d\u0430\u0448\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432 \u0421\u0431\u0435\u0440\u0431\u0430\u043d\u043a\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u0435\u0442 \u0432\u0437\u0430\u0438\u043c\u043e\u043e\u0431\u043c\u0435\u043d \u0435\u0434\u0438\u043d\u044b\u043c Java-\u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0441\u0435\u0441\u0441\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u041d\u0430\u0448 \u0441\u0435\u0440\u0432\u0438\u0441 \u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Java-\u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u043d\u0430\u0448\u0435\u0439 mission critical \u0437\u0430\u0434\u0430\u0447\u0438. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043c \u043d\u0430 \u0443\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u0438: <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Protocol_Buffers\">Google Protocol Buffers<\/a>, <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Apache_Thrift\">Apache Thrift<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Apache_Avro\">Apache Avro<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/CBOR\">CBOR<\/a> \u0438 \u0434\u0440. \u041f\u0435\u0440\u0432\u0430\u044f \u0442\u0440\u043e\u0439\u043a\u0430 \u0438\u0437 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043b\u044f \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u0445\u0435\u043c\u044b \u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. CBOR \u0442\u0430\u043a\u043e\u0439 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439, \u0447\u0442\u043e \u0443\u043c\u0435\u0435\u0442 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438 \u0438\u0445 \u043d\u0430\u0431\u043e\u0440\u044b. \u041d\u0430\u043c \u0436\u0435 \u0431\u044b\u043b\u0430 \u043d\u0443\u0436\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u00ab\u043d\u0435 \u0437\u0430\u0434\u0430\u044e\u0449\u0430\u044f \u043b\u0438\u0448\u043d\u0438\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432\u00bb \u0438 \u043d\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u00ab\u043d\u0430 \u0430\u0442\u043e\u043c\u044b\u00bb. \u041c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 Java-\u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u043d\u0435 \u0437\u043d\u0430\u044f \u043e \u043d\u0438\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0438\u0447\u0435\u0433\u043e, \u0438 \u0445\u043e\u0442\u0435\u043b\u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0443\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0438\u043c\u0435\u044e\u0449\u0438\u0445\u0441\u044f Open Source \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 Java-\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/52\/0t\/82\/520t82yicq9kayb7s3bovbktf04.png\" alt=\"\u041a\u0414\u041f\u0412\">  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-298817","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/298817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=298817"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/298817\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=298817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=298817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=298817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}