<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/1.8.0/javadoc/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (version 1.7.0_80) on Mon Dec 05 14:49:08 MSK 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>OptimizedMarshaller (Ignite 1.8.0)</title>
<meta name="date" content="2016-12-05">
<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="OptimizedMarshaller (Ignite 1.8.0)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/OptimizedMarshaller.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshallerIdMapper.html" title="interface in org.apache.ignite.marshaller.optimized"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html" target="_top">Frames</a></li>
<li><a href="OptimizedMarshaller.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.marshaller.optimized</div>
<h2 title="Class OptimizedMarshaller" class="title">Class OptimizedMarshaller</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html" title="class in org.apache.ignite.marshaller">org.apache.ignite.marshaller.AbstractMarshaller</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html" title="class in org.apache.ignite.marshaller">org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.marshaller.optimized.OptimizedMarshaller</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller">Marshaller</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">OptimizedMarshaller</span>
extends <a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractNodeNameAwareMarshaller</a></pre>
<div class="block">Optimized implementation of <a href="../../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller"><code>Marshaller</code></a>.
 Unlike <a href="../../../../../org/apache/ignite/marshaller/jdk/JdkMarshaller.html" title="class in org.apache.ignite.marshaller.jdk"><code>JdkMarshaller</code></a>,
 which is based on standard <a href="http://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutputStream.html?is-external=true" title="class or interface in java.io"><code>ObjectOutputStream</code></a>, this marshaller does not
 enforce that all serialized objects implement <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> interface. It is also
 about 20 times faster as it removes lots of serialization overhead that exists in
 default JDK implementation.
 <p>
 <code>OptimizedMarshaller</code> is tested only on Java HotSpot VM on other VMs
 it could yield unexpected results. It is the default marshaller on Java HotSpot VMs
 and will be used if no other marshaller was explicitly configured.
 <p>
 <h1 class="header">Configuration</h1>
 <h2 class="header">Mandatory</h2>
 This marshaller has no mandatory configuration parameters.
 <h2 class="header">Java Example</h2>
 <pre name="code" class="java">
 OptimizedMarshaller marshaller = new OptimizedMarshaller();

 // Enforce Serializable interface.
 marshaller.setRequireSerializable(true);

 IgniteConfiguration cfg = new IgniteConfiguration();

 // Override marshaller.
 cfg.setMarshaller(marshaller);

 // Starts grid.
 G.start(cfg);
 </pre>
 <h2 class="header">Spring Example</h2>
 GridOptimizedMarshaller can be configured from Spring XML configuration file:
 <pre name="code" class="xml">
 &lt;bean id="grid.custom.cfg" class="org.apache.ignite.configuration.IgniteConfiguration" singleton="true"&gt;
     ...
     &lt;property name="marshaller"&gt;
         &lt;bean class="org.apache.ignite.marshaller.optimized.OptimizedMarshaller"&gt;
             &lt;property name="requireSerializable"&gt;true&lt;/property&gt;
         &lt;/bean&gt;
     &lt;/property&gt;
     ...
 &lt;/bean&gt;
 </pre>
 <p>
 <img src="http://ignite.apache.org/images/spring-small.png">
 <br>
 For information about Spring framework visit <a href="http://www.springframework.org/">www.springframework.org</a></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#USE_DFLT_SUID">USE_DFLT_SUID</a></strong></code>
<div class="block">Use default <code>serialVersionUID</code> for <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> classes.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.ignite.marshaller.AbstractMarshaller">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.ignite.marshaller.<a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractMarshaller</a></h3>
<code><a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html#ctx">ctx</a>, <a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html#DFLT_BUFFER_SIZE">DFLT_BUFFER_SIZE</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#OptimizedMarshaller()">OptimizedMarshaller</a></strong>()</code>
<div class="block">Creates new marshaller will all defaults.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#OptimizedMarshaller(boolean)">OptimizedMarshaller</a></strong>(boolean&nbsp;requireSer)</code>
<div class="block">Creates new marshaller providing whether it should
 require <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> interface or not.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#available()">available</a></strong>()</code>
<div class="block">Checks whether <code>GridOptimizedMarshaller</code> is able to work on the current JVM.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected byte[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#marshal0(java.lang.Object)">marshal0</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>
<div class="block">Marshals object to byte array.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#marshal0(java.lang.Object,%20java.io.OutputStream)">marshal0</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj,
        <a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out)</code>
