1. CPU相关代码1.1. AdvancedVectorExtensions1.1.1. AVX1.1.2. 2013年,Intel为Haswell以及之后的芯片引入了AVX21.1.3. 2016年,Intel又引入了AVX-512指令1.1.4. JDK8不支持这些指令1.1.5. JDK11支持1.2. -XX:UseAVX=N1.2.1. 01.2.1.1. 不使用AVX指令1.2.2. 11.2.2.1. 使用IntelAVX1指令(对于SandyBridge和之后的处理器)1.2.3. 21.2.3.1. 使用IntelAVX2指令(对于Haswell和之后的处理器)1.2.4.
1. CPU相关代码1.1. AdvancedVectorExtensions1.1.1. AVX1.1.2. 2013年,Intel为Haswell以及之后的芯片引入了AVX21.1.3. 2016年,Intel又引入了AVX-512指令1.1.4. JDK8不支持这些指令1.1.5. JDK11支持1.2. -XX:UseAVX=N1.2.1. 01.2.1.1. 不使用AVX指令1.2.2. 11.2.2.1. 使用IntelAVX1指令(对于SandyBridge和之后的处理器)1.2.3. 21.2.3.1. 使用IntelAVX2指令(对于Haswell和之后的处理器)1.2.4.
1. 缓冲I/O1.1. 对于文件和套接字,压缩和字符串编码的操作,必须适当地对I/O进行缓冲1.1.1. 两个流操作的是字节块(来自缓冲流)而不是一系列的单字节(来自ObjectOutputStream),它们会运行得更好1.2. InputStream.read()1.3. OutputStream.write()1.4. 操作的是单个字符1.5. FileInputStream.read()1.6. FileInputStream.write()1.7. 慢1.8. 二进制数据的文件I/O1.8.1. BufferedInputStream或BufferedOutputStream来包装
1. 缓冲I/O1.1. 对于文件和套接字,压缩和字符串编码的操作,必须适当地对I/O进行缓冲1.1.1. 两个流操作的是字节块(来自缓冲流)而不是一系列的单字节(来自ObjectOutputStream),它们会运行得更好1.2. InputStream.read()1.3. OutputStream.write()1.4. 操作的是单个字符1.5. FileInputStream.read()1.6. FileInputStream.write()1.7. 慢1.8. 二进制数据的文件I/O1.8.1. BufferedInputStream或BufferedOutputStream来包装
1. 压缩字符串1.1. Java61.2. 实验性1.3. compressedstring2. 字符串2.1. Java82.2. 所有都会编码为16位字符数组3. 紧凑字符串3.1. Java113.2. compactstring3.3. 8位字节数组3.3.1. 节约大量内存3.4. -XX:+CompactStrings标志控制的3.4.1. 默认是true3.5. 很成熟且性能良好3.6. 例外是应用程序中所有的字符串都需要16位编码3.6.1. 在紧凑字符串中对这些字符串进行操作的时间可能会稍长一些4. 删除重复字符串4.1. G1GC执行自动去重4.1.1. 让JVM找到重复
1. 压缩字符串1.1. Java61.2. 实验性1.3. compressedstring2. 字符串2.1. Java82.2. 所有都会编码为16位字符数组3. 紧凑字符串3.1. Java113.2. compactstring3.3. 8位字节数组3.3.1. 节约大量内存3.4. -XX:+CompactStrings标志控制的3.4.1. 默认是true3.5. 很成熟且性能良好3.6. 例外是应用程序中所有的字符串都需要16位编码3.6.1. 在紧凑字符串中对这些字符串进行操作的时间可能会稍长一些4. 删除重复字符串4.1. G1GC执行自动去重4.1.1. 让JVM找到重复
1. 通用规则1.1. 不要假设问题出在堆空间1.2. 谨慎地创建对象并尽快丢弃它们1.3. 使用更少的内存是提高垃圾回收器效率最好的办法1.3.1. 减少内存使用是一个重要的目标1.3.2. 和大多数性能优化主题一样,将精力集中于最大化利用现有内存会更有帮助1.4. 对象重用方式1.4.1. 线程局部变量1.4.2. 特殊对象引用1.4.3. 对象池1.5. 重用对象意味着它们将长期存在并会影响垃圾回收器1.5.1. 当它们被合理地重用时,整体性能将得到提升2. 堆直方图2.1. heaphistogram2.2. 快速查看应用程序中对象数量的方法,不需要生成完整堆转储2.3. 用于识别由于
1. 通用规则1.1. 不要假设问题出在堆空间1.2. 谨慎地创建对象并尽快丢弃它们1.3. 使用更少的内存是提高垃圾回收器效率最好的办法1.3.1. 减少内存使用是一个重要的目标1.3.2. 和大多数性能优化主题一样,将精力集中于最大化利用现有内存会更有帮助1.4. 对象重用方式1.4.1. 线程局部变量1.4.2. 特殊对象引用1.4.3. 对象池1.5. 重用对象意味着它们将长期存在并会影响垃圾回收器1.5.1. 当它们被合理地重用时,整体性能将得到提升2. 堆直方图2.1. heaphistogram2.2. 快速查看应用程序中对象数量的方法,不需要生成完整堆转储2.3. 用于识别由于
摘要:详细讲解DeepWalk,通过随机游走的方式对网络化数据做一个表示学习,它是图神经网络的开山之作,借鉴了Word2vec的思想。本文分享自华为云社区《[论文阅读](25)向量表征经典之DeepWalk:从Word2vec到DeepWalk,再到Asm2vec和Log2vec》,作者:eastmount。一.图神经网络发展历程在介绍向量表征之前,作者先结合清华大学唐杰老师的分享,带大家看看图神经网络的发展历程,这其中也见证了向量表征的发展历程,包括从Word2vec到Deepwalk发展的缘由。图神经网络的发展历程如下图所示:(1)Hinton早期(1986年)图神经网络最早也不是这样的,
摘要:详细讲解DeepWalk,通过随机游走的方式对网络化数据做一个表示学习,它是图神经网络的开山之作,借鉴了Word2vec的思想。本文分享自华为云社区《[论文阅读](25)向量表征经典之DeepWalk:从Word2vec到DeepWalk,再到Asm2vec和Log2vec》,作者:eastmount。一.图神经网络发展历程在介绍向量表征之前,作者先结合清华大学唐杰老师的分享,带大家看看图神经网络的发展历程,这其中也见证了向量表征的发展历程,包括从Word2vec到Deepwalk发展的缘由。图神经网络的发展历程如下图所示:(1)Hinton早期(1986年)图神经网络最早也不是这样的,