开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
Computer Science
Computer Science

IntelliJ 的搜索和全局搜索怎么用

要在 IntelliJ 中进行搜索,我们最常想到的就是 Ctrl + F。 其实这个快捷键在 IntelliJ 中是在当前打开的文本中进行搜索,如果我们希望进行全局搜索应该怎么用呢?文档其实都很多,但是真正能够说明白的其实不是非常多。 双击 shift 单击 shift 2 次,你将会看到打开的搜索界面。 如果你尝试搜索文字的时候,你可能会发现,如果你需要的内容在代码里面,这个搜索没有任何显示结果。 你只需要注意: 双击 Shift 的搜索界面只会搜索名字。这个名字包括有文件名,操作的名字等。 如果你有字符串在文件内,这个搜索是搜不到。但是非常好用的是,你可以用这个搜索来搜索 IntelliJ 的快捷键。 例如,你可以输入 push 然后搜索, 你可以看到界面中会显示 push 的快捷键。 Ctrl + Shift + F 这个就是我们常用的全文搜索了。 例如,你有一个 Spring 的项目,你希望在项目中找到所有 @SpringBootApplication 的文件。 这个就是等于在项目的所有文件中搜索文件中的内容,找到符合的文字。 你可以对搜索的内容有些过滤,比如说只搜索特定的文件扩展名等。 这个就是全文搜索了。 请注意不要和双击 Shift 混淆了,搜索的内容不一样。 这个是我们在使用 IntelliJ 中比较容易搞乱的地方。 Ctrl + F 这个就非常简单了, 只是在文件中进行搜索,查找等。 这个只针对你当前打开的文件有效。 这个将会在当前打开的文件编辑器上面进行显示。 如何显示全文查找对话框 如果你不知道全文查找对话框的快捷键是 Ctrl + Shift + F。 你可以有下面 2 种办法打开这个对话框或者找到显示这个对话框的快捷键。 双击 Shift 后输入查找字符 Find In Path 这个就会告诉哦你全文查找对话框显示的快捷键。 从菜单进入 你也可以从菜单中选择通过下面的路径进入打开全文查找对话框。 选择 Edit > Find > Find In Path   https://www.cwiki.us/questions/57934421

2020年03月01日 0Comments 830Browse 0Like Read more
Computer Science

Spring Data 的 Pivotal GemFire 参考指南前言

Spring Data 针对 Pivotal GemFire 关注整合强大的 Spring 框架的能力,无创编程模型和使用 Pivotal GemFire 数据管理方案的 GemFire 的概念来集成和简化配置,开发 Java 应用程序。 本文档假定你已经对 Spring Framework 和 Pivotal GemFire 的概念有了些基本的了解。 我们将会尽力保证这个文档的完整和正确。但是还会有一些主题和概念可能需要更进一步的解释和说明(例如,使用 HA 分区的数据分布管理平台依然会妨碍数据完整性)。 另外本文档中可能还会有一些排版的错误。如果你发现本文档中的一些错误甚至是一些更加严重的问,请告诉 Spring Data 项目组。你可以通过在 Spring Data JIRA 中来创建问题让项目组了解到。 https://www.cwiki.us/display/SpringDataZH/Spring+Data+for+Pivotal+GemFire+Reference+Guide

2020年03月01日 0Comments 810Browse 0Like Read more
Computer Science

IntelliJ 如何找到项目中 Deprecated 的方法

在一个项目中,如果我们标记了某些元素为 Deprecated 的话,如何让我们能够快速找到? 简单来说,你可以对项目进行 Code Inspection。 选择 Analyze > Inspect Code 在弹出的对话框中,对整个项目进行代码分析。 在分析的结果中,你就可以看到那些类,或者方法,或者字段被 Deprecated  了。   https://www.cwiki.us/questions/57934341

2020年02月27日 0Comments 995Browse 0Like Read more
Computer Science

Java @Deprecated Annotation(注解)