<div class="block">Marshals object to the output stream.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#onUndeploy(java.lang.ClassLoader)">onUndeploy</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;ldr)</code>
<div class="block">Undeployment callback invoked when class loader is being undeployed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#setIdMapper(org.apache.ignite.marshaller.optimized.OptimizedMarshallerIdMapper)">setIdMapper</a></strong>(<a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshallerIdMapper.html" title="interface in org.apache.ignite.marshaller.optimized">OptimizedMarshallerIdMapper</a>&nbsp;mapper)</code>
<div class="block">Sets ID mapper.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#setPoolSize(int)">setPoolSize</a></strong>(int&nbsp;poolSize)</code>
<div class="block">Specifies size of cached object streams used by marshaller.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#setRequireSerializable(boolean)">setRequireSerializable</a></strong>(boolean&nbsp;requireSer)</code>
<div class="block">Sets whether marshaller should require <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> interface or not.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected &lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#unmarshal0(byte[],%20java.lang.ClassLoader)">unmarshal0</a></strong>(byte[]&nbsp;arr,
          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;clsLdr)</code>
<div class="block">Unmarshals object from byte array using given class loader.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected &lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#unmarshal0(java.io.InputStream,%20java.lang.ClassLoader)">unmarshal0</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;in,
          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;clsLdr)</code>
<div class="block">Unmarshals object from the input stream using given class loader.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.ignite.marshaller.<a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractNodeNameAwareMarshaller</a></h3>
<code><a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html#marshal(java.lang.Object)">marshal</a>, <a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html#marshal(java.lang.Object,%20java.io.OutputStream)">marshal</a>, <a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html#nodeName(java.lang.String)">nodeName</a>, <a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html#unmarshal(byte[],%20java.lang.ClassLoader)">unmarshal</a>, <a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html#unmarshal(java.io.InputStream,%20java.lang.ClassLoader)">unmarshal</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.marshaller.AbstractMarshaller">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.ignite.marshaller.<a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractMarshaller</a></h3>
<code><a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html#getContext()">getContext</a>, <a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html#setContext(org.apache.ignite.marshaller.MarshallerContext)">setContext</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="USE_DFLT_SUID">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>USE_DFLT_SUID</h4>
<pre>public static final&nbsp;boolean USE_DFLT_SUID</pre>
<div class="block">Use default <code>serialVersionUID</code> for <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> classes.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="OptimizedMarshaller()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OptimizedMarshaller</h4>
<pre>public&nbsp;OptimizedMarshaller()</pre>
<div class="block">Creates new marshaller will all defaults.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If this marshaller is not supported on the current JVM.</dd></dl>
</li>
</ul>
<a name="OptimizedMarshaller(boolean)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>OptimizedMarshaller</h4>
<pre>public&nbsp;OptimizedMarshaller(boolean&nbsp;requireSer)</pre>
<div class="block">Creates new marshaller providing whether it should
 require <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> interface or not.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>requireSer</code> - Whether to require <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a>.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="setRequireSerializable(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRequireSerializable</h4>
