java
8 minJava class-loader retention: why an undeployed app can remain in memory
Trace plugin and application class loaders from long-lived roots before blaming metaspace.
Loading page...
java
8 minTrace plugin and application class loaders from long-lived roots before blaming metaspace.
Q&A
Q&AHeap or native-resource exhaustion differs from exhausting one thread call stack.
OutOfMemoryError identifies an allocation resource that could not be satisfied, such as Java heap, metaspace, direct buffers, or native threads. StackOverflowError usually indicates an excessively deep call chain or runaway recursion in one thread. Read the exact message, capture JVM and container metrics, and use a heap dump or thread stack evidence before changing memory flags.
Q&A
Q&ALoading, linking, and initialization are distinct phases managed by class loaders.
A class loader locates and defines bytecode; linking verifies it, prepares class storage, and resolves symbolic references as needed; initialization runs static initialization in the specified order. Parent delegation is common but custom loaders can change identity: classes with the same name loaded by different loaders are distinct runtime types. Class-loader leaks often arise when long-lived references retain an application loader after redeployment.
kubernetes
5 minConnect replaceable Pods through stable Services and reason about configuration, credentials, namespaces, and workload API permissions.
Q&A
Q&AInspect local socket state and bind address before changing firewall policy.
On Linux, `ss -lntup` lists listening sockets; `netstat` may be available via net-tools on older systems. Confirm the process, address, and network namespace. A service bound only to 127.0.0.1 is not externally reachable; also check container port mapping and host policy.
Q&A
Q&AResolve the name from the failing runtime, then test the returned address and port separately.
Use the system resolver path, for example getent hosts, and compare with a direct DNS query. If a correct address resolves but the connection fails, investigate route, listener, firewall, or protocol behavior. Run diagnostics inside the same container or namespace as the application because resolver configuration may differ.