在本部分的快速指南中,我们将会查看 Java 的 deprecated API 和如何在程序中使用 @Deprecated 注解。 @Deprecated Annotation(注解) 作为程序的进化和迭代,随着时间的推移,在项目中总会有些类,构造方法,字段,类型或者方法不建议人们继续继续使用。 为了避免程序向后兼容的问题,而导致程序或者 API 不能使用,我们将会对不再使用的元素使用 @Deprecate 注解来声明。 @Deprecated 主要目的是告诉其他的开发者标记的元素不要在程序中继续使用了。 同时我们还建议在 @Deprecated 注解后面添加一些说明的文本来解释如果希望程序或者 API 具有相同的功能应该使用何种其他的方法。 SRC https://github.com/cwiki-us-demo/java-tutorials/blob/master/core-java-modules/core-java-annotations/src/main/java/com/ossez/annotations/ClassWithDeprecatedMethod.java package com.ossez.annotations; public class ClassWithDeprecatedMethod { /** * Calculate period between versions * * @deprecated * * This method is no longer acceptable to compute time between versions. * * <p> Use {@link ClassWithDeprecatedMethod#updatedMethod()} instead. */ @Deprecated public static void deprecatedMethod() { } /** * Updated Method instead of deprecatedMethod. */ public static void updatedMethod() { } }   请注意,如果一个 Java  的元素被声明了,但是又在程序或者项目的其他地方被引用的话,编译器将会显示丢弃(deprecated)API 的警告。 在上面的示例代码中,如果 deprecatedMethod 被调用了,只有调用 deprecatedMethod 这个方法显示丢弃的警告。 同时请注意,通过使用 Javadoc @deprecate 标记,我们将会在 Java 文档中也被标记丢弃。 上面的代码,如果在 IDE 中查看文本,将会显示为如下: Java 9 添加的可选属性 针对 Java 9 的 @Deprecated 注解,还添加了 since 和 forRemoval 属性。 since - 接受字符串的输入参数,用于定义我们丢弃的内容从哪个版本开始。默认为空字符串。 forRemoval  - 使用布尔(boolean)类型,用于标记我们丢弃的内容是不是从下一个发行的版本就会被删除。默认为 false。 如下面的代码中对上面属性的定义。需要注意的是,这个功能最低的版本为 Java 9,如果你还在使用 Java 8 的话,是不能被支持的,将会出现编译错误。 /** * Calculate period between versions * * @deprecated * * This method is no longer acceptable to compute time between versions. * * <p> Use {@link ClassWithDeprecatedMethod#updatedMethod()} instead. */ @Deprecated(since = "4.5", forRemoval = true) public static void deprecatedMethod() { }   上面的内容表示的是 deprecatedMethod 方法是从版本 4.5 开始准备丢弃的,同时已经计划在下一个主要的发行版本中完全丢弃删除。 通过添加上面的内容,如果我们现在还在尝试使用这个方法的话,将会通知编译器给我们一个非常强烈的警告。 同时,当前的主流 IDE 工具也能够明显的显示上面强提示。例如在 IntelliJ 中,删除线将会使用一个红色的删除线来替代当前使用的黑色删除线。 结论 在这个快速文章中,我们看到了如何使用 @Deprecated 声明来标记不再使用的元素,以及针对 Java 9 我们可以为其设置一些其他的属性以及这些属性的默认值。 完整的代码,请参考  GitHub 中的项目,可能项目中的源代码和文章中使用的代码有所不同,请以 GitHub 中的代码为主。 代码和内容的完整链接为:https://www.cwiki.us/display/JAVAZH/Java+@Deprecated+Annotation

2020年02月26日 0Comments 1038Browse 0Like Read more
Computer Science

Java 项目编译错误 Error:java: java.lang.ExceptionInInitializer

