JavaRush /Java 博客 /Random-ZH /喝咖啡休息#42。如果您不知道某事该怎么办。实现最大生产力的 5 个最佳 Java 库

喝咖啡休息#42。如果您不知道某事该怎么办。实现最大生产力的 5 个最佳 Java 库

已在 Random-ZH 群组中发布

如果您不知道某事该怎么办

来源:Dev.to 如果您是一名开发人员,迟早可能会出现您不知道如何解决问题的情况。在你职业生涯的任何阶段,这都是一个非常不愉快的时刻。毕竟,尽管你什么都不知道,但你仍然必须完成任务。在这篇文章中,我将分享我的个人经验,并告诉您什么将有助于找到此类问题的解决方案。喝咖啡休息#42。 如果您不知道某事该怎么办。 实现最佳性能的 5 个最佳 Java 库 - 1

问问题

当我还是个初学者时,我害怕提问,直到最后一刻我试图自己解决所有问题。我会花费大量时间来解决问题并保持沉默,直到最终不得不与我的老板或客户交谈。我明白我为什么要做我所做的事情。我避免提问,因为我不想在别人面前显得愚蠢。在我看来,除了我之外,其他人都很快抓住了本质,明白了它的意思。多亏了同事们的帮助,我终于开始放下自尊,有不懂的地方就去问。

Google 和 YouTube 是您最好的朋友

我曾经看过一个视频,展示谷歌如何回答荒谬或有趣的问题。尽管答案也很有趣,但我意识到如果出现任何问题,谷歌绝对可以提供帮助。因此,如果您陷入了困境,请不要忘记通过这个搜索引擎寻找答案。YouTube 在解决问题方面也帮了我很多。特别是在需要更深入地了解该主题的情况下。然后我一直在寻找热门视频。

多一双眼睛不会有什么坏处

如果您无法解决问题,请不要让愤怒和沮丧吞噬您。这种情况的一个明显例子是您需要维护过时的代码库,由于缺乏文档,您必须进行逆向工程。当然,这需要付出很大的努力。您必须深入研究代码库,了解以前开发人员的风格。在这种情况下,强烈建议您以外的人检查代码。对方可能会指出你错过或不明白的事情。这样就可以加快解决问题的速度。

如果你被某件事困住了,不要责怪自己。

我想特别注意这一点。如果你被困在某个地方,不要对自己生气。是的,当你无法解决问题时,那不是很愉快。冒名顶替综合症可能会恶化,您可能会觉得自己一无是处,并对自己是一名优秀的开发人员失去信心。我确信,如果一个人在工作中从来没有被什么事情卡住过,那只是因为他在自己的舒适区里行动,没有超出他惯常的行动。为了应对意外情况做好准备,请与能够推动您提高专业水平的人进行沟通。如果您遇到没有准备好的事情,请不要沮丧。这些案例有助于发现知识差距并相应地填补它们。

休息一下

这可能看起来效率不高,但当你正在做一些大而复杂的事情时,短暂的休息对于缓解压力有很大帮助。步行 15 分钟、与人交谈、锻炼身体,甚至小憩一下。休息有助于提神,此外,大脑一直在工作,在潜意识层面的某个地方它解决了手头的任务。因此,您可能会在喝咖啡的同时突然灵光一现。

结论

解决问题时要做的第一件事就是列出你知道的和不知道的清单。此后,您应该向分配您此任务的人提出澄清问题。也许在这个阶段,事情会变得更加清晰,你将能够从“我不知道”类别中删除一些问题。您应该自己在 Google 或 YouTube 上搜索其他问题的答案。给自己一些时间去寻找。如果您无法自行解决问题,请毫不犹豫地向同事寻求帮助。

实现最大生产力的 5 个最佳 Java 库

来源:Medium 您可能曾经用 Java 编写过代码并想:“一定有更好的方法......”。Java 库可以帮助解决此类问题。我提请您注意我认为最好的五个图书馆,使用它们将提高您的生产力和工作效率。喝咖啡休息#42。 如果您不知道某事该怎么办。 实现最佳性能的 5 个最佳 Java 库 - 2

1. 龙目岛

