第一种就是代码搬运工、编程IT农民工这种偏业务型的工作,并不去注重基础的知识内容,这类人往往自己的知识上限已经被限制住了,一般在IT领域常常做的工作也是比较浅层的;
第二种就是技术型的工种,这类的都需注重自身基础知识内容的学习,培养夯实自己的基础知识,提高自己的学习知识的上限。通常游走在底层经常打磨自身,结实的基础知识就是你对抗一切困难的手段。一般在公司的地位往往处于核心,就是在技术领域上一般有问题了第一个想到往往就是这类人的帮助!
那么想要在公司要想有核心地位,Java基础知识就是我们必须所要掌握的重中之重,那么Java核心基础知识都有哪些呢?我们日常都需要如何有条不紊的学习呢?
首先你要先明白Java是什么?
Java是一门面向对象的编程语言。它不仅吸收了C++语言的各种优点,还摒弃了C++语言中难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两大特征,同时还具备简单性、面向对象、分布式等特点,也可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等等。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以简单迅捷的思维方式进行复杂的编程。
学习Java
首先要想学Java,这是毋庸置疑的是一定要有耐心。与此同时要想和Java的学习同步,建议大家研究一了解下这个基础知识内容。
在Java完成了解了一部分基础知识之后,可以试着去完成一些小项目,小游戏,同时关注一下设计模式中的内容,不必强求自己一定能够完全掌握各种细节,在完成的过程中不断掌握巩固在其中的基础知识内容。
2022年全新的Java300集,它就是一门专门为一些零基础的同学们,贴身打造的入门基础级Java精品课程!其中还有包含五大实战项目,攻克式的学习,让你对Java理解更加清晰明了,打造出盖百层楼都不会到的坚厚基础;20版的Java300集的课程基础内容覆盖更加全面,更方便刚开始接触Java的同学们了解到行业前进与发展的方向给我们同学们一个清晰的定位,它其中的课程知识内容讲解的过程都是循序渐进,只为让同学们更加系统化的学习Java知识内容。
向零基础的同学,建议先去学习一下预科阶段基础知识内容(大约2小时左右)。对于整个行业、JAVA技术体系、就业流程、职业发展前进都会有个基本的认识和了解。
数据库
数据库是程序员必学的技术,大家可以选择Oracle或者MySQL开始。学数据库时,重点掌握SQL语言、熟悉各种查询、数据库设计范式。这也是以后工作中常用、面试和笔试中常考的内容再学习JDBC技术,这样就可以用Java操作数据库了。
大家可以按照如下顺序学习:
- Oracle数据库安装和配置、客户端使用
- Mysql数据库的安装和配置、客户端使用
- SQL语言
- SQL语言强化(查询深入)
- 数据库设计范式
- 项目数据库表设计核心
- PL/SQ
网页设计和开发
互联网时代,不学习网页知识的程序员不是好程序员。HTML、CSS、JavaScript、ajax,这些东西是做web项目必需内容。当然,作为java程序员不需要学的很深入,熟悉即可。毕竟,前端工程师也是一个需要学习4-5个月的专门岗位。
Servlet/ JSP和企业级项目开发
Servlet/JSP是JAVAEE的核心内容,必须作为重点掌握。学完基本知识后,做一些项目吧。比如:BBS、留言系统、学籍管理、商城、客户关系管理等。刚开始找一些业务逻辑比较简单的做一做。只有通过开发项目、调试项目才能真正的掌握学到的知识,真正的开启自己的“JAVA腾飞之路”。
SSM框架(Spring、Spring MVC、Mybatis)
Spring 是java程序员必须掌握的一个框架,现在已经形成了事实上的行业标准。 刚开始学习一下“IOC + AOP”。 依赖注入 + 面向切面,Spring MVC是典型的MVC框架,在现在企业中非常流行。已经超过struts2成为行业第一。Mybatis是经典的ORM框架,让我们可以用面向对象的方式从容操作数据库。已经超过Hibernate成为第一的ORM框架。
学完三个经典框架后,就要去整合他们。然后,开始尝试做一些商业项目加深自己的功力。这里可以找一些相对复杂的商业项目,加上复杂的业务逻辑。这样,才能在是你更加迅猛的进步从而在你的简历中填入浓重的一笔
各种JAVA新技术和大型项目的整合
在一些其它的一些工作中可能会用到的技术,也需要大家学习: Maven、Shiro、Nginx、Lucene、Solr、Redis、Dubbo、Zookeeper 等。这些技术的学习,不需要特别深入,毕竟一个企业并不是要使用所有的技术。但是,为了搭建“java技术体系”,就必须学习这些内容。这样,你就形成了一个完完整整的“系统”。工作中,就可以从容应对各种各样的问题。记住:搭建体系,要比钻研某个知识点的细节更加重要的多。不要只因为关注某个细节从而忽略其它耽误搭建体系!
微服务架构
企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,微服务被认为是未来的方向。通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展。目前,越来越流行的微服务技术是需要大家重视的。SpringBoot、SpringData、Springcloud相关的技能已经成为JAVA程序员必备的技能了。在后面的面试中也越来越重要,企业用的也越来越多。
Java 程序的运行机制
编写 Java 源程序 ——> 编译器编译为字节码文件 ——> 虚拟机解释执行
Java 是编译型和解释型两种类型的结合
JVM、JRE 和 JDK
JVM:Java 虚拟机,实现跨平台的核心。
Java 跨平台实现原理:各操作系统平台之间存在差异,Java 官方提供适用不同平台的虚拟机,将源代码编译为字节码文件,利用虚拟机进行解释执行。
JRE:Java 运行时环境,包含 Java 虚拟机,库函数等。
JDK : Java 开发工具包,包含 JRE,编译器和调试器等。JDK 包含 JRE,JRE 包含 JVM
JDK 下载和安装(Java 8)
安装:选择默认目录,自定义目录中不可包含中文路径
JDK 环境变量的配置
- path:一个常见的环境变量,告诉系统出了在当前目录寻找此程序外,还可以到 path 制定的目录下寻找
- classpath:JDK 1.5 以上的版本,JRE 会自动搜索当前路径下的类文件及相关 jar 文件(不需要配置)
- JAVA_HOME 为以后其他软件寻找 JDK 做准备(建议进行配置)
其实学Java是很简单的:所有的编程语言都不过是一套风格略有差异的、执行序列及数理逻辑的描述系统而已。就好像你去学习数学,既可以用中文写“加减乘除天元地元人元”也可以写“+-x÷xyz”一样,虽然符号系统的确是略有差异的,甚至个别东西并不存在严格的对应关系,但一切归根结底其实都还是那么几个简单符号罢了。当然,学习还是学会自我约束和自律,能让自己静下来能忍耐住脾气,但还是你的对这个行业前提是有一定的兴趣趋势,如果仅仅只是高薪为吸引,那就可能并不适合我们每个人。毕竟现在的程序员经常天天守着电脑一坐就是一整天的碰上个bug什么的改个一两天估计也是可能的,一般人没点耐心还真的不一定坐的住!
一定要去尝试做一个大项目
学了这么多,也做了一些小项目。最后,一定要做一个大的项目来整合一下自己的所学所掌握的知识内容。就像高考时做的综合题一样,这才是拉开差距的关键。只有经历一个个大项目的千锤百炼后,才就可以更好更快的成长。将这段时间所学的知识成体系的应用起来,这是成为“高手”的起步!也是你腾飞的起点。