错误提示信息为: Error:java: java.lang.ExceptionInInitializerError com.sun.tools.javac.code.TypeTags     如果使用 Maven 错误信息是一样的。 [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.449 s [INFO] Finished at: 2020-02-26T08:34:45-05:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project core-java-annotations: Fatal error compiling: java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException     请问这是什么原因呢?   这个可能原因是你编译器的环境使用过高。但是你的依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.6.12</version> <scope>provided</scope> </dependency> 过低导致的。 可以解决的办法是将你的编译 JDK 降到 1.8。 或者将 org.projectlombok 升级到最新的版本。 例如我们在 IntelliJ 中,使用 1.8 编译代码,就没有错误。   https://www.cwiki.us/display/JAVAZH/questions/57934274/answers/57934279

2020年02月26日 0Comments 951Browse 0Like Read more
Computer Science

IntelliJ 更改项目使用的 JDK 版本

在当前使用的 IntelliJ 中的 JDK 版本为 1.8,如何修改 IntelliJ 使用的 JDK 版本为 1.11 呢? 你可以在 IntelliJ 中进行修改。 选择 File 后,然后选择 Project Structure 然后需要在你的项目结构中首先安装不同的 JDK 版本。 选择项目(Project)后选择不同的 JDK 和不同的编译级别。 然后刷新你的项目在进行编译的时候,你会发现你的 IntelliJ 已经使用设置的新 JDK 版本进行编译项目了。   请参考链接有关具体的问答内容:IntelliJ 更改项目使用的 JDK 版本

2020年02月26日 0Comments 808Browse 0Like Read more
Computer Science

Java BigDecimal 如何去掉末尾多余的 0

Java BigDecimal 如何去掉末尾多余的 0 呢?   BigDecimal 原生提供了stripTrailingZeros() 方法可以实现去掉末尾的 0。 如果你在这里直接使用 然后使用 toString() 将会转换为科学计数法输出。 考察下面的代码: 你可以访问 https://github.com/cwiki-us-demo/java-tutorials/blob/master/java-numbers/src/test/java/com/ossez/maths/BigDecimalDemoUnitTest.java 访问源代码。 /** * To StripTrailingZeros */ @Test public void bigDecimalStripTrailingZerosTest() { BigDecimal bigNumber = new BigDecimal("2707000000000"); // apply StripTrailingZeros function logger.info("{}", bigNumber.toString()); logger.info("{}", bigNumber.stripTrailingZeros().toString()); logger.info("{}", bigNumber.stripTrailingZeros().toPlainString()); }   上面的代码将会输出下面的内容: 2020/02/25 14:00:19.271 [main] INFO c.ossez.maths.BigDecimalDemoUnitTest - 2707000000000 2020/02/25 14:00:19.275 [main] INFO c.ossez.maths.BigDecimalDemoUnitTest - 2.707E+12 2020/02/25 14:00:19.275 [main] INFO c.ossez.maths.BigDecimalDemoUnitTest - 2707000000000 stripTrailingZeros(),将会转换为科学计数法输出,如果你不希望用科学计数法输出的话,那么你可以使用 toPlainString() 进行全字符输出。

2020年02月25日 0Comments 959Browse 0Like Read more
Computer Science

Java BigDecimal toString() 的转换和输出

BigDecimal 的 toString() 方法将会把 BigDecimal 通过字符串的方式输出。这个方法将会在必要的时候使用指数进行输出。 具体的转换步骤是按照下面的步骤进行转换的: BigDecimal的非标度值的绝对值用字符'0'到'9',没有被转换为一个字符串基地10零(除非它的值是零,在这种情况下,一个单一的'0'字符被使用)。 接下来,计算调整的指数;这是无效的标度,加上字符的转换的标度值,减1的次数。也就是说,-scale+(ulength-1),其中ulength是十进制数字(其精度)的非标度值的绝对值的长度。 如果该比例大于或等于零,并且调整的指数大于或等于-6,该号码将被转换为字符的形式,而无需使用指数表示法。 在这种情况下,如果该比例是零,则没有小数点被添加和如果规模正小数点将被插入的规模指定的字符数的小数点的右边。 '0'字符添加到转换的非标度值的左侧是必要的。如果前面没有字符,小数点这个插入之后再传统的'0'字符作为前缀。 否则(即,如果该比例是负的,或经调整的指数小于-6),该号码将被采用指数表示法转换为字符形式。在这种情况下,如果转换后的BigInteger有一个以上的位小数点第一位数字后插入。 在字符形式的指数,然后后缀转换非标度值(也许插入小数点);这包含字母“E”后面立刻被调整的指数转换为字符形式。 后者的基数为十,使用字符'0'到'9',没有前导零,并且总是由前缀符号字符' - '(' u002D'),如果调整后的指数为负数,否则为'+'(' u002B')。 ' - '最后,整个字符串由一个减号字符的前缀(' u002D')如果非标度值小于零。如果非标度值为零或正数无符号字符作为前缀。 不使用科学计数法将 BigDecimal 转换为 String SRC 请参考 GitHub 上的源码代码中 bigDecimalWithoutScientificNotationTest():方法 https://github.com/cwiki-us-demo/java-tutorials/blob/master/java-numbers/src/test/java/com/ossez/maths/BigDecimalDemoUnitTest.java /** * To String without ScientificNotation */ @Test public void bigDecimalWithoutScientificNotationTest() { String input = RandomStringUtils.randomNumeric(12) + "12345678901234567" + "8901234567890123" + "4567890123456789" + "0123456789012345" + "6789012345678901" + "2345678901234567" + "8901234567890123" + "4567890123456789" + "0123456789012345" + "6789012345678901" + "2345678901234567" + "8901234567890123" + "4567890123456789" + "0123456789012345" + "6789012345678901" + "2345678901234567" + "8901234567890123" + "4554324324362432" + "7674637264783264" + "7832678463726478" + "3264736274673864" + "7364732463546354" + "6354632564532645" + "6325463546536453" + "6546325463546534" + "6325465345326456" + "4635463263453264"; // Converting to BigDecimal BigDecimal bigNumber = new BigDecimal(input); // Apply toString() method String numberStr = bigNumber.toString(); // Print the result logger.info("{}", numberStr); }     OUTPUT 程序最后的输出如下,将会输出转换后的字符串。 2020/02/25 09:43:29.595 [main] INFO c.ossez.maths.BigDecimalDemoUnitTest - 1503277200971234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234554324324362432767463726478326478326784637264783264736274673864736473246354635463546325645326456325463546536453654632546354653463254653453264564635463263453264 使用科学计数法将 BigDecimal 转换为 String SRC 请参考 GitHub 上的源码代码中 bigDecimalScientificNotation():方法 https://github.com/cwiki-us-demo/java-tutorials/blob/master/java-numbers/src/test/java/com/ossez/maths/BigDecimalDemoUnitTest.java /** * To String with ScientificNotation */ @Test public void bigDecimalScientificNotation() { // Create a BigDecimal object BigDecimal bigNumber; // Create a String object String numberStr; // Set precision to 5 MathContext mc = new MathContext(6); bigNumber = new BigDecimal(RandomStringUtils.randomNumeric(10)+"E5", mc); // apply toString() method logger.info("{}", bigNumber.toString()); logger.info("{}", bigNumber.toEngineeringString()); logger.info("{}", bigNumber.toPlainString()); }   OUTPUT 程序最后的输出如下,将会输出转换后的字符串。 2020/02/25 10:00:50.909 [main] INFO c.ossez.maths.BigDecimalDemoUnitTest - 8.31198E+14 2020/02/25 10:00:50.912 [main] INFO c.ossez.maths.BigDecimalDemoUnitTest - 831.198E+12 2020/02/25 10:00:50.912 [main] INFO c.ossez.maths.BigDecimalDemoUnitTest - 831198000000000 BigDecimal类有3个 toString 方法,分别是 toString()、 toEngineeringString() 、toPlainString(). 从 BigDecimal 的注释中可以看到这3个方法的区别: toString() - 在必要的时候使用科学计数法 toEngineeringString() 在必要的时候使用工程计数法。类似于科学计数法,只不过指数的幂都是3的倍数,这样方便工程上的应用,因为在很多单位转换的时候都是10^3 toPlainString() - 不使用任何科学计数法。 不使用指数 科学计数法 工程计数法 2700 2.7 × 10³ 2.7 × 10³ 27000 2.7 × 10⁴ 27 × 10³ 270000 2.7 ×…

2020年02月25日 0Comments 864Browse 1Like Read more
Computer Science

Java 定义一个日志的时候应该如何定义

在很多情况下,我们都会使用 SLF4J 来定义日志。 那么如何定义一个 Logger 呢?   相信绝大部分人都会定义为: private static final Logger logger = LoggerFactory.getLogger(BigDecimalDemoUnitTest.class); 但是我们为什么要使用 private static final 来进行修饰呢? private - 没有其他类可以劫持你的日志 static - 因为使用了静态,所以每一个类就只有一个日志,同时可以避免尝试序列化日志 final - 在类的生命周期中,不需要修改日志 同时,你可以定义变量 log 来替代 logger,这样能够减少输入的字符数。当然这个也需要根据你的项目要求来定了。 当然还有下面的一种情况,考察日志代码: protected final Logger log = LoggerFactory.getLogger(getClass()); 上面有关日志的定义与我们的规则是完全相反的。 上面的代码允许你在所有具有继承关系的类中使用相同的日志名(与实际的类名相同)。 例如: 如果类 Bar Extends Foo,那么上面 2 个类的日志将会 log 到 Bar logger 中。

2020年02月25日 0Comments 1003Browse 0Like Read more
Computer Science

intellij 提示 java-numbers.iml does not exist 不存在

intellij 提示 java-numbers.iml does not exist Please correct the file content。 如何解决这个问题?   最简单的办法就是删除 .idea 和 target 文件后,重新导入就可以了。 https://www.cwiki.us/questions/57934173/answers/57934176?flashId=-1458442626

2020年02月24日 0Comments 815Browse 0Like Read more
1…154155156157158…237
Archives
  • June 2026
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,367)
    • Confluence (663)
    • Gradle (12)
  • U.S. (514)
  • 文化旅游 (146)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1