[JDK工具-6] jmap java內存映射工具

在這里插入圖片描述

文章目錄

  • 1. 介紹
  • 2. 主要選項
  • 3. 生成java堆轉儲快照 jmap -dump
  • 4. 顯示堆詳細信息 jmap -heap pid
  • 5. 顯示堆中對象統計信息 jmap -histo pid

jmap(Memory Map for Java)

1. 介紹

位置:jdk\bin

作用:

  • jdk安裝后會自帶一些小工具,jmap命令(Memory Map for Java)是其中之一。主要用于打印指定Java進程(或核心文件、遠程調試服務器)的共享對象內存映射或堆內存細節。

  • jmap命令可以獲得運行中的jvm的堆的快照,從而可以離線分析堆,以檢查內存泄漏,檢查一些嚴重影響性能的大對象的創建,檢查系統中什么對象最多,各種對象所占內存的大小等等。可以使用jmap生成Heap Dump。

  • 如果不想使用jmap命令,要想獲取Java堆轉儲快照還有一些比較“暴力”的手段:譬如在前面用過的 -XX:+HeapDumpOnOutOfMemoryError參數,可以讓虛擬機在OOM異常出現之后自動生成dump文件,通過-XX:+HeapDumpOnCtrlBreak參數可以使用[ctrl]+[Break]鍵讓虛擬機生成dump文件,又或者在Linux系統下通過Kill -3 命令發送進程退出信息“恐嚇”一下虛擬機,也能拿到dump文件。

  • jmap的作用并不僅僅是為了獲取dump文件,他還可以查詢finalize執行隊列,java堆和永久代的詳細信息,如空間使用率、當前用的是哪種收集器等。

語法:

D:\javasoft\java_soft\jdk\bin>jmap
Usage:jmap [option] <pid>(to connect to running process)jmap [option] <executable <core>(to connect to a core file)jmap [option] [server_id@]<remote server IP or hostname>(to connect to remote debug server)where <option> is one of:<none>               to print same info as Solaris pmap-heap                to print java heap summary-histo[:live]        to print histogram of java object heap; if the "live"suboption is specified, only count live objects-clstats             to print class loader statistics-finalizerinfo       to print information on objects awaiting finalization-dump:<dump-options> to dump java heap in hprof binary formatdump-options:live         dump only live objects; if not specified,all objects in the heap are dumped.format=b     binary formatfile=<file>  dump heap to <file>Example: jmap -dump:live,format=b,file=heap.bin <pid>-F                   force. Use with -dump:<dump-options> <pid> or -histoto force a heap dump or histogram when <pid> does notrespond. The "live" suboption is not supportedin this mode.-h | -help           to print this help message-J<flag>             to pass <flag> directly to the runtime system

2. 主要選項

選項作用
-dump生成java堆轉儲快照,格式為:-dump:[live,]format=b,file=,其中live子參數說明是否只dump出存活對象
-finalizerinfo顯示在F-Queue中等待Finalizer線程執行finalize方法的對象,只在linux/solaris平臺下有效
-heap顯示堆詳細信息,如使用哪種回收期、參數配置、分帶狀況等,只在linux/solaris平臺下有效
-histo顯示堆中對象統計信息,包括類、實例數量和合計容量
-permstat以ClassLoader為統計口徑顯示永久代內存狀況,只在linux/solaris平臺下有效
-F當虛擬機進程對-dump選項沒有響應時,可以使用這個選項強制生成dump快照,只在linux/solaris平臺下有效

3. 生成java堆轉儲快照 jmap -dump

生成java對轉存快照,格式:jmap -dump:[live,]format=b,file=文件名
在這里插入圖片描述
可以使用jdk提供的jvisualvm.exe查看hprof文件
在這里插入圖片描述

4. 顯示堆詳細信息 jmap -heap pid

D:\javasoft\java_soft\jdk\bin>jmap -heap 8644
Attaching to process ID 8644, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.271-b09using thread-local object allocation.
Parallel GC with 8 thread(s)Heap Configuration:MinHeapFreeRatio         = 0MaxHeapFreeRatio         = 100MaxHeapSize              = 1853882368 (1768.0MB)NewSize                  = 38797312 (37.0MB)MaxNewSize               = 617611264 (589.0MB)OldSize                  = 78643200 (75.0MB)NewRatio                 = 2SurvivorRatio            = 8MetaspaceSize            = 21807104 (20.796875MB)CompressedClassSpaceSize = 1073741824 (1024.0MB)MaxMetaspaceSize         = 17592186044415 MBG1HeapRegionSize         = 0 (0.0MB)Heap Usage:
PS Young Generation
Eden Space:capacity = 185597952 (177.0MB)used     = 1365920 (1.302642822265625MB)free     = 184232032 (175.69735717773438MB)0.7359563967602402% used
From Space:capacity = 16252928 (15.5MB)used     = 0 (0.0MB)free     = 16252928 (15.5MB)0.0% used
To Space:capacity = 18874368 (18.0MB)used     = 0 (0.0MB)free     = 18874368 (18.0MB)0.0% used
PS Old Generationcapacity = 101187584 (96.5MB)used     = 26049224 (24.84247589111328MB)free     = 75138360 (71.65752410888672MB)25.743498332759877% used21147 interned Strings occupying 2233672 bytes.

5. 顯示堆中對象統計信息 jmap -histo pid

顯示堆中對象統計信息,包括類、實例數量和合計容量

命令格式:jmap -histo[:live]

