2.Smart
Step Into在某些情况下,会在一行源代码上调用多个方法,例如 doJob(getArg1(),getArg2())。如果调用单步执行(F7),则调试器将按照JVM用于评估的顺序进入方法: getArg1 – getArg2 – doJob。
但是,大家可能要跳过所有中间调用,然后直接进入目标方法。聪明的步入行动可以做到这一点。
默认情况下,它绑定到Shift + F7,并且在调用时如下所示:
现在大家可以选择目标方法。另外,请注意,IntelliJ始终将最外面的方法放在列表的顶部。这意味着大家可以通过按Shift + F7 | 输入。
3.Drop Frame大家可能意识到,大家感兴趣的某些处理已经发生(例如,当前方法参数的计算)。在这种情况下,可以丢弃当前的JVM堆栈框架以对其进行重新处理。
请考虑以下情况:
假设大家有兴趣调试getArg1处理,因此大家删除当前帧(doJob方法):
现在大家处于先前的方法中:
但是,此时调用参数已经计算完毕,因此,大家还需要删除当前帧:
现在,大家可以通过调用Step Into重新运行该处理。
4.当前断点有时,非私有字段是由其他类修改的,而不是通过setter修改的,而是直接修改的(第三方库就是这种情况,大家不控制源代码)。
在这种情况下,可能很难理解何时进行修改。IntelliJ允许创建字段级断点来跟踪。
它们像往常一样设置–左键单击字段行上的左侧编辑器装订线。之后,可以打开断点属性(在断点标记上单击鼠标右键)并配置大家是否对字段的读取,写入或两者感兴趣:
5.记录断点有时大家知道应用程序中存在竞争条件,但不知道它到底在哪里。要确定它可能是一个挑战,尤其是在使用新代码时。
大家可以将调试语句添加到程序的源代码中。但是,第三方库没有这种功能。
IDE可以在这里提供帮助- 它允许设置断点,这些断点一旦被击中就不会阻止执行,而是产生日志记录语句。
假设大家有兴趣记录实际的 isInterested 调用的参数。
让大家在目标方法中创建一个非阻塞断点(Shift +左键单击左编辑器装订线)。之后,让大家打开其属性(在断点上单击鼠标右键)并定义要记录的目标表达式:
6.创建标记当应用程序在断点处停止并且可以从堆栈帧访问目标时,可以标记对象。选择它,然后按F11(“ 标记对象”操作)并定义目标名称:
7.结论大家检查了许多在调试多线程应用程序时可以大大提高生产率的技术。这通常是一项艰巨的任务,所以在这里大家不能低估工具帮助的重要性,毕竟不是在写Bug的路上就是在改Bug的路上(手动狗头)。
有哪些被低估未被广泛使用的有用的HTML标签?
以本人多年前端经验,给你分享一下偶的总结。
metadata 类标签
HTML <base> 元素
指定用于一个文档中包含的所有相对 URL 的根 URL。一份中只能有一个 <base> 元素。
包含属性href 和
target 可以指定a 标签的默认窗口打开行为
<base href=”https://www.baidu.com/img/123″ target=”_banlk”></base>
默认就打开新的窗口
<a href=”aaa”>123</a>
使用
<base href=”https://www.baidu.com/img/”></base>
<img src=”bd_logo1.png?where=super”></img>
虽然在codepen 的代码上编写的但是能够正确的通过base url + img 的src 定位显示出图片
content 类标签
HTML <aside> 元素
表示一个和其余页面内容几乎无关的部分,被认为是独立于该内容的一部分并且可以被单独的拆分出来而不会使整体受影响。
Text 类标签
HTML <blockquote> 元素
(或者 HTML 块级引用元素),代表其中的文字是引用内容。通常在渲染时,这部分的内容会有一定的缩进(注 中说明了如何更改)。若引文来源于网络,则可以将原内容的出处 URL 地址设置到 cite 特性上,若要以文本的形式告知读者引文的出处时,可以通过 <cite> 元素。
HTML <figure> 元素
代表一段独立的内容, 经常与说明(caption) <figcaption> 配合使用, 并且作为一个独立的引用单元。当它属于主内容流(main flow)时,它的位置独立于主体。这个标签经常是在主文中引用的图片,插图,表格,代码段等等,当这部分转移到附录中或者其他页面时不会影响到主体。
Inline text semantics
HTML 缩写元素(<abbr>)
用于展示缩写,并且可以通过可选的 title 属性提供完整的描述。
ps: 完整描述样式貌似不能自定义
HTML键盘输入元素(<kbd>)
用于表示用户输入,它将产生一个行内元素,以浏览器的默认monospace字体显示。
HTML标记文本元素(< Mark >)
表示为引用或符号目的而标记或突出显示的文本,这是由于标记的段落在封闭上下文中的相关性或重要性造成的。
ps:项目中大量使用span 标记的做法不符合html5 的语义化
HTML Ruby Base(<rb>)
元素用于分隔<ruby>注释的基本文本组件(即正在注释的文本)。一个<rb>元素应该包装基本文本的每个单独的原子段。
ps: 拼音注解
<samp> 元素
用于标识计算机程序输出,通常使用览器缺省的 monotype 字体(例如 Lucida Console)。
HTML 中的<small>元素
使文本的字体变小一号。(例如从大变成中等,从中等变成小,从小变成超小)。在HTML5中,除了它的样式含义,这个元素被重新定义为表示边注释和附属细则,包括版权和法律文本。
HTML <sub> 元素
定义了一个文本区域,出于排版的原因,与主要的文本相比,应该展示得更低并且更小。
ps: 下脚标
HTML <sup> 元素
定义了一个文本区域,出于排版的原因,与主要的文本相比,应该展示得更高并且更小。
ps: 上脚标
HTML <u> 元素
使文本在其内容的基线下的一行呈现下划线。在HTML5中, 此元素表示具有未标注的文本跨度,显示渲染,非文本注释,例如将文本标记为中文文本中的专有名称(一个正确的中文标记), 或 将文本标记为拼写错误
HTML <map>
与 <area> 属性一起使用来定义一个图像映射(一个可点击的链接区域).
HTML <track> 元素
被当作媒体元素—<audio> 和 <video>的子元素来使用。它允许指定计时字幕(或者基于时间的数据),例如自动处理字幕。
HTML <object> 元素
(或者称作 HTML 嵌入对象元素)表示引入一个外部资源,这个资源可能是一张图片,一个嵌入的浏览上下文,亦或是一个插件所使用的资源
ps: 支持引入的资源类型
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types
关于支持资源类型的测试
http://joliclic.free.fr/html/object-tag/en/index.php
html5中怎么给文字加上划线?
1.首先新建或打开word文档。
2.选中你需要设置下划线的空白处(这里直接打空格,按照你需要的长度打多少都可以),然后点击鼠标右键,选择“字体”。
3.弹出字体设置框后,就可以看到所有文字中有下划线的设置,选择你需要的即可。
4.之后就设置成功。
5.其实还有更简单的方法,可以之间选中需要设置下划线的文字或空格。按键盘Ctrl+u。
6.又或者选中文字后,打开开始菜单,选择字体设置中的“下划线”。
7.再或者选择文字,点击鼠标右键在快捷那里也要“下划线”选择。