java怎么自学?java自学难度大吗
大家好,今天给各位分享java怎么自学的一些知识,其中也会对java自学难度大吗进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
Java要怎么自学
一直关注我的朋友们应该都知道,很早之前我就打算开始写 Java相关的文章了,一直没想好要从什么阶段入手。因为太简单的大家都会,太难的可能自己还没学会。人生总是这样,矛盾与纠结一直缠绕在身。想着纠结来纠结去也没有什么用,不如就从零开始吧。重走一遍自学之路,给零基础的小伙伴一点方向、给已经工作的各位大牛复习下基础!
下面开始今天的知识!
一、计算机基础知识(Java日常编程相关)
1、键盘快捷键介绍(万能快捷键,在任何IDE编写代码都通用)
Ctrl+A全选
Ctrl+C复制
Ctrl+V粘贴
Ctrl+X剪切
Ctrl+Z撤销
Ctrl+S保存
2、常用DOS命令
二、Java语言概述
1、Java语言发展史
2、Java语言平台版本
3、Java语言特点
简单性解释性
面向对象高性能
分布式处理多线程
健壮性动态
结构中立安全性
跨平台(重要)
什么是跨平台性?
通过Java语言编写的应用程序在不同的系统平台上都可以运行
原理是什么?
只要在需要运行Java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行
三、JDK相关下载、安装
JRE(Java Runtime Environment Java运行环境)
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可
JDK(Java Development Kit Java开发工具包)
JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其中的开发工具:编译工具(javac.exe)打包工具(jar.exe)等
简单而言:使用JDK开发完成的java程序,交给JRE去运行
JDK下载(Google/百度「Java JDK下载」)
JDK安装(傻瓜式安装,下一步即可,安装路径不要有中文或者特殊符号如空格)
四、环境变量的配置
path环境变量配置的作用
程序的执行需要使用外部指令javac,但是javac指令仅仅能在JDK安装目录下的bin目录下时候,因此程序只能写入bin目录
程序开发过程中,不能将源代码写入JDK的安装目录,因此需要将源程序保存到任意位置的指定目录(英文目录),所以需要使javac指令在任意目录下可以运行
path环境变量配置、classpath环境变量配置(Java 1.5版本之后可不需要设置classpath)
path/classpath环境变量的配置请 Google/百度「Java环境变量配置」,按照搜索出的第一条结果配置即可
path和classpath的区别
path环境变量里面记录的是可执行性文件,如.exe文件,对可执行文件先在当前路径去找,如果没找到就去path环境变量中配置的路径去找
classpath环境变量里记录的是Java类的运行文件所在的目录
五、HelloWorld
开发工具介绍
Eclipse(最多人用,建议零基础用Eclipse,教程大多用这款工具,出错了容易解决)
MyEclipse
STS(Spring Tool Suite)
IntelliJ IDEA(趋势,建议有开发基础的直接上手这款)
HelloWorld
首先定义一个类 class类名
在类定义后加上一对大括号{}
在大括号中间添加一个主(main)方法/函数public static void main(String [] args){}
在主方法的大括号中间添加一行输出语句System.out.println(“hello world”);
六、写在最后,过来人的建议
1、现在编程资料太多,只要找一份靠谱的学习视频就够了,不用收集那么多,根本看不过来。
2、刚开始配置Java环境的时候,建议对照着学习视频进行配置,看书配置容易出错。
3、视频和书结合结合着学习,可以先跟着视频学习,然后再过一遍书,加深理解。不能光看视频学习,也不能光看书。
4、不要钻牛角尖,有很多编程问题,你现在想不明白,没关系!接着往下学,学到后面就会明白前面想不通的地方了。
5、一定要多敲代码,重要的事情说三遍:多敲、多敲、多敲。
6、没有学不会的编程、只有不努力的自己。我刚学的时候,配环境的地方卡了三天,最后还是成功转行了。所以千万别在开始遇到困难的时候就放弃了,你遇到的问题大家都遇到过,千万别觉得自己笨!
自学Java怎么入门
自学Java看这一篇就够啦!Java学习路线图分享给你,跟着学习吧!
一、Java基础
JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。
在Java基础板块中有6个子模块的学习:
基础语法,可帮助你建立基本的编程逻辑思维;
面向对象,以对象方式去编写优美的Java程序;
集合,后期开发中存储数据必备技术;
IO,对磁盘文件进行读取和写入基础操作;
多线程与并发,提高程序效率;
异常,编写代码逻辑更加健全;
网络编程,应用服务器学习基础,完成数据的远程传输。
学习该阶段,可以完成一些简单的管理系统、坦克大战游戏、QQ通信等。
二、数据库
数据库不仅仅是Java开发工程师的必学课程,也是其他语言都需要掌握的技能。用于对交互过程中客户的数据进行存储。
该板块包括关系型数据库和非关系型数据库。
例如:MySQL、oracle、redis、MongoDB等。数据库学习完毕后,可以将数据存储到数据库中,也可以通过SQL语句从数据库中查询数据,结合Java项目可以实现动态站点的数据的保存。
技术树
三、前端技术
Javaweb阶段包括前端、数据库和动态网页。Javaweb是互联网项目的入门课程,是学习后面高进阶课程的基础。
首先,我们先看一下前端板块。该板块主要包括如下几个模块:
HTML5,网页制作标记语言;
CSS,对HTML制作网页进行美化;
JavaScript,嵌入在页面中的脚本语言,具备逻辑性;
Vue,前端框架,简化了与服务器端交互的操作,用户良好的交互体验是必不可少的。
学习前端技术后,可以完成类似京东、淘宝的前端工程的编写。
技术树
四、动态网页技术
动态网页是中级程序员服务器端编程的基础,是高级框架学习的必备课程,后期学习的框架、服务底层都是基于动态网页技术之上的。
该板块包括Javaweb核心技术、包括Servlet、Request、Response、Cookie和Session等,通过这些技术的学习可以完成动态站点开发,可更好的完成服务器端与客户的交互,让页面的数据“动”起来,做出小型的应用系统。
技术树
五、编程强化
编程强化是对解决实际问题方面做一个深入的了解和应用,是对JavaSE基础的加强,对后期自动以框架和对一些服务框架的底层理解做支撑。
编程强化板块主要包括如下几个模块:多线程高级、涉及线程内存、线程通信等;JVM优化,对JVM底层进行调优来提高项目执行效率;NIO,同步非阻塞IO来提高效率。
学习该阶段,可以对原有项目进行优化从而使程序更快更稳定。
技术树
六、软件项目管理
JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。
在Java基础板块中有6个子模块的学习:基础语法,可帮助你建立基本的编程逻辑思维;面向对象,以对象方式去编写优美的Java程序;集合,后期开发中存储数据必备技术;IO,对磁盘文件进行读取和写入基础操作;多线程与并发,提高程序效率;异常,编写代码逻辑更加健全;网络编程,应用服务器学习基础,完成数据的远程传输。
学习该阶段,可以完成一些简单的管理系统、坦克大战游戏、QQ通信等。
技术树
七、热门技术框架
使用Javaweb进行企业级开发是完全可以的,但是开发效率比较低,所以对常用的逻辑操作进行封装就形成了框架,因此框架是企业开发的入门技能。
热门框架板块主流框架有如下几个:Spring框架,占据统治地位,其生态系统涉及各个方面解决方案;MyBatis框架,使用ORM思想对数据库进行操作。
该板块学习后,就可以进行真实企业级项目开发了,做出的项目也会更加符合企业要求。
技术树
八、分布式架构方案
随着互联网的发展,业务的复杂性和用户的体验性都需要提高,所以分布式架构出现了。该板块主要讲解的是分布式架构的相关解决方案。
主要包括如下模块:Dubbo,高性能的 RPC服务发布和调用框架;SpringBoot,简化Spring应用的初始搭建以及开发过程;Spring Cloud,一系列框架的有序集合,如服务发现注册、配置中心、负载均衡、断路器、数据监控等。
该板块的学习,可以具备大型互联网项目开发的必备技术和实际经验,为进入BATJ打下基础
技术树
九、服务器中间件
中间件板块是大型互联网项目中必备的。服务中间件可以帮助各子模块间实现互相访问,消息共享或统一访问等功能。其包括远程服务框架中间件,例如阿里(Apache)的RPC框架Dubbo等;消息队列中间件,例如:阿里巴巴开源分布式中间件RocketMQ、高吞吐量消息发布和流处理服务Kafka等。
学习服务中间件是中级JavaEE工程师必要技术,也是JavaEE架构师必须精通的技术。
技术树
十、服务器技术
不管是使用原生Javaweb进行开发,还是使用框架进行开发,项目最终需要对外发布才能供全世界的人访问到,而服务器板块就可以解决这个问题,所以服务器是项目发布的必要技术。该板块包括虚拟化和web应用服务器的学习,主要包括如下几个模块:Vmware,虚拟机软件;Linux,专门用于服务器的系统;Nginx,集群部署时反向代理服务器;Tomcat,项目发布时主要使用的服务器。
该板块学习后,我们就可以把开发好的项目发布到服务器中,然后供你的小伙伴远程访问了,超酷!
技术树
十一、容器技术
容器化技术是近两年超级火的一个专题,通过容器化技术可以对环境进行打包,方便移植,大大提高了开发效率。该板块包括容器化技术Docker和其平台管理引擎Kubernetes,其中,Docker是一个开源的应用容器引擎,可以打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。而Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效。通过该板块的学习,你可以通过上述技术快速搭建环境,节省开发时间,提高开发效率。
技术树
十二、业务解决方案
虽然我们已经具备了基础技术和高阶技术,但是要想与企业开发相接轨,还需要对实际项目的业务解决方案进行探究。而此版块就是在实际业务场景中的真实解决方案集合,常用的业务解决方案有如下:搜索业务场景解决方案、日志收集与分析场景解决方案、工作流引擎场景解决方案、任务调度场景解决方案、地图开发平台场景解决方案、支付开放平台场景解决方案、图表可视化场景解决方案。通过分析实际业务来学习这个解决方案技术集,完全可以达到中级甚至高级工程师水平。
技术树
自学Java 怎么入门
自学java怎么算入门?衡量标准是什么?
我从个人角度分为三个阶梯:初学,入门,高手
第一:初学(理论知识阶段)
很多同学刚刚入门学习java,看书,或者看视频。这个阶段是积累理论知识的时候,相对比较容易,一个小知识点,信息量少,跟着老师的思路走就可以。
在这个阶段,很多同学学得很快,感觉编程好简单。
随着学习的深入,大多数同学会产生混乱。为什么?所有的技术背后都有原理,前面都有应用场景,不同应用场景有不同使用方法。信息量逐级增加。
信息量逐级增大后,会有什么问题?
学到后面忘记前面。
新技术不断出现,感觉永远学不完。丧失兴趣或信心。
理论知识阶段,更重要的是理解原理和规律,知识点的细节记不住可后面查找。学习方法更重要的是交流讨论,理解和总结。多问为什么是关键!
第二:入门(熟练度)
一个项目从0到1的过程才是最宝贵的,也是初学者提升最大的部分。但从书本或者视频中,很难学习这个过程。
技术的应用能力换句话说是技术的分解排序能力,当遇到一个需求,该如下实现?
基本的思路是把需求分解成原子操作。原子操作代表开发当中的基本操作,也就是在知识点当中学到的,比如数据库操作,sql,框架的基本使用等等。
如果能把需求分解为原子操作序列,开发完成只是时间快慢的问题。往往刚刚开始学习编程的同学,不善于或者懒得去思考。毕竟看视频是被动的,分析问题是主动思考。学习只是看看视频,本质上是思考的懒惰。
所以需要找大量的练习和项目案例进行实践!!!
第三:高手(业务和性能)
程序员是把理论知识组合应用起来解决用户的问题。(或者提高用户的效率)
第三个等级的知识更加多元化,不同行业涉及不同的领域知识,信息量也是增大。
业务解决用户的问题,可以赚钱。
性能用最小的资源,解决用户的问题,可以省钱。
所以在企业开发中,需要考虑更多和成本,时间,用户等相关的问题。
总结:掌握理论知识后,需要大量的代码去实践,才算入门。
分享下学习路线,供你参考一下!
希望能帮到你,望采纳!!
java怎么自学和java自学难度大吗的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!