<pre>public&nbsp;void&nbsp;setRequireSerializable(boolean&nbsp;requireSer)</pre>
<div class="block">Sets whether marshaller should require <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> interface or not.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>requireSer</code> - Whether to require <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a>.</dd></dl>
</li>
</ul>
<a name="setIdMapper(org.apache.ignite.marshaller.optimized.OptimizedMarshallerIdMapper)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIdMapper</h4>
<pre>public&nbsp;void&nbsp;setIdMapper(<a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshallerIdMapper.html" title="interface in org.apache.ignite.marshaller.optimized">OptimizedMarshallerIdMapper</a>&nbsp;mapper)</pre>
<div class="block">Sets ID mapper.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>mapper</code> - ID mapper.</dd></dl>
</li>
</ul>
<a name="setPoolSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPoolSize</h4>
<pre>public&nbsp;void&nbsp;setPoolSize(int&nbsp;poolSize)</pre>
<div class="block">Specifies size of cached object streams used by marshaller. Object streams are cached for
 performance reason to avoid costly recreation for every serialization routine. If <code>0</code> (default),
 pool is not used and each thread has its own cached object stream which it keeps reusing.
 <p>
 Since each stream has an internal buffer, creating a stream for each thread can lead to
 high memory consumption if many large messages are marshalled or unmarshalled concurrently.
 Consider using pool in this case. This will limit number of streams that can be created and,
 therefore, decrease memory consumption.
 <p>
 NOTE: Using streams pool can decrease performance since streams will be shared between
 different threads which will lead to more frequent context switching.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>poolSize</code> - Streams pool size. If <code>0</code>, pool is not used.</dd></dl>
</li>
</ul>
<a name="marshal0(java.lang.Object, java.io.OutputStream)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>marshal0</h4>
<pre>protected&nbsp;void&nbsp;marshal0(@Nullable
            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj,
            <a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out)
                 throws <a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Marshals object to the output stream. This method should not close
 given output stream.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html#marshal0(java.lang.Object,%20java.io.OutputStream)">marshal0</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractNodeNameAwareMarshaller</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>obj</code> - Object to marshal.</dd><dd><code>out</code> - Output stream to marshal into.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If marshalling failed.</dd></dl>
</li>
</ul>
<a name="marshal0(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>marshal0</h4>
<pre>protected&nbsp;byte[]&nbsp;marshal0(@Nullable
              <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)
                   throws <a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Marshals object to byte array.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html#marshal0(java.lang.Object)">marshal0</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractNodeNameAwareMarshaller</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>obj</code> - Object to marshal.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Byte array.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If marshalling failed.</dd></dl>
</li>
</ul>
<a name="unmarshal0(java.io.InputStream, java.lang.ClassLoader)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal0</h4>
<pre>protected&nbsp;&lt;T&gt;&nbsp;T&nbsp;unmarshal0(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;in,
               @Nullable
               <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;clsLdr)
                throws <a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Unmarshals object from the input stream using given class loader.
 This method should not close given input stream.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html#unmarshal0(java.io.InputStream,%20java.lang.ClassLoader)">unmarshal0</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractNodeNameAwareMarshaller</a></code></dd>
<dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - Type of unmarshalled object.</dd><dt><span class="strong">Parameters:</span></dt><dd><code>in</code> - Input stream.</dd><dd><code>clsLdr</code> - Class loader to use.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Unmarshalled object.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If unmarshalling failed.</dd></dl>
</li>
</ul>
<a name="unmarshal0(byte[], java.lang.ClassLoader)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal0</h4>
<pre>protected&nbsp;&lt;T&gt;&nbsp;T&nbsp;unmarshal0(byte[]&nbsp;arr,
               @Nullable
               <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;clsLdr)
                throws <a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Unmarshals object from byte array using given class loader.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html#unmarshal0(byte[],%20java.lang.ClassLoader)">unmarshal0</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/ignite/marshaller/AbstractNodeNameAwareMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractNodeNameAwareMarshaller</a></code></dd>
<dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - Type of unmarshalled object.</dd><dt><span class="strong">Parameters:</span></dt><dd><code>arr</code> - Byte array.</dd><dd><code>clsLdr</code> - Class loader to use.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Unmarshalled object.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If unmarshalling failed.</dd></dl>
</li>
</ul>
<a name="available()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>available</h4>
<pre>public static&nbsp;boolean&nbsp;available()</pre>
<div class="block">Checks whether <code>GridOptimizedMarshaller</code> is able to work on the current JVM.
 <p>
 As long as <code>GridOptimizedMarshaller</code> uses JVM-private API, which is not guaranteed
 to be available on all JVM, this method should be called to ensure marshaller could work properly.
 <p>
 Result of this method is automatically checked in constructor.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code> if <code>GridOptimizedMarshaller</code> can work on the current JVM or
  <code>false</code> if it can't.</dd></dl>
</li>
</ul>
<a name="onUndeploy(java.lang.ClassLoader)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onUndeploy</h4>
<pre>public&nbsp;void&nbsp;onUndeploy(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;ldr)</pre>
<div class="block">Undeployment callback invoked when class loader is being undeployed.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html#onUndeploy(java.lang.ClassLoader)">onUndeploy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractMarshaller</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>ldr</code> - Class loader being undeployed.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/OptimizedMarshaller.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshallerIdMapper.html" title="interface in org.apache.ignite.marshaller.optimized"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html" target="_top">Frames</a></li>
<li><a href="OptimizedMarshaller.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px">                                     <tr>                                         <td>                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <a target=_blank href="https://ignite.apache.org"><nobr>2015 Copyright &#169; Apache Software Foundation</nobr></a>                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                         <td width="100%" align="right" valign="center">                                             <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a>                                             <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>                                         </td>                                     </tr>                                     <tr>                                         <td colspan="2" valign="top" align="left">                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Ignite Fabric</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>1.8.0</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             December 5 2016                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