Project Lombok是一个使用注释来减少样板代码的 Java 库。可以使用@Getter等注解自动生成getField()方法。以下是一些支持的注释:
  • @Getter 和 @Setter,生成 getter 和 setter;
  • @EqualsAndHashCode 自动生成符合EqualsHashCode契约的EqualsHashCode方法;
  • @ToString 生成一个遵循格式ClassName(fieldName = value, fieldName2 = value...)的toString()方法;
  • @Builder 自动实现构建器模式,使创建 POJO 变得更容易;
  • @Data 是 @Getter、@Setter、@EqualsAndHashCode、@ToString 和 @RequiredArgsConstructor 的简写!
还有更多受支持且易于自定义的注释。使用它们将使您免于编写样板代码。

2.番石榴

Guava是一个由 Google 创建和维护的 Java 库。它包含许多广泛用于处理代码的实用程序。以下是 Guava 的一些功能:
  • 集合扩展,例如 Multimap<k, v="">,其中 Map 支持给定键的多个值,相当于具有更干净 API 的 Map <k, collection="" <v="">> ;</k,></k,>
  • Graphs 包,其中包括许多用于对图形数据进行建模的实用程序;
  • 并发实用程序,例如 MoreExecutors、Atomics 和 ListenableFuture。
Guava 库中有很多东西可以找到。Google 的支持使其非常受欢迎,因此您可以放心,他们的 API 都经过了彻底的测试和支持。如果您需要解决任何常见的 Java 问题,Guava 一定能找到解决方案!

3.休眠

Hibernate是一个对象关系映射库,允许您与数据库交互,而不必担心 SQL 表和 POJO 之间的转换。Hibernate 网站提供了有关该库的以下信息: “使用 Hibernate,您可以根据自然的面向对象原则创建长期存在的类,包括继承、多态性、关联、组合和 Java 集合。Hibernate 不需要长寿命类的接口或基类,并允许任何类或数据结构持久化。” 使用 Hibernate 改进持久数据存储并消除数千行数据库代码。

4. 佯装

OpenFeign是 Netflix 的一个库,可以轻松地用 Java 创建 RESTful HTTP 客户端。要创建 Feign 客户端,您只需用请求和响应详细信息描述接口即可。最好用一个例子来说明这一点:
@FeignClient(url = "https://github.com")
interface GitHubClient {
    @RequestLine("GET /users/{username}/repos?sort=full_name")
    List<repository> repos(@Param("username") String owner);

    @RequestLine("GET /repos/{owner}/{repo}/contributors")
    List<contributor> contributors(@Param("owner") String owner, @Param("repo") String repo);

    @RequestLine("POST /repos/{owner}/{repo}/issues")
    void createIssue(Issue issue, @Param("owner") String owner, @Param("repo") String repo);
}
</contributor></repository>
上面提到的 GitHubClient 接口将执行方法中描述的 GET 和 POST 请求。该客户端将默认对所有请求使用 JSON 格式。Feign客户端有很多设置:
  • 编码器和解码器,用于选择 POJO 如何通过网络进行序列化和反序列化;
  • Retryers 指定重试规则和逻辑;
  • RequestInterceptors 用于其他预请求任务,例如接收 cookie 或授权。
使用 Feign,您可以无需手动编写 HTTP 客户端!注意:如果您使用 Spring,则应该使用Spring Cloud OpenFeign,它与 Spring 的集成比 OpenFeign 本身更好。

5. 春季启动

最后但并非最不重要的一点是,该库是Spring Boot。Spring Boot 简化了创建生产就绪的 Java 应用程序的过程。它允许:
  • 创建独立的 Spring 应用程序;
  • 直接嵌入Tomcat、Jetty或Undertow(无需部署WAR文件);
  • 提供“入门”依赖项以简化构建配置;
  • 自动配置Spring和第三方库;
  • 提供开箱即用的功能,例如指标、运行状况检查和外部配置。
使用 Spring Boot 有一个重要的学习曲线,但我向您保证这是值得的。Spring Boot 减少了我所有项目的开发时间,并因其稳定性、可扩展性和可读性而继续带来好处。

结论

尽管 Java 被许多人认为是一种“古老”语言,缺乏新语言的一些功能,但它以大量库和庞大的开发人员社区的形式提供了独特的支持。因此,您在工作中遇到的问题将会显着减少。使用 Java 库可以提高您的工作效率。不要重新发明轮子——专注于核心能力!
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION