首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

干货 | 国外大神总结10个Java编程技巧!

讨论一下… 2 不要相信早期JDK APIs Java刚出现时候,编程一定是件很痛苦事。那时API仍然不够成熟,你可能曾经遇到过这样一段代码: ? 看起来很奇怪对?...也许吧,但是看看这个Javadoc: “如果抽象路径名表示不是一个目录,那么这个方法返回null。否则返回一个字符串数组,其中每个字符串表示当前目录下一个文件或目录。”...3 不要相信“-1” 我知道很偏执,Javadoc中关于 String.indexOf() 早期描述是这样: “字符在字符序列中第一次出现位置将作为结果[被返回],如果字符不存在则返回-1。”...你觉得你写了一个超好API,它真的是既酷炫又直观;接着就出现了一群用户,他们只是把一切类型生搬硬套进 Object 中 直到那该死编译器停止工作,然后他们突然链接到了错误方法,认为这一切都是你错...意味着变量final int j 可以被任何case访问,不论我们是否有break。看起来并不是很直观。

60810

国外大神总结 10 个 Java 编程技巧!

不要相信早期JDK APIs Java刚出现时候,编程一定是件很痛苦事。那时API仍然不够成熟,你可能曾经遇到过这样一段代码: ? 看起来很奇怪对?...也许吧,但是看看这个Javadoc: “如果抽象路径名表示不是一个目录,那么这个方法返回null。否则返回一个字符串数组,其中每个字符串表示当前目录下一个文件或目录。”...不要相信“-1” 我知道很偏执,Javadoc中关于 String.indexOf() 早期描述是这样: “字符在字符序列中第一次出现位置将作为结果[被返回],如果字符不存在则返回-1。”...你觉得你写了一个超好API,它真的是既酷炫又直观;接着就出现了一群用户,他们只是把一切类型生搬硬套进 Object 中 直到那该死编译器停止工作,然后他们突然链接到了错误方法,认为这一切都是你错...意味着变量final int j 可以被任何case访问,不论我们是否有break。看起来并不是很直观。

62620
您找到你想要的搜索结果了吗?
是的
没有找到

国外大神总结 10 个 Java 编程技巧!

…… “任何可能出错事情,最后都会出错。”...不要相信早期JDK APIs Java刚出现时候,编程一定是件很痛苦事。那时API仍然不够成熟,你可能曾经遇到过这样一段代码: ? 看起来很奇怪对?...也许吧,但是看看这个Javadoc: “如果抽象路径名表示不是一个目录,那么这个方法返回null。否则返回一个字符串数组,其中每个字符串表示当前目录下一个文件或目录。”...不要相信“-1” 我知道很偏执,Javadoc中关于 String.indexOf() 早期描述是这样: “字符在字符序列中第一次出现位置将作为结果[被返回],如果字符不存在则返回-1。”...你觉得你写了一个超好API,它真的是既酷炫又直观;接着就出现了一群用户,他们只是把一切类型生搬硬套进 Object 中 直到那该死编译器停止工作,然后他们突然链接到了错误方法,认为这一切都是你

2.2K20

改善Java文档理由、建议和技巧

作,你可能有尊敬同事,你想和那些同事一起喝咖啡聊天。...看到IntelliJ IDEA展示我文档让我有“嘿,看,我就像是专业,我做东西太棒了,我甚至有文档噢”感觉。在某些程度上的确是这样,不是?...对我来说第二个选择是利用Javadoc工具最佳方法,我会讨论这个方法。实际上,使用单一属性特别有用: ? 但你也可以指向其它常量,比如: ?...当然,无法告诉你被更新方法和类,而只会告诉你新添加东西。但是你应该看到,这么简单窍门多有用。...你可以用 @author 来表明你是这个类或者方法作者。我认为把标签既放在类上也放在方法上比较好,因为一个类方法可能不是都是类作者写。 另一个好习惯就是,把一个方法或类所有作者都加上。

44110

改善Java文档理由、建议和技巧

作,你可能有尊敬同事,你想和那些同事一起喝咖啡聊天。...看到IntelliJ IDEA展示我文档让我有“嘿,看,我就像是专业,我做东西太棒了,我甚至有文档噢”感觉。在某些程度上的确是这样,不是?...对我来说第二个选择是利用Javadoc工具最佳方法,我会讨论这个方法。实际上,使用单一属性特别有用: ? 但你也可以指向其它常量,比如: ?...当然,无法告诉你被更新方法和类,而只会告诉你新添加东西。但是你应该看到,这么简单窍门多有用。...你可以用 @author 来表明你是这个类或者方法作者。我认为把标签既放在类上也放在方法上比较好,因为一个类方法可能不是都是类作者写。 另一个好习惯就是,把一个方法或类所有作者都加上。

