Mockito,mockito

我是一名大一学生 , 自学了springboot并搭建了微服务 , 现在我打算先从底层学起 , 应该学什么比较好?

Mockito,mockito


能在大一就可以搭建起SpringBoot , 那说明你还是具有一定的编程基础的 。题主所说的想从底层学起 , 说明题主可能只是按照SpringBoot教程跑通了简单的SpringBoot Demo , 这离成为一名优秀的Java工程师还有很长的一段距离 。那要想成为一名优秀的Java工程师 , 我们还需要学习那些”底层“知识呢?1、工具工具分为两个部分 , 开发工具和项目构建工具 。
开发工具IDE帮助我们编译、运行、调试、分析、测试代码等等 , 我比较喜欢IntelliJ IDEA 。构建工具用来构建和部署项目 , 例如maven、gradle和ant 。Ant已经没落了 , 很少有java项目中使用 , Maven使用的比较多 , 但是Maven基于xml语法比较死板 , 我比较喜欢gradle , 推荐大家使用gradle 。
2、JDK APIJDK API对于开发人员来说非常重要 , 这是很大的一部分内容 。包括Java Collections框架 , Java Concurrency , Java IO和Java 8 API等核心领域 。2.1 Java集合框架这是每个Java开发人员都应该学习的最重要的Java API之一 。该API提供了Java中标准数据结构的实现 , 例如链表 , 集合 , 堆栈 , 队列 , 哈希表 , 优先级队列等 。
【Mockito,mockito】我们对于ArrayList、HashMap、HashSet、LinkedHashSet、TreeSet等框架必须要精通掌握 , 并知道它们的内部实现逻辑 。例如 ,  ArrayList是一个可以增长的动态数组 , HashMap 是哈希表的标准实现 , 可以用于存储键值对 。同样 , HashSet是一个不允许重复元素的set实现 。
2.2 java并发多线程和并发是一个合格的java工程师必须掌握的 。我们不仅应该深入了解诸如Thread、Runnable对象锁定和同步之类的基本概念 , 而且还应该熟悉诸如死锁 , 乐观锁 , condition以及如何使用它们 。同时也应该了解像Java5中及以后的版本 , 例如CyclicBarrier、CountDownLatch、Phaser、CompleteableFuture、Futures等等特性以及如何在Java中执行异步操作 。
2.3 Java ioJava IO 和NIO API平常开发可能用的比较少 , 但是对于File、InputStream、OutputStream、Reader以及Writer这些核心API我们要精通掌握 。同时如果我们需要编写一个基于套接字的的程序 , 对于ByteBuffer、FileChannel、Selector也必须掌握 。
2.4 Java 8新特性Java8 改变了我们以往的编码和编码方式 , 以前需要写10行代码才能完成的功能 , 现在可能只需要几行 。Lambda表达式、Stream API、Optional类和新的DateTime API , 这些我们都应该熟练掌握 。3、框架Java生态中有丰富的框架可以供开发者使用 。对于主流的框架我们要有一定的了解 。
例如:Spring、SpringMVC、SpringBoot、Hibernate、Log4j、Mybatis、JUnit等 。3.1 Spring Framework如果您想成为优秀的Java开发人员 , 强烈建议首先学习Spring Framework 。这是最流行的Java框架之一 。Spring Framework使开发人员能够编写干净的代码 , 通过依赖注入和控制反转等功能可以更轻松地测试和维护代码 。
它还具有用于大多数日常任务的丰富API 。3.2 Mybatis早期ORM框架比较火的是Hibernate 。但是Hibernate限制太多 , 特别是在复杂业务场景下无能为力 。Mybatis是目前最流行的ORM框架 。支持灵活的sql、存储过程以及高级映射 。MyBatis 可以使用简单的XML或注解来配置和映射原生类型、接口和 Java 的 POJO为数据库中的记录 。

推荐阅读