- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 10.2 线程安全
线程安全 “Behaves correctly” 不违反spec、保持RI “Regardless of how threads are executed” 与多少处理器、OS如何调度线程均无关 “Without additional coordination” 不需要在spec中强制要求client满足某种“线程安全”的义务 例如:Iterator是线程不安全的 一、Strategy 1: C...
2019-05-28 00:32:03 989
原创 吐血总结 | IDEA/eclipse常见报错及解决方案
1.Checkstyle execution failed due to an internal error. Please check the error log for details…(无法使用checkstyle) 未解决 2.把eclipse的项目导入IDEA中,报错如下: 主要原因是: Eclipse可以自动把UTF-8+BOM文件转为普通的UTF-8文件,但IDEA需要重新转一下...
2019-05-24 09:48:58 2446
原创 8.5 面向性能优化的代码调优(主要是几种设计模式)
1.单例模式 -设置静态变量来存储 -单一实例对象 -将构造器设置为 private ,从而 client 无法 new -在构造器中 new 新实例 -提供静态方法来获取单一实例对象 2.轻量模式 优点:考虑文本编辑器中的“字符”,同一字符出现很多次,只是字号,颜色不同。 分为内部状态和外部状态,内部特征都不变,外部特征不是固定的,需要在不同场合context分别指派/计算其值。 ...
2019-05-20 08:57:48 1106
原创 8.4 动态性能分析方法与工具
1.分析方法 采样 借助JVM虚拟机获取程序性能数据 代码插入或代码注入 System.out.println(System.getCurrentTimeMillis());//在源代码中注入 2.程序分析工具 Jstate 获取 JVM 的 heap 使用和 GC 的性能统计数据 jmap 输出内存中的对象分布情况 jhat 导出 heap dump ,浏览 / 查询其中的对象分布情况...
2019-05-15 20:30:53 963
原创 8.3 I/O 与算法性能
1.缓冲区(Buffers) 缓冲区可以实现: 在硬件中的固定内存位置 在软件中使用虚拟数据缓冲区, 指向物理内存中的某个位置。 在所有情况下,存储在数据缓冲区中的数据都存储在物理存储介质上。 2.(扩展)decarator设计模式 参考链接:https://www.cnblogs.com/mercuryli/p/5284248.html UML类图如下: ...
2019-05-15 20:20:00 873
原创 8.2 内存性能与垃圾回收
1.必考知识点 Code snapshot diagram(代码快照图) 2.复习一下CSAPP:栈是存储方法调用以及方法执行中的局部数据 基于栈的动态内存管理 i 主函数里的变量 j 主函数里的变量 k foo方法里的局部变量 param foo函数的参数 reff 主函数里的变量 3.基于堆的动态内存管理 reff 主函数里的变量 str f...
2019-05-13 21:12:26 1064
原创 (软件构造)8.1 软件构造性能指标
1.时间性能 每条指令、每个控制结构、整个程序的执行时间 不同语句或控制结构执行时间的分布情况 2.空间性能 3.获取内存消耗 // 获取java的运行时间 Runtime runtime = Runtime.getRuntime(); // 运行垃圾收集器 runtime.gc(); // 计算已经使用了的内存 long memory = runtime.totalMemory() - ru...
2019-05-13 20:19:35 984
《深入理解计算机系统(原书第3版)》课后习题答案,机械工业出版社出版Randal E.Bryant、David R.O’Hallaron
2018-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人