28310

偏执却管用10条Java编程技巧

只要我们Options是真实存在(Java 8中 Optional是对可以为空对象进行封装),不是?...也许吧,但是看看这个Javadoc: “如果抽象路径名表示不是一个目录,那么这个方法返回null。否则返回一个字符串数组,其中每个字符串表示当前目录下一个文件或目录。”...不要相信“-1” 我知道很偏执,Javadoc中关于 String.indexOf() 早期描述是这样… “字符在字符序列中第一次出现位置将作为结果[被返回],如果字符不存在则返回-1。...即使最优秀程序员也可能犯这种错误(当然,不包括我。看#7)。...你觉得你写了一个超好API,它真的是既酷炫又直观;接着就出现了一群用户,他们只是把一切类型生搬硬套进 Object 中 直到那该死编译器停止工作,然后他们突然链接到了错误方法,认为这一切都是你

74670

房上猫:JavaDoc注释

*/ JavaDoc注释    背景:       javadoc是Sun公司提供一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套API帮助文档。...√ √ 构造函数、 方法 @return 描述 对函数返回值注释 √ √ 方法 @deprecated 过期文本 标识随着程序版本提升,当前API已经过期,仅为了保证兼容性依然存在,以此告之开发者不应再用这个...√ √ 包、类、接口、值域、构造函数、 方法 @throws异常类名 构造函数或方法所会抛出异常。 √ 构造函数、 方法 @exception 异常类名 同@throws。...√ √ 构造函数、 方法 @see 引用 查看相关内容,如类、方法、变量等。 √ √ 包、类、接口、值域、构造函数、 方法 @since 描述文本 API在什么程序什么版本后开发支持。...√ √ 包、类、接口、值域、构造函数、 方法 {@link包.类#成员 标签} 链接到某个特定成员对应文档中。

1K100

用前端原型漏洞污染拿下了服务器

面试官让被面试同学写个对象合并,该同学一听问题,就,就,30s就写好了一份利用递归实现对象合并,代码如下: function merge(target, source) { for (...图1.1 原型关系图 1.2 原型查找机制 当一个变量在调用某方法或属性时,如果当前变量并没有该方法或属性,就会在该变量所在原型中依次向上查找是否存在该方法或属性,如果有则调用,否则返回undefined...问题就来了,__proto__指向原型对象是可读可写,如果通过某些操作(常见于merge,clone等方法),使得黑客可以增、删、改原型方法或属性,那么程序就可能会因原型污染而受到DOS、越权等攻击...2.3 漏洞组合拳,拿下服务器权限 从上面的Demo案例中,你可能会有种错觉:原型漏洞似乎并没有什么太大影响,是不是不需要特别关注(相较于sql注入,xss,csrf等漏洞)。 真的是这样?...在nodejs环境下,可以借助其可调用系统方法代码拼接到该渲染回调函数中,作为函数体传递给回调函数,那么就可以实现远程任意代码执行,也就是上面演示效果,用户可以执行任意系统命令。

3.2K20

前端原型污染漏洞竟可以拿下服务器shell?

面试官让被面试同学写个对象合并,该同学一听问题,就,就,30s就写好了一份利用递归实现对象合并,代码如下: function merge(target, source) { for (...图1.1 原型关系图 1.2 原型查找机制 当一个变量在调用某方法或属性时,如果当前变量并没有该方法或属性,就会在该变量所在原型中依次向上查找是否存在该方法或属性,如果有则调用,否则返回undefined...问题就来了,__proto__指向原型对象是可读可写,如果通过某些操作(常见于merge,clone等方法),使得黑客可以增、删、改原型方法或属性,那么程序就可能会因原型污染而受到DOS、越权等攻击...2.3 漏洞组合拳,拿下服务器权限 从上面的Demo案例中,你可能会有种错觉:原型漏洞似乎并没有什么太大影响,是不是不需要特别关注(相较于sql注入,xss,csrf等漏洞)。 真的是这样?...在nodejs环境下,可以借助其可调用系统方法代码拼接到该渲染回调函数中,作为函数体传递给回调函数,那么就可以实现远程任意代码执行,也就是上面演示效果,用户可以执行任意系统命令。

1K20

外贸建站谷歌SEO和提高转化3个内策略

当一个页面链接到另一个页面时,它会将其某些可信度传递到该页面,增加了第二页排名可能性。这种可信度有时被称为”链接果汁”,听起来很粗俗。大多数搜索优化器都简单地称之为”权重”。...如果是这样的话,多一点权重可能会大有裨长。 链接到这些页面可能会帮助您排名更好。 从第一种类型页面链接到第二种页面简单、自由和快速。它可能会在排名和流量上有所作为。...您首页可能位于顶部,但扫描到内部页面。 看到任何更老,高权重博客文章?这些页面可以传递更多排名潜力。...例如,锚文本链接,说”电缆安装提示”将有助于表明页面是关于电缆安装。以关键字为中心锚文可能比”阅读更多”或”单击此处”更好。 谷歌关心锚文中关键字可能, 是的。...您可能需要发挥创造力,找到使用较长短语作为链接方法。例如:”学习电缆安装安全提示始终很重要。请注意链接中文本如何包含其链接到页面的目标关键词。 7. 找不到在锚文中使用关键字方法

2K00

idea下使用JavaDoc生产帮助文档

但是要注意生成 JavaDoc 源代码对象选择,一般以模块(Module)为主,必要时可以单独选择必要 Java 源代码文件,不推荐以 Project 为 JavaDoc 生成源范围。...里面有一个 Locale 可选填项,表示是需要生成 JavaDoc 以何种语言版本展示,根据 javadoc.exe 帮助说明,其实对应就是 javadoc.exe -locale 参数,...如果不填,默认可能是英文或者是当前操作系统语言,既然是国人,建议在此填写 zh_CN,这样生成 JavaDoc 就是中文版本,当然指的是 JavaDoc 框架中各种通用固定显示区域都是中文。...类引用,是使用全限定名称还是带有超链接短名称,举个例子,我创建了一个方法 public void func(String arg),这个方法在生成 JavaDoc 时如果不指定 -link 参数,...则 JavaDoc 中对该方法表述就会自动变为 public void func(java.lang.String arg),因为 String 这个类对我自己实现类来讲就是外部引用类,虽然它是

93430

Java 注释

(一)注释重要性 编写程序时候,总需要为程序添加一些注释,用以说明某段代码作用,或者说明某个类用途,某个方法工能,以及该方法参数和返回值数据类型以及意义等 程序注释作用非常大...例子如下: /*** * 这是一个注释 * @author alan * @version 1.2 */ 如果编写java源代码过程中添加了文档注释,然后通过JDK提供javac工具可以直接将源代码里文档注释提取程一份系统...description {@docRoot} 指明当前文档根目录路径 Directory Path @exception 标志一个类抛出异常 @exception exception-name explanation...@version 指定类版本 @version info javadoc 输出什么? javadoc 工具将你 Java 程序源代码作为输入,输出一些包含你程序注释HTML文件。...由于 javadoc 实现不同,工作也可能不同,你需要检查你 Java 开发系统版本等细节,选择合适 Javadoc 版本。

1.2K10

javadoc

javadoc是Sun公司提供一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套API帮助文档。...也就是说,只要在编写程序时以一套特定标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序开发文档了。...javadoc命令是用来生成自己API文档,使用方式:使用命令行在目标文件所在目录输入javadoc +文件名.java 标签 说明 JDK 1.1 doclet 标准doclet 标签类型 @author...√ √ 构造函数、 方法 @return 描述 对函数返回值注释 √ √ 方法 @deprecated 过期文本 标识随着程序版本提升,当前API已经过期,仅为了保证兼容性依然存在,以此告之开发者不应再用这个...√ √ 包、类、接口、值域、构造函数、 方法 {@link包.类#成员 标签} 链接到某个特定成员对应文档中。

38830

Android Studio如何查看源码并调试方法步骤

,我都会写个demo,去重现问题,但是现在希望能直接在当前工程快速定位出原因,能够基于源码debug肯定更好了,为了实现这个懒目标,我找了很多办法,下面就一一介绍下 方法一 切换compilesdk...但是我项目已经是28了,降回6.0,必然有很多API无法编译,此路不同 方法二 寻找studio插件 既然studio提供默认方式不行,那我们就找插件来实现呢?...例如.AndroidSourceViewer/cache/android/app/8.0.0_r4-Dialog.java于是我愤怒提了个issue此路再次失败 方法三 修改studio配置,直接链接到对应源码...总结 现在国内网上很多文章,都是复制,我也不知道为啥;像我搜到jdk-table.xml,根本没法用,可能它只是对新项目生效,有可能是studio版本升级导致,总之,这个文章原作者也是很辛苦...另外一点就是,可以看源码还是很爽~ 到此这篇关于Android Studio如何查看源码并调试方法步骤文章就介绍到了,更多相关Android Studio查看源码并调试内容请搜索ZaLou.Cn

1.9K41

职责模式

所谓职责模式,其实在现实中非常常见,比如你要提出一个申请,首先可能通过你组长,你组长没有权力审批时会上报到经理,经理没有权力审批时上报到总监,总监没有没有权力审批时上报到总经理等等,以此类推直到有权力管理者来审批...这种场景我们可以用if-else判断分支来实现,不过记住大量if-else判断分支并不是一个好设计,此时我们可以采用“职责模式”来解决。...所以我们画出职责模式UML类结构图。 ?...同样我们用代码来实现,定义一个Handler抽象类,其中有一个具体方法是设置处理类后继者,这样才能实现当一个具体处理类不能处理该请求时将请求转发给它后继者,还有一个抽象方法是其各个派生类实现自己处理方法...和这个职责模式类似的还有一个东西叫做“处理”,需要导入一个叫做commons-chainjar包,这个也很实用,它用来描述一个顺序处理过程,有兴趣可以看一看。

522100

jdk文件bin目录中各种工具作用(javacjavapjavajarjstatjvadoc等)

总结:使用简单java命令运行一个.class文件,不仅需要使用该类全限定类名,而且需要在当前路径下有该类包层次文件夹。必须要求编译时使用-d选项。否则需要自己来建立包层次文件夹。...通过标准 doclet 提供: doclet可以代替javadoc输出,借由javadoc可以获取源码几乎所有的信息,类名、类变量、类方法方法参数、注解、javadoc注释等都可以获取到,然后根据自己需要把关心信息输出成自定格式...3.简单使用(创建仅显示 public 类和成员Work1.javajavadoc文档,存放在当前目录下Work1_Javadoc目录中) ?    ...1.用法: javap       其中, 可能选项包括:   -help  --help  -?            ...)服务程序,它用于监控基于HotSpotJVM中资源创建及销毁,并且提供了一个远程接口允许远程监控工具连接到本地JVM执行命令。

2.1K20

Javadoc 使用详解

,我们知道注释是为了解释代码作用,是为了将来给自己或者别人快速了解代码,在方法内一般用行注释//比较多,是针对一小块代码做出解释,而Javadoc作用是针对整个方法或者整个类做一个简要概述...写了Javadoc在别人使用到类时,将鼠标悬停到类上或者方法上,javadoc会以提示信息显示出来,这样开发者在跳进源代码中就能知道类或者方法作用。...说到这里可能还是有很多人不能认同这种观点,还是认识不到Javadoc作用。我们看一下Spring框架,随便打开一个文件可以看到一般注释内容都要比代码量多,有的时候注释量占整个文件内容2/3。...一:简介 Javadoc用于描述类或者方法作用。Javadoc可以写在类上面和方法上面。...@link:{@link 包名.类名#方法名(参数类型)} 用于快速链接到相关代码 @link使用语法{@link 包名.类名#方法名(参数类型)},其中当包名在当前类中已经导入了包名可以省略,可以只是一个类名

94420

二十、Hystrix跨线程传递数据解决方案:HystrixRequestContext

但是很显然,Hystrix不可能依赖于阿里巴巴实现(阿里年纪比它还小呢),所以它拥有自己实现方式,核心API为:HystrixRequestContext/HystrixRequestVariableDefault...,请务必确保shutdown()方法也会被调用,否则会造成可能内存泄漏。...有的人会说使用InheritableThreadLocal能解决向子线程传递数据问题,那么问题是如果异步任务交给线程池执行呢?难道你还得借助阿里巴巴TTL来实现?...HystrixRequestContextJavadoc里有说,它还负责一件事:管理着HystrixRequestVariable生命周期(存储和销毁),而一个HystrixRequestVariable...Hystrix隔离方式默认是线程池方式,所以加熔断后是有何能影响你正常逻辑,请务必小心谨慎使用,特别在全路追踪时,很可能某些路就失效了,影响你路压测逻辑…

4.7K52
领券