reflection怎么记忆
要记忆reflection,可以采取以下方法:
1. 理解概念:确保你理解reflection的含义和作用,它是指在程序运行时检查、修改和调用其自身的结构和行为。
2. 实践应用:通过编写代码来使用reflection,例如使用Java的反射API来获取类的信息、调用方法等。
3. 创造关联:将reflection与实际问题和场景联系起来,例如想象一个需要在运行时动态加载类的情况,这时reflection就会派上用场。
4. 多次重复:通过反复使用reflection,将其应用到不同的项目和情境中,以加深记忆和理解。
5. 查阅资料:阅读相关的书籍、教程和文档,了解更多关于reflection的知识和用法,以便更好地记忆和应用。
reflection [rɪˈflekʃn]
n. 映像,映照出的影像;反射;反映,显示;深思,沉思;描述
词根记忆:re-反+flect-弯曲返回+-ion名词后缀→反射,反映
短语搭配:make an reflection of…思考……
答:reflection可以采用联想的记忆方式。refle是阅读的意思,可以想象成一个人在阅读,tion是一个后缀名,所以reflection可以这样采用联想记忆法。
jmap与jstack的区别
jmap和jstack都是Java虚拟机(JVM)提供的用于诊断和排查问题的工具,二者的主要区别如下:
1.应用场景
jmap: jmap主要用于分析JVM内存使用情况,可以生成Heap Dump文件,查看各个对象的占用空间以及内存泄漏等,对于分析内存泄漏问题非常有用。
jstack:jstack主要用于分析线程状态,可以用于定位死锁、死循环、等待情况等,并显示线程的堆栈信息,对于分析线程问题非常有用。
2.输出内容
jmap:jmap工具可以在控制台或文件中生成Heap Dump文件,它会输出一份jvm内存使用情况的快照,包括jvm启动参数、内存总量、已用内存、垃圾回收器类型和配置信息,以及各个对象的占用空间和数量等。
jstack:jstack工具可以在控制台或文件中输出代表线程状态的文本,包括各个线程的状态、调用栈、锁信息等。
3.使用方式
jmap:使用jmap需要输入命令“jmap -dump:format=b,file=heap.bin [pid]”,其中pid是指目标Java进程的ID,该命令会生成名为heap.bin的Heap Dump文件。
jstack:使用jstack需要输入命令“jstack [pid]”,其中pid是指目标Java进程的ID,该命令会输出目标进程的线程状态信息。
综上所述,jmap主要用于分析内存使用情况,可以生成Heap Dump文件,而jstack主要用于分析线程状态,可以输出线程的堆栈信息。两者的使用场景和输出内容不同,但它们都是非常重要和有价值的工具,可以帮助开发人员快速定位和解决问题。
两个工具的区别在于jstack是用于调试线程间的关系,解决阻塞,锁等问题
而jmap用于输出对象,适用于解决对象内存溢出等问题
如果想要监控整体的class情况、gc情况,可以考虑使用jstat命令