• 自学 Java 需要具备哪些基本条件或技能?


    新手初学者在自己学习Java时,需要注意两个方面,一个是学习方面,一个是知识点方面!

    学习方面:

    1、做学习计划并保持自律

    在我们学习Java的过程中,尽量减少干扰,把自己的全部注意力集中在Java上。无论你注意力的持续时间是多久,都应该将全部精力放在Java上。

    2、通过编码来学习

    很多新手在学习Java时都会经历一个阶段,那就是看书、看视频,一段时间后感觉自己都会了,但是真的要写代码却怎么都写不出来,这种情况除了多练习!多练习!多练习!以外,没有其他方法了。

    3、手写代码

    在电脑上敲代码也很好,当然不反对这种学习方式。但在我们在手写代码的时候,会激活机械记忆,能帮助你更好地记住东西。此外,在面试中,很多公司的笔试都会让你在纸上写代码。所以在学习过程中这是初学者一定要具备的专业技能了。

    4、学习产出

    可以将你自己写的一些代码、小项目等发布在公共论坛上,虽然有时候网友给出很严厉的评价,但也能进一步指出你的不足,从而加以改正。

    5、坚持编码

    一定要坚持练习编码,从小项目做起,然后慢慢扩大你的项目范围。例如:先完成一项基本任务,然后是一系列的任务;先做一个简单的游戏,然后是一个完整的应用程序。请记住,当你迟疑的时候,坚持用代码码出你的出路。

    知识点方面:

    1、熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。

    2、学会使用数据库,mysql是个不错的入门选择,而且Java领域里主流的关系型数据库就是mysql。

    熟悉常用的关系型数据库产品(MySQL、Oracle),熟练的使用SQL和PL/SQL进行数据库编程。这部分一般在你学习Servlet/Jsp的时候,就会接触到的,其中的JDBC部分就是数据库相关的部分。

    你不仅要学会使用JDBC操作数据库,还要学会使用数据库客户端工具,比如navicat,sqlyog,二选一即可。

    3、对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。

    4、熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。

    5、熟练的使用HTML、CSS和JavaScript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验。

    spring、springmvc、mybatis,你需要学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。你可以不理解那些配置都是什么含义,以及为什么要这么做,这些留着后面你去了解。

    6、在搭建SSM的过程中,可能会经常接触到一个叫maven的工具。这个工具也是你以后工作当中几乎是必须要使用的工具,所以你在搭建SSM的过程中,也可以顺便了解一下maven的知识。

    在你目前这个阶段,你只需要在网络上了解一下maven基本的使用方法即可,一些高端的用法随着你工作经验的增加,会逐渐接触到的。

    7、熟悉面向对象的设计原则,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。

    8、熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。

    9、熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和EnterpriseArchitect,Eclipse和IntelliJ、WebStorm、SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。

    10、一些其他拓展知识:

    前端:html/js/css以及jquery,一套以上ui框框(easyui或者layui)能够熟悉使用(小全栈)。有能力可以接触vue,react等流行js。

    算法:各个大厂对工程师的数据结构和算法要求都挺高,建议可以刷letcode,剑指offer(牛客),pat(牛客),这些算法在面试会经常问到或者出现在笔试。喜欢的也可以刷hdu,poj增强算法思维和能力。

    爬虫:当前爬虫算是一个比较火但是不太拿的上台面的一门技术。可以通过爬虫(python/Java都可以)增强对接口的认识。为自己工作的反爬做做准备。并且在课余之际也可以做些有趣的东西。

    黑马程序员Java零基础视频教程_上部(Java入门,含斯坦福大学练习题+力扣算法题和大厂java面试题)

    黑马程序员Java零基础视频教程_下部(Java入门,含斯坦福大学练习题+力扣算法题和大厂java面试题)

    ​​​​​​

  • 相关阅读:
    EPS功能开发与测试(基于ModelBase实现)
    Python(七) 元组
    多维数据可视化技术,Radviz可视化原理,向量化的 Radviz(vectorized Radviz,简称 VRV)
    citavi显示期刊分区及影响因子
    (二十)STM32——电容触摸按键?建议改名为卫生纸按键
    MyBatis(JavaEE进阶系列4)
    【SpringBoot底层原理】SpringBoot底层原理实践(一)——手撕SpringBoot容器(幼儿园版)
    Springboot项目中打印SQL语句日志
    C语言_函数指针数组的应用
    linux的美化工具 oh-my-zsh的安装与使用 神器工具
  • 原文地址:https://blog.csdn.net/Itmastergo/article/details/133065297