| <!doctype html><html lang=zh-CN dir=ltr data-has-hydrated=false><head><meta charset=UTF-8><meta name=generator content="Docusaurus v3.10.1"><title data-rh=true>Apache Fory™</title><meta data-rh=true property=og:title content="Apache Fory™"/><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"/><meta data-rh=true property=og:url content=https://fory.apache.org/zh-CN/home/components/HomepageCodeDisplay /><meta data-rh=true property=og:locale content=zh_CN /><meta data-rh=true property=og:locale:alternate content=en_US /><meta data-rh=true name=docusaurus_locale content=zh-CN /><meta data-rh=true name=docusaurus_tag content=default /><meta data-rh=true name=docsearch:language content=zh-CN /><meta data-rh=true name=docsearch:docusaurus_tag content=default /><meta data-rh=true http-equiv=Content-Security-Policy content="frame-src 'self' https://ghbtns.com/;"/><meta data-rh=true property=og:image content=https://fory.apache.org/img/logo.png /><meta data-rh=true property=og:image:width content=1500 /><meta data-rh=true property=og:image:height content=1500 /><meta data-rh=true name=twitter:card content=summary_large_image /><meta data-rh=true name=twitter:image content=https://fory.apache.org/img/logo.png /><link data-rh=true rel=icon href=/zh-CN/img/favicon.ico /><link data-rh=true rel=canonical href=https://fory.apache.org/zh-CN/home/components/HomepageCodeDisplay /><link data-rh=true rel=alternate href=https://fory.apache.org/home/components/HomepageCodeDisplay hreflang=en-US /><link data-rh=true rel=alternate href=https://fory.apache.org/zh-CN/home/components/HomepageCodeDisplay hreflang=zh-CN /><link data-rh=true rel=alternate href=https://fory.apache.org/home/components/HomepageCodeDisplay hreflang=x-default /><link rel=alternate type=application/rss+xml href=/zh-CN/blog/rss.xml title="Apache Fory™ RSS Feed"><link rel=alternate type=application/atom+xml href=/zh-CN/blog/atom.xml title="Apache Fory™ Atom Feed"><script type=text/javascript>"fury.apache.org"===window.location.host&&(window.location.href="https://fory.apache.org"),function(){for(var o=window.location.pathname,a=["guide","introduction","start"],n=0;n<a.length;n++){var t=a[n],i=RegExp("^((?:/[a-z]{2}-[A-Z]{2})?/docs(?:/(?:next|[0-9]+.[0-9]+))?)/docs/"+t+"(/.*)?$"),c=o.match(i);if(c){var r=c[1]+"/"+t+(c[2]||"");window.location.replace(r+window.location.search+window.location.hash);return}}}()</script><link rel=stylesheet href=/zh-CN/assets/css/styles.3a1edaa1.css /><script src=/zh-CN/assets/js/runtime~main.49719703.js defer></script><script src=/zh-CN/assets/js/main.bc407ed5.js defer></script></head><body><svg style="display: none;"><defs> |
| <symbol id=theme-svg-external-link viewBox="0 0 24 24"><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol> |
| </defs></svg> |
| <script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><div class="flex flex-col md:flex-row items-center justify-center md:m-32 m-6 space-y-6 md:space-y-0 md:space-x-8"><div class="hidden md:flex w-full md:w-1/2 justify-center"><img src=/zh-CN/home/programming.svg alt=programming-coding class="w-full max-w-md h-auto"/></div><div class="relative text-sm overflow-hidden bg-[#1e1e2f]rounded-lg" style=width:100%;max-width:600px;height:666px><div class="flex items-center px-3 py-2 bg-[#1e1e2f]"><div class="space-x-3 overflow-auto"><button class="px-3 py-1 rounded-full text-sm font-medium border border-gray-500 duration-200 bg-blue-600 text-white">Java</button><button class="px-3 py-1 rounded-full text-sm font-medium border border-gray-500 duration-200 bg-gray-600 text-gray-300 hover:bg-gray-500">Kotlin</button><button class="px-3 py-1 rounded-full text-sm font-medium border border-gray-500 duration-200 bg-gray-600 text-gray-300 hover:bg-gray-500">Scala</button><button class="px-3 py-1 rounded-full text-sm font-medium border border-gray-500 duration-200 bg-gray-600 text-gray-300 hover:bg-gray-500">Rust</button><button class="px-3 py-1 rounded-full text-sm font-medium border border-gray-500 duration-200 bg-gray-600 text-gray-300 hover:bg-gray-500">Python</button></div></div><div class="relative w-full h-full" style=opacity:0;transform:translateX(50px)><button class="absolute top-5 right-5 z-10 text-xs px-2 py-1 rounded border border-gray-500 text-white hover:bg-white/10 transition">Copy</button><div class="w-full h-full overflow-auto px-4 py-2"><pre style="color:#f8f8f2;background:#282a36;text-shadow:0 1px rgba(0, 0, 0, 0.3);font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1em;margin:.5em 0;overflow:auto;border-radius:0.3em"><code class="text-sm bg-transparent" style=white-space:pre-wrap><span><span class=token style=color:#8be9fd>import</span><span> </span><span class=token>java</span><span class=token style=color:#f8f8f2>.</span><span class=token>util</span><span class=token style=color:#f8f8f2>.</span><span class=token style=color:#f1fa8c>List</span><span class=token style=color:#f8f8f2>;</span><span> |
| </span></span><span><span></span><span class=token style=color:#8be9fd>import</span><span> </span><span class=token>java</span><span class=token style=color:#f8f8f2>.</span><span class=token>util</span><span class=token style=color:#f8f8f2>.</span><span class=token style=color:#f1fa8c>Arrays</span><span class=token style=color:#f8f8f2>;</span><span> |
| </span></span><span><span></span><span class=token style=color:#8be9fd>import</span><span> </span><span class=token>org</span><span class=token style=color:#f8f8f2>.</span><span class=token>apache</span><span class=token style=color:#f8f8f2>.</span><span class=token>fory</span><span class=token style=color:#f8f8f2>.</span><span class=token style=color:#f8f8f2>*</span><span class=token style=color:#f8f8f2>;</span><span> |
| </span></span><span> |
| </span><span><span></span><span class=token style=color:#8be9fd>public</span><span> </span><span class=token style=color:#8be9fd>class</span><span> </span><span class=token style=color:#f1fa8c>Example</span><span> </span><span class=token style=color:#f8f8f2>{</span><span> |
| </span></span><span><span> </span><span class=token style=color:#6272a4>// Note that Fory instances should be reused between</span><span> |
| </span></span><span><span> </span><span class=token style=color:#6272a4>// multiple serializations of different objects.</span><span> |
| </span></span><span><span> </span><span class=token style=color:#8be9fd>static</span><span> </span><span class=token style=color:#f1fa8c>ThreadSafeFory</span><span> fory </span><span class=token style=color:#f8f8f2>=</span><span> </span><span class=token style=color:#f1fa8c>Fory</span><span class=token style=color:#f8f8f2>.</span><span class=token style=color:#f1fa8c>builder</span><span class=token style=color:#f8f8f2>(</span><span class=token style=color:#f8f8f2>)</span><span class=token style=color:#f8f8f2>.</span><span class=token style=color:#f1fa8c>withLanguage</span><span class=token style=color:#f8f8f2>(</span><span class=token style=color:#f1fa8c>Language</span><span class=token style=color:#f8f8f2>.</span><span>JAVA</span><span class=token style=color:#f8f8f2>)</span><span> |
| </span></span><span><span> </span><span class=token style=color:#6272a4>// Allow to deserialize objects unknown types,</span><span> |
| </span></span><span><span> </span><span class=token style=color:#6272a4>// more flexible but less secure.</span><span> |
| </span></span><span><span> </span><span class=token style=color:#6272a4>// .requireClassRegistration(false)</span><span> |
| </span></span><span><span> </span><span class=token style=color:#f8f8f2>.</span><span class=token style=color:#f1fa8c>buildThreadSafeFory</span><span class=token style=color:#f8f8f2>(</span><span class=token style=color:#f8f8f2>)</span><span class=token style=color:#f8f8f2>;</span><span> |
| </span></span><span> |
| </span><span><span> </span><span class=token style=color:#8be9fd>static</span><span> </span><span class=token style=color:#f8f8f2>{</span><span> |
| </span></span><span><span> </span><span class=token style=color:#6272a4>// Registering types can reduce class name serialization</span><span> |
| </span></span><span><span> </span><span class=token style=color:#6272a4>// overhead but not mandatory.</span><span> |
| </span></span><span><span> </span><span class=token style=color:#6272a4>// If secure mode enabled</span><span> |
| </span></span><span><span> </span><span class=token style=color:#6272a4>//all custom types must be registered.</span><span> |
| </span></span><span><span> fory</span><span class=token style=color:#f8f8f2>.</span><span class=token style=color:#f1fa8c>register</span><span class=token style=color:#f8f8f2>(</span><span class=token style=color:#f1fa8c>SomeClass</span><span class=token style=color:#f8f8f2>.</span><span class=token style=color:#8be9fd>class</span><span class=token style=color:#f8f8f2>)</span><span class=token style=color:#f8f8f2>;</span><span> |
| </span></span><span><span> </span><span class=token style=color:#f8f8f2>}</span><span> |
| </span></span><span> |
| </span><span><span> </span><span class=token style=color:#8be9fd>public</span><span> </span><span class=token style=color:#8be9fd>static</span><span> </span><span class=token style=color:#8be9fd>void</span><span> </span><span class=token style=color:#f1fa8c>main</span><span class=token style=color:#f8f8f2>(</span><span class=token style=color:#f1fa8c>String</span><span class=token style=color:#f8f8f2>[</span><span class=token style=color:#f8f8f2>]</span><span> args</span><span class=token style=color:#f8f8f2>)</span><span> </span><span class=token style=color:#f8f8f2>{</span><span> |
| </span></span><span><span> </span><span class=token style=color:#f1fa8c>SomeClass</span><span> object </span><span class=token style=color:#f8f8f2>=</span><span> </span><span class=token style=color:#8be9fd>new</span><span> </span><span class=token style=color:#f1fa8c>SomeClass</span><span class=token style=color:#f8f8f2>(</span><span class=token style=color:#f8f8f2>)</span><span class=token style=color:#f8f8f2>;</span><span> |
| </span></span><span><span> </span><span class=token style=color:#8be9fd>byte</span><span class=token style=color:#f8f8f2>[</span><span class=token style=color:#f8f8f2>]</span><span> bytes </span><span class=token style=color:#f8f8f2>=</span><span> fory</span><span class=token style=color:#f8f8f2>.</span><span class=token style=color:#f1fa8c>serialize</span><span class=token style=color:#f8f8f2>(</span><span>object</span><span class=token style=color:#f8f8f2>)</span><span class=token style=color:#f8f8f2>;</span><span> |
| </span></span><span><span> </span><span class=token style=color:#f1fa8c>System</span><span class=token style=color:#f8f8f2>.</span><span>out</span><span class=token style=color:#f8f8f2>.</span><span class=token style=color:#f1fa8c>println</span><span class=token style=color:#f8f8f2>(</span><span>fory</span><span class=token style=color:#f8f8f2>.</span><span class=token style=color:#f1fa8c>deserialize</span><span class=token style=color:#f8f8f2>(</span><span>bytes</span><span class=token style=color:#f8f8f2>)</span><span class=token style=color:#f8f8f2>)</span><span class=token style=color:#f8f8f2>;</span><span> |
| </span></span><span><span> </span><span class=token style=color:#f8f8f2>}</span><span> |
| </span></span><span><span></span><span class=token style=color:#f8f8f2>}</span></span></code></pre></div></div></div></div></div></body> |