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

2023-09-20 09:36:24

新手初学者在自己学习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面试题)

​​​​​​

更多推荐

【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)

👉博__主👈:米码收割机👉技__能👈:C++/Python语言👉公众号👈:测试开发自动化【获取源码+商业合作】👉荣__誉👈:阿里云博客专家博主、51CTO技术博主👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。#【C++/Python】Swig实现C++调用Python(史上最简单

Investigating Answerability of LLMs for Long-Form Question Answering

本文是LLM系列的文章,针对《InvestigatingAnswerabilityofLLMsforLong-FormQuestionAnswering》的翻译。LLM在长形式问答中的可回答性研究摘要1引言2相关工作3提出的评估方法4结果与分析5结论6局限性摘要随着我们进入LLM的新时代,了解它们的能力、局限性和差异变

性能测试 —— Jmeter 常用三种定时器

1、同步定时器位置:HTTP请求->定时器->SynchronizingTimer当需要进行大量用户的并发测试时,为了让用户能真正的同时执行,添加同步定时器,用户阻塞线程,知道线程数达到预先配置的数值,才开始执行取样器的操作测试绝对并发,比如秒杀,抢购等场景,结果要用聚合报告查看简单案例:模拟50个用户同时访问百度线程

zookeeper

目录1、zookeeper理论1.1、简介1.2、Zookeeper工作机制.1.3、Zookeeper特点**1.5、Zookeeper应用场景1.6、Zookeeper选举机制****1.6.1、第一次启动选举机制1.6.2、非第一次启动选举机制1.6.3、选举Leader规则:2、kafka2.1、概述2.2、为

Flutter的oktoast插件详解

文章目录简介详细介绍安装和导入导入在MaterialApp外面套一层OKToast组件为什么是包住MaterialApp?显示Toast消息:高级使用Toast位置Toast持续时间自定义Toast样式高级用法使用场景提示消息表单验证操作反馈网络请求状态调试信息小结总结简介oktoast是一个Flutter库,它提供了

vue项目嵌套安卓壳子打包apk

1.确保你的项目可以正常运行2.vue.config.jspublicPath添加一个publicPath:'./',3.需要下载一个HBuilderX编辑器下载地址:HBuilderX-高效极客技巧4.新建一个项目选择5+App创建完成之后删除掉红框内的文件只保留一个manifest.json5.把自己要变成app的

Java 函数式编程思考 —— 授人以渔

引言最近在使用函数式编程时,突然有了一点心得体会,简单说,用好了函数式编程,可以极大的实现方法调用的解耦,业务逻辑高度内聚,同时减少不必要的分支语句(if-else)。一、函数式编程就是Lambda表达式吗?Java语言早在JDK8就提供了函数式编程的基础。你可能会问,函数编程不就是lambda表达式吗?的确,大多数开

Three.js 实现导出模型文件(.glb,.gltf)功能 GLTFExporter

Three.js提供了导出(.glb,.gltf)文件的APIGLTFExporter用于实现场景内容导出模型文件的功能导出模型文件主要使用parse方法,该方法接收三个参数:1.scene:要导出的场景对象。2.onComplete:解析完成后的回调函数,接收一个参数result,表示解析后的glTF数据。3.opt

常用排序算法

一、插入排序1、直接插入排序2、折半插入排序3、希尔排序二、交换排序1、冒泡排序2、快速排序三、选择排序1、简单选择排序2、堆排序(1)调整堆(2)创建堆四、归并排序五、基数排序六、各种排序方法的比较将一组杂乱无章的数据按一定规律顺次排列起来(由小到大或由大到小),即将无序序列排成一个有序序列的运算。排序方法的分类:一

展会预告 | 图扑邀您共聚 IOTE 国际物联网展·深圳站

参展时间:9月20日-22日图扑展位:9号馆9B35-1参展地址:深圳国际会展中心(宝安新馆)IOTE2023第二十届国际物联网展·深圳站,将于9月20日-22日在深圳国际会展中心(宝安)9、10、11号馆震撼来袭。本届展会以“IoT构建数字经济底座”为主题,将IoT技术引入实体经济领域,促进数字化转型和智能化升级,推

【运维】dockerfile 中的COPY 会覆盖文件夹吗

Dockerfile中的COPY命令会根据指定的源路径将文件或文件夹复制到容器中的目标路径。行为取决于两个因素:源路径和目标路径以及目标路径的类型。源路径是文件,目标路径是文件:如果源路径是文件,目标路径也是文件,则COPY命令会将源文件复制到目标路径,并覆盖目标路径中的任何现有文件。例如:COPY./source-f

热文推荐