草庐IT

读Java性能权威指南(第2版)笔记09_即时编译器下

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.

读Java性能权威指南(第2版)笔记09_即时编译器下

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.

读Java性能权威指南(第2版)笔记03_ Java SE API技巧中

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来包装

读Java性能权威指南(第2版)笔记03_ Java SE API技巧中

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来包装

读Java性能权威指南(第2版)笔记02_ Java SE API技巧上

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找到重复

读Java性能权威指南(第2版)笔记02_ Java SE API技巧上

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找到重复

读Java性能权威指南(第2版)笔记11_堆内存上

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. 用于识别由于

读Java性能权威指南(第2版)笔记11_堆内存上

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

摘要:详细讲解DeepWalk,通过随机游走的方式对网络化数据做一个表示学习,它是图神经网络的开山之作,借鉴了Word2vec的思想。本文分享自华为云社区《[论文阅读](25)向量表征经典之DeepWalk:从Word2vec到DeepWalk,再到Asm2vec和Log2vec》,作者:eastmount。一.图神经网络发展历程在介绍向量表征之前,作者先结合清华大学唐杰老师的分享,带大家看看图神经网络的发展历程,这其中也见证了向量表征的发展历程,包括从Word2vec到Deepwalk发展的缘由。图神经网络的发展历程如下图所示:(1)Hinton早期(1986年)图神经网络最早也不是这样的,

【带你读论文】向量表征经典之DeepWalk

摘要:详细讲解DeepWalk,通过随机游走的方式对网络化数据做一个表示学习,它是图神经网络的开山之作,借鉴了Word2vec的思想。本文分享自华为云社区《[论文阅读](25)向量表征经典之DeepWalk:从Word2vec到DeepWalk,再到Asm2vec和Log2vec》,作者:eastmount。一.图神经网络发展历程在介绍向量表征之前,作者先结合清华大学唐杰老师的分享,带大家看看图神经网络的发展历程,这其中也见证了向量表征的发展历程,包括从Word2vec到Deepwalk发展的缘由。图神经网络的发展历程如下图所示:(1)Hinton早期(1986年)图神经网络最早也不是这样的,