D:\javasoft\java_soft\jdk\bin>jps -l
10048 sun.tools.jps.Jps
13072 org/netbeans/Main
16212 com.xin.demo.threaddemo.bookdemo.DeadLockDemo
8644 com.xin.demo.XinJavaDemoApplication
5560
7016 org.jetbrains.jps.cmdline.Launcher
9544 com.xin.demo.threaddemo.bookdemo.OOMTestD:\javasoft\java_soft\jdk\bin>jmap -histo 9544num     #instances         #bytes  class name
----------------------------------------------1:          1066        1822048  [B2:          6646         978560  [C3:           390         186216  [I4:          6079         145896  java.lang.String5:           722          82784  java.lang.Class6:          1372          68968  [Ljava.lang.Object;7:           845          33800  java.util.LinkedHashMap$Entry8:           791          31640  java.util.TreeMap$Entry9:           783          25056  java.util.HashMap$Node10:           443          22376  [Ljava.lang.String;11:           305          19520  java.net.URL12:            57          16656  [Ljava.util.HashMap$Node;13:           406          16240  java.lang.ref.Finalizer14:           555          13320  java.util.LinkedList$Node15:           107          10272  java.util.jar.JarFile$JarFileEntry16:           123           9840  [Ljava.util.WeakHashMap$Entry;17:           286           9152  java.util.LinkedList18:           152           8512  sun.misc.URLClassPath$JarLoader19:           113           8136  java.lang.reflect.Field20:           120           7680  java.util.jar.JarFile21:           235           7520  java.util.Hashtable$Entry22:           123           6888  sun.nio.cs.UTF_8$Encoder23:           121           6776  java.util.zip.ZipFile$ZipFileInputStream24:           111           6216  java.util.zip.ZipFile$ZipFileInflaterInputStream25:           257           6168  java.io.ExpiringCache$Entry26:           123           5904  java.util.WeakHashMap27:           110           5280  java.util.zip.Inflater28:           121           4840  java.lang.ref.SoftReference29:           119           4760  sun.nio.cs.UTF_8$Decoder30:           130           4160  java.lang.ref.ReferenceQueue31:           256           4096  java.lang.Integer32:           120           3840  java.util.zip.ZipCoder33:           111           3552  java.util.concurrent.ConcurrentHashMap$Node34:           132           3168  java.lang.StringBuffer35:            22           3072  [Ljava.util.Hashtable$Entry;36:             8           3008  java.lang.Thread37:           120           2880  java.util.ArrayDeque38:            59           2832  java.util.HashMap39:           110           2640  java.util.zip.ZStreamRef40:             5           2600  [J41:           106           2544  java.lang.StringBuilder42:            30           2400  [S43:             2           2384  [[Ljava.lang.Object;44:           132           2112  java.lang.ref.ReferenceQueue$Lock45:            26           2080  java.lang.reflect.Constructor46:            16           2048  [Ljava.util.concurrent.ConcurrentHashMap$Node;47:            60           1920  java.io.File48:            39           1872  sun.util.locale.LocaleObjectCache$CacheEntry49:             1           1568  [[B50:            96           1536  java.lang.Object51:            37           1480  java.io.ObjectStreamField52:            26           1456  java.lang.Class$ReflectionData53:            20           1280  java.util.concurrent.ConcurrentHashMap54:             2           1064  [Ljava.lang.invoke.MethodHandle;55:             1           1040  [Ljava.lang.Integer;56:             1           1040  [[C57:            36            864  java.util.jar.Attributes$Name58:            21            840  sun.util.locale.BaseLocale$Key59:            11            648  [Ljava.lang.reflect.Field;60:            19            608  java.util.Locale61:            19            608  sun.util.locale.BaseLocale62:            13            520  java.security.AccessControlContext63:            21            504  java.util.Locale$LocaleKey64:            10            480  java.util.Hashtable65:            12            480  java.util.WeakHashMap$Entry66:            18            432  sun.misc.MetaIndex67:            22            416  [Ljava.lang.Class;68:            10            400  java.io.FileDescriptor69:            13            392  [Ljava.io.ObjectStreamField;70:             1            384  com.intellij.rt.execution.application.AppMainV2$171:             1            384  java.lang.ref.Finalizer$FinalizerThread72:            16            384  java.net.Parts73:             6            384  java.nio.DirectByteBuffer74:            16            384  java.util.ArrayList75:             1            376  java.lang.ref.Reference$ReferenceHandler76:             6            336  java.nio.DirectLongBufferU77:             7            336  java.nio.HeapCharBuffer78:             6            336  java.util.LinkedHashMap79:            10            320  java.lang.OutOfMemoryError80:             3            312  [D81:            13            312  [Ljava.lang.reflect.Constructor;82:            13            312  sun.reflect.NativeConstructorAccessorImpl83:             6            288  java.nio.HeapByteBuffer84:             6            288  java.util.Properties85:             3            280  [[Ljava.lang.String;86:             5            280  java.util.ResourceBundle$CacheKey87:             5            280  sun.util.calendar.ZoneInfo88:             3            264  java.lang.reflect.Method89:            11            264  java.net.StandardSocketOptions$StdSocketOption90:             8            256  java.util.Vector91:             3            240  [Ljava.lang.ThreadLocal$ThreadLocalMap$Entry;92:             5            240  java.util.Hashtable$Enumerator93:             7            224  java.nio.file.attribute.FileTime94:             9            216  sun.misc.JarIndex95:            13            208  sun.reflect.DelegatingConstructorAccessorImpl96:             5            200  java.security.ProtectionDomain97:             6            192  java.io.FileInputStream98:             6            192  java.lang.ThreadLocal$ThreadLocalMap$Entry99:             4            192  java.util.TreeMap100:             8            192  sun.misc.URLClassPath$3101:             4            192  sun.nio.cs.StreamEncoder102:             3            192  sun.nio.cs.ext.DoubleByte$Encoder103:             2            192  sun.util.calendar.Gregorian$Date104:             4            160  java.io.BufferedWriter105:             4            160  java.lang.ClassLoader$NativeLibrary106:             5            160  java.security.CodeSource107:             4            160  java.security.PrivilegedActionException108:             5            160  java.util.ResourceBundle$LoaderReference109:             5            160  sun.util.locale.provider.LocaleProviderAdapter$Type110:             6            144  sun.misc.PerfCounter111:             3            144  sun.misc.URLClassPath112:             2            128  java.io.ExpiringCache$1113:             4            128  java.lang.StringCoding$StringEncoder114:             8            128  java.util.HashSet115:             4            128  java.util.Stack116:             1            120  java.net.SocksSocketImpl117:             5            120  java.util.Collections$UnmodifiableRandomAccessList118:             5            120  sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer119:             2            112  java.lang.Package120:             2            112  sun.nio.cs.ISO_8859_1$Encoder121:             2            112  sun.nio.cs.ext.DoubleByte$Decoder122:             2             96  java.io.BufferedReader123:             3             96  java.io.FileOutputStream124:             4             96  java.io.OutputStreamWriter125:             4             96  java.lang.RuntimePermission126:             3             96  java.lang.StringCoding$StringDecoder127:             2             96  java.lang.ThreadGroup128:             6             96  java.lang.ThreadLocal129:             3             96  java.lang.ref.WeakReference130:             1             96  java.net.DualStackPlainSocketImpl131:             2             96  java.util.ResourceBundle$BundleReference132:             6             96  java.util.jar.Attributes133:             4             96  jdk.net.ExtendedSocketOptions$ExtSocketOption134:             1             96  sun.misc.Launcher$AppClassLoader135:             3             96  sun.net.spi.DefaultProxySelector$NonProxyInfo136:             2             96  sun.nio.cs.StreamDecoder137:             4             96  sun.security.action.GetPropertyAction138:             1             88  java.util.jar.JarVerifier139:             1             88  sun.misc.Launcher$ExtClassLoader140:             5             80  [Ljava.security.Principal;141:             2             80  [Lsun.util.locale.provider.LocaleProviderAdapter$Type;142:             2             80  java.io.BufferedInputStream143:             2             80  java.io.ExpiringCache144:             5             80  java.security.ProtectionDomain$Key145:             2             80  java.util.ServiceLoader$LazyIterator146:             2             80  sun.misc.FloatingDecimal$BinaryToASCIIBuffer147:             2             80  sun.misc.URLClassPath$1148:             2             80  sun.misc.URLClassPath$2149:             2             80  sun.util.locale.LanguageTag150:             3             72  java.io.ByteArrayOutputStream151:             3             72  java.lang.ThreadLocal$ThreadLocalMap152:             3             72  java.net.Proxy$Type153:             3             72  java.util.Arrays$ArrayList154:             3             72  java.util.Collections$SynchronizedSet155:             1             72  java.util.ResourceBundle$RBClassLoader156:             3             72  java.util.concurrent.atomic.AtomicLong157:             3             72  sun.misc.FloatingDecimal$ExceptionalBinaryToASCIIBuffer158:             1             72  sun.util.locale.provider.JRELocaleProviderAdapter159:             1             64  [F160:             2             64  [Ljava.lang.Thread;161:             2             64  java.io.DataInputStream162:             2             64  java.io.FileNotFoundException163:             2             64  java.io.FilePermission164:             2             64  java.io.PrintStream165:             2             64  java.lang.ClassValue$Entry166:             2             64  java.lang.VirtualMachineError167:             2             64  java.lang.ref.ReferenceQueue$Null168:             2             64  java.security.BasicPermissionCollection169:             2             64  java.security.Permissions170:             2             64  java.util.ArrayList$Itr171:             2             64  java.util.LinkedHashMap$LinkedEntryIterator172:             2             64  java.util.ServiceLoader173:             1             48  [Ljava.io.File;174:             2             48  [Ljava.lang.reflect.Method;175:             1             48  [Ljava.net.URL;176:             2             48  [Ljava.util.Enumeration;177:             1             48  [Ljava.util.concurrent.TimeUnit;178:             2             48  java.io.BufferedOutputStream179:             2             48  java.io.File$PathStatus180:             2             48  java.io.FilePermissionCollection181:             2             48  java.lang.Class$1182:             2             48  java.net.InetAddress$Cache183:             2             48  java.net.InetAddress$Cache$Type184:             1             48  java.net.SocketInputStream185:             2             48  java.net.URLClassLoader$3186:             2             48  java.nio.charset.CoderResult187:             3             48  java.nio.charset.CodingErrorAction188:             3             48  java.util.Collections$UnmodifiableSet189:             2             48  java.util.Date190:             3             48  java.util.HashMap$KeySet191:             3             48  java.util.LinkedHashMap$LinkedKeySet192:             2             48  java.util.ServiceLoader$1193:             1             48  java.util.StringTokenizer194:             2             48  java.util.jar.Manifest195:             2             48  sun.misc.CompoundEnumeration196:             2             48  sun.misc.FileURLMapper197:             2             48  sun.misc.NativeSignalHandler198:             2             48  sun.misc.Signal199:             3             48  sun.net.www.protocol.jar.Handler200:             2             48  sun.nio.cs.Surrogate$Parser201:             1             48  sun.nio.cs.US_ASCII$Decoder202:             1             48  sun.util.locale.provider.LocaleResources$ResourceReference203:             1             48  sun.util.resources.TimeZoneNames204:             1             48  sun.util.resources.en.TimeZoneNames_en205:             1             40  java.util.ResourceBundle$1206:             1             40  sun.nio.cs.StandardCharsets$Aliases207:             1             40  sun.nio.cs.StandardCharsets$Cache208:             1             40  sun.nio.cs.StandardCharsets$Classes209:             1             40  sun.nio.cs.ext.ExtendedCharsets210:             1             32  [Ljava.lang.OutOfMemoryError;211:             2             32  [Ljava.lang.StackTraceElement;212:             1             32  [Ljava.lang.ThreadGroup;213:             1             32  [Ljava.net.Proxy$Type;214:             1             32  java.io.ByteArrayInputStream215:             2             32  java.io.FileInputStream$1216:             1             32  java.io.WinNTFileSystem217:             1             32  java.lang.ArithmeticException218:             2             32  java.lang.Boolean219:             2             32  java.lang.ClassLoader$2220:             1             32  java.lang.NullPointerException221:             1             32  java.net.InetAddress$InetAddressHolder222:             1             32  java.net.Socket223:             2             32  java.net.URLClassLoader$3$1224:             2             32  java.nio.ByteOrder225:             2             32  java.util.Hashtable$KeySet226:             2             32  java.util.LinkedHashMap$LinkedEntrySet227:             1             32  java.util.LinkedHashMap$LinkedKeyIterator228:             2             32  java.util.concurrent.atomic.AtomicInteger229:             1             32  java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl230:             1             32  jdk.net.ExtendedSocketOptions$1231:             1             32  sun.instrument.InstrumentationImpl232:             2             32  sun.misc.URLClassPath$JarLoader$1233:             1             32  sun.nio.cs.StandardCharsets234:             1             32  sun.util.locale.provider.LocaleResources235:             1             32  sun.util.locale.provider.LocaleServiceProviderPool236:             1             24  [Ljava.io.File$PathStatus;237:             1             24  [Ljava.lang.ClassValue$Entry;238:             1             24  [Ljava.net.InetAddress$Cache$Type;239:             1             24  [Ljava.security.ProtectionDomain;240:             1             24  [Lsun.launcher.LauncherHelper;241:             1             24  java.io.FileReader242:             1             24  java.io.InputStreamReader243:             1             24  java.lang.ClassValue$Version244:             1             24  java.lang.invoke.MethodHandleImpl$4245:             1             24  java.lang.reflect.ReflectPermission246:             1             24  java.net.Inet4Address247:             1             24  java.net.Inet6AddressImpl248:             1             24  java.net.Proxy249:             1             24  java.util.BitSet250:             1             24  java.util.Collections$EmptyMap251:             1             24  java.util.Collections$SetFromMap252:             1             24  java.util.Collections$UnmodifiableCollection$1253:             1             24  java.util.Locale$Cache254:             1             24  java.util.ResourceBundle$Control$CandidateListCache255:             1             24  java.util.concurrent.TimeUnit$1256:             1             24  java.util.concurrent.TimeUnit$2257:             1             24  java.util.concurrent.TimeUnit$3258:             1             24  java.util.concurrent.TimeUnit$4259:             1             24  java.util.concurrent.TimeUnit$5260:             1             24  java.util.concurrent.TimeUnit$6261:             1             24  java.util.concurrent.TimeUnit$7262:             1             24  sun.instrument.TransformerManager263:             1             24  sun.launcher.LauncherHelper264:             1             24  sun.misc.URLClassPath$FileLoader265:             1             24  sun.nio.cs.ISO_8859_1266:             1             24  sun.nio.cs.ThreadLocalCoders$1267:             1             24  sun.nio.cs.ThreadLocalCoders$2268:             1             24  sun.nio.cs.US_ASCII269:             1             24  sun.nio.cs.UTF_16270:             1             24  sun.nio.cs.UTF_16BE271:             1             24  sun.nio.cs.UTF_16LE272:             1             24  sun.nio.cs.UTF_8273:             1             24  sun.nio.cs.ext.GBK274:             1             24  sun.reflect.NativeMethodAccessorImpl275:             1             24  sun.util.locale.BaseLocale$Cache276:             1             24  sun.util.locale.provider.SPILocaleProviderAdapter$1277:             1             24  sun.util.locale.provider.TimeZoneNameProviderImpl278:             1             24  sun.util.resources.LocaleData$1279:             1             16  [Ljava.lang.Throwable;280:             1             16  [Ljava.security.CodeSigner;281:             1             16  [Ljava.security.cert.Certificate;282:             1             16  [Lsun.instrument.TransformerManager$TransformerInfo;283:             1             16  [Lsun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule;284:             1             16  java.io.FileDescriptor$1285:             1             16  java.lang.CharacterDataLatin1286:             1             16  java.lang.ClassValue$Identity287:             1             16  java.lang.Runtime288:             1             16  java.lang.String$CaseInsensitiveComparator289:             1             16  java.lang.System$2290:             1             16  java.lang.Terminator$1291:             1             16  java.lang.invoke.MemberName$Factory292:             1             16  java.lang.invoke.MethodHandleImpl$2293:             1             16  java.lang.invoke.MethodHandleImpl$3294:             1             16  java.lang.ref.Reference$1295:             1             16  java.lang.ref.Reference$Lock296:             1             16  java.lang.reflect.ReflectAccess297:             1             16  java.net.InetAddress$2298:             1             16  java.net.URLClassLoader$7299:             1             16  java.nio.Bits$1300:             1             16  java.nio.charset.CoderResult$1301:             1             16  java.nio.charset.CoderResult$2302:             1             16  java.security.ProtectionDomain$2303:             1             16  java.security.ProtectionDomain$JavaSecurityAccessImpl304:             1             16  java.util.Collections$EmptyIterator305:             1             16  java.util.Collections$EmptyList306:             1             16  java.util.Collections$EmptySet307:             1             16  java.util.Hashtable$EntrySet308:             1             16  java.util.ResourceBundle$Control309:             1             16  java.util.ResourceBundle$RBClassLoader$1310:             1             16  java.util.TimeZone$1311:             1             16  java.util.WeakHashMap$KeySet312:             1             16  java.util.concurrent.atomic.AtomicBoolean313:             1             16  java.util.jar.JarVerifier$3314:             1             16  java.util.jar.JavaUtilJarAccessImpl315:             1             16  java.util.zip.ZipFile$1316:             1             16  jdk.net.ExtendedSocketOptions$PlatformSocketOptions317:             1             16  sun.misc.ASCIICaseInsensitiveComparator318:             1             16  sun.misc.FloatingDecimal$1319:             1             16  sun.misc.Launcher320:             1             16  sun.misc.Launcher$BootClassPathHolder$1321:             1             16  sun.misc.Launcher$Factory322:             1             16  sun.misc.Perf323:             1             16  sun.misc.Unsafe324:             1             16  sun.net.spi.DefaultProxySelector325:             1             16  sun.net.www.protocol.file.Handler326:             1             16  sun.reflect.DelegatingMethodAccessorImpl327:             1             16  sun.reflect.ReflectionFactory328:             1             16  sun.util.calendar.Gregorian329:             1             16  sun.util.calendar.ZoneInfoFile$1330:             1             16  sun.util.calendar.ZoneInfoFile$Checksum331:             1             16  sun.util.locale.provider.AuxLocaleProviderAdapter$NullProvider332:             1             16  sun.util.locale.provider.JRELocaleProviderAdapter$1333:             1             16  sun.util.locale.provider.SPILocaleProviderAdapter334:             1             16  sun.util.locale.provider.TimeZoneNameUtility$TimeZoneNameGetter335:             1             16  sun.util.resources.LocaleData336:             1             16  sun.util.resources.LocaleData$LocaleDataResourceBundleControl
Total         25196        3662360

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/16460.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/16460.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/16460.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PySide6升級導致的Fatal Python error: could not initialize part 2問題及其解決方法

問題出現 把PySide6從6.6.1升級到6.7.1&#xff0c;結果運行程序的時候就報如下錯誤&#xff1a; Traceback (most recent call last): File "signature_bootstrap.py", line 77, in bootstrap File "signature_bootstrap.py", line 93, in find_inc…

Kafka SASL_SSL集群認證

背景 公司需要對kafka環境進行安全驗證,目前考慮到的方案有Kerberos和SSL和SASL_SSL,最終考慮到安全和功能的豐富度,我們最終選擇了SASL_SSL方案。處于知識積累的角度,記錄一下kafka SASL_SSL安裝部署的步驟。 機器規劃 目前測試環境公搭建了三臺kafka主機服務,現在將詳…

H3CNE-7-TCP和UDP協議

TCP和UDP協議 TCP&#xff1a;可靠傳輸&#xff0c;面向連接 -------- 速度慢&#xff0c;準確性高 UDP&#xff1a;不可靠傳輸&#xff0c;非面向連接 -------- 速度快&#xff0c;但準確性差 面向連接&#xff1a;如果某應用層協議的四層使用TCP端口&#xff0c;那么正式的…

智能家居完結 -- 整體設計

系統框圖 前情提要: 智能家居1 -- 實現語音模塊-CSDN博客 智能家居2 -- 實現網絡控制模塊-CSDN博客 智能家居3 - 實現煙霧報警模塊-CSDN博客 智能家居4 -- 添加接收消息的初步處理-CSDN博客 智能家居5 - 實現處理線程-CSDN博客 智能家居6 -- 配置 ini文件優化設備添加-CS…

【MySQL】聊聊count的相關操作

在平時的操作中&#xff0c;經常使用count進行操作&#xff0c;計算統計的數據。那么具體的原理是如何的&#xff1f;為什么有時候執行count很慢。 count的實現方式 select count(*) from student;對于MyISAM引擎來說&#xff0c;會把一個表的總行數存儲在磁盤上&#xff0c;…

Linux下Vision Mamba環境配置+多CUDA版本切換

上篇文章大致講了下Vision Mamba的相關知識&#xff0c;網上關于Vision Mamba的配置博客太多&#xff0c;筆者主要用來整合下。 筆者在Win10和Linux下分別嘗試配置相關環境。 Win10下配置 失敗 \textcolor{red}{失敗} 失敗&#xff0c;最后出現的問題如下&#xff1a; https://…

基于物聯網架構的電子小票服務系統

1.電子小票物聯網架構 采用感知層、網絡層和應用層的3層物聯網體系架構模型&#xff0c;電子小票物聯網的架構見圖1。 圖1 電子小票物聯網架構 感知層的小票智能硬件能夠取代傳統的小票打印機&#xff0c;在不改變商家原有收銀系統的前提下&#xff0c;采集收音機待打印的購物…

react中的數據驅動視圖,useState()的使用

前端開發如今有一個很重要的思想就是數據驅動視圖&#xff0c;數據發生變化使ui發生變化&#xff0c;比如一個變量count&#xff0c;為0顯示三個按鈕&#xff0c;為1顯示一個按鈕&#xff0c;為2顯示兩個按鈕。這就是一個簡單的數據驅動視圖。 import { useState } from reactf…

修改 ant design tour 漫游式導航的彈窗邊框樣式

一 說明 應項目要求&#xff0c;調整ant design tour 彈窗邊框的樣式。tour 原本樣式是有遮罩層&#xff0c;因此沒有邊框看起來也不突兀。原圖如下&#xff1a; 但是UI設計是取消遮罩層&#xff0c;并設置邊框樣式。當 取消 了遮罩層&#xff0c;沒有設置邊框樣式的圖片如下&a…

python考試成績管理與分析:從列表到方差

新書上架~&#x1f447;全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目錄 一、考試成績的輸入與列表管理 二、成績的總分與平均成績計算 三、成績方差的計算 四、成…

雙指針用法練習題(2024/5/26)

1三數之和 給你一個整數數組 nums &#xff0c;判斷是否存在三元組 [nums[i], nums[j], nums[k]] 滿足 i ! j、i ! k 且 j ! k &#xff0c;同時還滿足 nums[i] nums[j] nums[k] 0 。請 你返回所有和為 0 且不重復的三元組。 注意&#xff1a;答案中不可以包含重復的三元…

人工智能場景下的網絡負載均衡技術

AI技術驅動智能應用井噴&#xff0c;智能算力增速遠超通用算力。IDC預測&#xff0c;未來五年&#xff0c;我國智能算力規模年復合增長率將超50%&#xff0c;開啟數據中心算力新紀元。隨著需求激增&#xff0c;數據中心或智算網絡亟需擴容、增速、減時延&#xff0c;確保網絡穩…

rockylinux 利用nexus 搭建私服yum倉庫

簡單說下為啥弄這個私服&#xff0c;因為自己要學習一些東西&#xff0c;比如新版的k8s等&#xff0c;其中會涉及到一些yum的安裝&#xff0c;為了防止因網絡問題導致yum安裝失敗&#xff0c;和重復下載&#xff0c;所以弄個私服&#xff0c;當然也有為了意外保障的想法&#x…

【實戰JVM】-基礎篇-01-JVM通識-字節碼詳解

【實戰JVM】-基礎篇-01-JVM通識-字節碼詳解-類的聲明周期-加載器 1 初識JVM1.1 什么是JVM1.2 JVM的功能1.2.1 即時編譯 1.3 常見JVM 2 字節碼文件詳解2.1 Java虛擬機的組成2.2 字節碼文件的組成2.2.1 正確打開字節碼文件2.2.2 字節碼組成2.2.3 基礎信息2.2.3.1 魔數2.2.3.1 主副…

【C++】右值引用 移動語義

目錄 前言一、右值引用與移動語義1.1 左值引用和右值引用1.2 右值引用使用場景和意義1.3 右值引用引用左值及其一些更深入的使用場景分析1.3.1 完美轉發 二、新的類功能三、可變參數模板 前言 本篇文章我們繼續來聊聊C11新增的一些語法——右值引用&#xff0c;我們在之前就已…

進程間通信的方式中,socket和消息隊列的區別

進程間通信的方式中&#xff0c;socket和消息隊列的區別 進程間通信方式中&#xff0c;socket和消息隊列的主要區別在于通信的方式和跨機通信的能力。 socket是通過網絡傳輸的方式來實現進程間通信&#xff0c;并且可以跨主機&#xff1b;而消息隊列是通過內核提供的緩沖區進…

Flutter 中的 AbsorbPointer 小部件:全面指南

Flutter 中的 AbsorbPointer 小部件&#xff1a;全面指南 在Flutter中&#xff0c;AbsorbPointer是一個特殊的小部件&#xff0c;用于吸收&#xff08;或“吞噬”&#xff09;所有傳遞到其子組件的指針事件&#xff08;如觸摸或鼠標點擊&#xff09;。這在某些情況下非常有用&…

民國漫畫雜志《時代漫畫》第22期.PDF

時代漫畫22.PDF: https://url03.ctfile.com/f/1779803-1248634856-2c7010?p9586 (訪問密碼: 9586) 《時代漫畫》的雜志在1934年誕生了&#xff0c;截止1937年6月戰爭來臨被迫停刊共發行了39期。 ps: 資源來源網絡!

Typescript高級: 深入理解Extract類型

概述 在TypeScript這一逐漸成為前端開發首選的靜態類型檢查語言中&#xff0c;類型系統提供了豐富的工具來幫助開發者編寫更加健壯和可維護的代碼。其中&#xff0c;Extract<T, U>是一個強大的內置實用類型&#xff0c;用于從一個聯合類型T中提取出屬于另一個類型U的那些…

AIGC 006-textual-inversion使用文本反轉實現個性化文本到圖像生成!

AIGC 006-textual-inversion使用文本反轉實現個性化文本到圖像生成&#xff01; 文章目錄 0 論文工作1 論文方法2 效果 0 論文工作 這篇論文 (An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion) 提出了一種新穎的技術&#xff0c…