自学java?

epep321


我这个做了十年JAVA编程的IT民工来说一下吧,首先你学JAVA的目标是准备做什么?BS(浏览器/服务器)架构还是CS(客户端/服务器)架构,我学习的时候是CS,实际工作都是BS,带过的新手很多,我相信你想学习java应该也是想到互联网公司吧?那就是BS,我学习JAVA和ORACLE总共用了4个月,还是每天上午,只要不涉及到复杂的算法,学习一门语言还是很快的,我相信你的基础肯定比我好,在我学习之前我甚至不知道Java是什么?sql是什么?英语基础就更差了。自学的话就从基础的开始学,先搞明白什么是面向对象,实在不明白就死记硬背,坚持才是硬道理,进我项目组的新人,我都会问他们喜不喜欢开发?别笑,有的就是喜欢测试,喜欢的都给一个周的时间,抄一遍小功能,你这里是要自学,我觉得你还得学习javascript,先找手头有的一本书,照着书敲代码,早上八点半到晚上十点,不要想三想四,也不要觉得简单就不写了,逼着自己敲,找到书上的错误更好,为什么不找网络上的抄?因为你会控制不住你自己复制粘贴。不用一个月你应该就熟悉了你的IDE(代码编辑器)像intelIJ idea等,为什么不是java?因为真正想要用的好,你得到实际功能中用,得熟悉它的类库,第三方写的工具类,然后就是数据库从MYSQL开始吧,客户端工具自己去搜索,

一个不会搜索的程序员不是一个好程序员,

一个晚上关机的程序员也不是个好程序员

最多两个月,你就可以到网上找别人的教程架构一个spring boot的小工程了,先做个用户注册登录,恭喜你这就入门了,从零到会,最多三个月。以后就是多看别人的代码喽!


半夜二十三点半


觉得这个问题我最有发言权了~大三开始自学,到现在工作6年,一路走来不容易,看着上面的回答一堆培训机构上来就是各种路线图加免费送视频的,我就不发了,需要也可以私信我要就是了,这里和你分享下我的自学经历吧。

首先给你一个肯定的观点,只要有一定自学能力,并且对编程有兴趣,一定要有兴趣!不要抱着我找不到工作只能学编程混口饭吃的观点。

上大学开始就在接触编程最早接触C,C++,主要就是编写点冒泡排序呀,汉诺塔,啥的小程序,如果你对编程感兴趣或许一个程序写完带给你的一定是喜悦,至少当初我是这样。如果看到编程就头发我觉得还是别硬着头皮学了,见过太多混日子的程序员也是很难受,工资上不去天天CRUD。

入门阶段

大三开始接触java开始了真正的自学之路,我是从马士兵的javase基础视频看起当初应该是挺火的,然后开始一点点摸索自学,主要就是去找各种培训机构的免费视频看尚学堂、传智播客、北风网、领航致远一堆的机构免费放出的视频,我基本是全部都看了一遍,大三开始基本每天6小时以上学习时间寒暑假也不例外(主要是扣不舍得花几万块培训)

慢慢的开始对整个java领域有了基本的,知道java能做什么,我不建议死扣知识点去学习,这只会消磨掉学习的兴趣,因为完全没有成就感,就像玩游戏每关都要有个Boss。

学习的过程要设置小目标,就像培训机构现在都是一个阶段给你个项目练练手(而且项目名字一般都是高大上的,让你有成就感)

我当初就是边学边做培训机构放出的免费视频,坦克大战、购物商城、OA、CMS等等,项目名可以千变万化实际还是那些知识点,一般免费的视频技术多少都比较老,做项目同时我自己去找新版本来用,google查用法差别,自己用新的方法做

提升阶段

培训机构的视频看完,找个实习的工作基本没问题了,大四上学期的开始找工作(其实还有课但是我基本上都翘了),简历投了两家,面试后都要我,留在了一家上市公司,我还是比较求稳定的人,开始步入职场,程序员的职场相对其他职业还是纯粹很多,主要还是看技术能力,这阶段就是不断提升自己,多看些深入的书籍,jvm内存分析啦,还有 in action系列的书,反正主要挑一些外国出名的书阅读,这阶段基本不用看教学视频了,你会觉得太低级了不用看,自学看书要快的多,工作三年后基本上觉得自己所向无敌了

无尽模式

工作三年后我跳槽了(不联系为了钱频繁跳槽),主要是觉得自己在公司能学到的技术到了瓶颈(还有工资),来到新公司的头一年压力巨大,一个是环境重新适应,还有就是新技术的接触,头一年又是学习新东西的最好一年,慢慢的会发现自己在成长,但是我会发现越来越多的东西不懂就像是白纸上的圆画的越大空白越多,微服务,大数据,人工智能等等东西接踵而至,那么接下来的就又是一个循环了,我开始找相关的资料学新技术,然后看书。。。。。

待续。。。

当然不可能一辈子只会编码,技术只是基础,要往上爬还会需要很多其他的知识,我还没爬到就不说了,先好好当一个程序员一步步来吧

码字好辛苦就到这了,语言组织不太好,想看的小伙伴看看吧,如果你刚入门可以私信找我要视频,当然是给你最新的,内容没的说反正我也在看又开始新的一轮。。。


疯狂的程序员


<java>


很多小白学习Java没有系统的规划 ,学习内容很零散 , 这里推荐一套系统的学习视频给你 , 这套视频分六大阶段,每一阶段都逐渐加深,教程已经整理的非常完善,基本上按照此套流程,一阶段,一阶段学习来,肯定会入门,逆袭成为大牛。


第一阶段 :


对应的Java基础教程视频


1、毕向东老师的java入门教程 : 视频链接

2、小白的福音java入门教程 : 视频链接

3、java快速入门教程 : 视频链接


此三个教程异曲同工,内容知识点相差不大,可以只学习其中一个哦!



第二阶段:



Java教程


(1)轻松掌握JavaWeb视频教程


(2)5天玩转mysql视频教程


(3)超全面的JavaWeb视频教程


(4)阶段案例--JavaWeb网上图书商城完整



第三阶段



Java教程

(1)Hibernate5框架

(2)Struts2框架

(3)Spring框架

(4) Spring2.5视频教程


第四阶段


Java教程推荐:

(1) Springmvc由浅入深全套视频教程

(2)Mybatis由浅入深全套视频教程


第五阶段



Java教程推荐:

(1)Java学科巴巴运动网视频教程106集

(2)巴巴运动网续集视频教程


以上就是Java学习路线图的内容,具体配套视频有需要的小伙伴可以找我,码字不易,给自学的小伙伴提供一下学习路线 , 有用请点赞分享一下吧!


小知姐姐


给你们推荐下java自学应该怎样自学java

javaee---web

零基础学习必须先学习javaweb-PC端:包括 html标签,网页主体结构,div盒子模型等等的

零基础javaweb-移动端:包括 css选择器回顾,结构选择器,关联选择器,盒子阴影,倒影等等的

网站前台界面开发(项目实战):徒手开发

网站建设-部署预发布:徒手开发

如图:

javaee---javascript

javascript部分

jquery部分

javaee---javase

javase

javaee 开发数据库

Mysql,Oracle

云数据库管理与数据迁移

javaee---JSP,SERVLET

JSP,SERVLET

web应用安全

javaee---框架

Struts2

Spring4,2

SpringMVC4,2

MyBatis3,3

Hibernate 5,01

掌握框架底层核心技术

javaweb3,0新特性 反射应用 注解(Annotation)应用 设计模式

shio按钮级权限控制组件

Activiti工作流引擎

Redis内存数据库

Maven项目构建

Nginx WEB 高性能服务器

超大流量网站的负载均衡

完整的学习java成为大牛的步骤

如果你想了解java,想学习java请关注微信公众号:java团长


互联网科技变更


说下自己的经历

1.当时大二模模糊糊,上课大概学了数据结构,c语言。数据结构是非常重要的基础,一般大学的数据结构对大多数工作已经够用了。

2.看某一方面的视频进行编程入门,边看边写,找编写代码的感觉,去理解何为面向对象。学习spring boot,mybatis,hibernate,spring mvc。这时候你可以拿着写个什么xxx管理系统练手。

3.完成2,相信你已经熟悉了java基础,比如集合,反射,多线程。常用的框架也熟悉了,这个时候应该可以去实习,或者有份工作了,在工作中去实践。然后可以去读《深入理解java虚拟机》,《java并发编程实战》《java8 实战》。

4.这时候可以去看设计模式了《Head first Design Pattern》,然后读jdk util包,spring源码去体会设计模式。带着为什么要这样实现的问题去看源码。

5.这时候你的java底子应该不弱了,那应该要去理解一些分布式系统的东西,比如分布式事务,锁,消息中间件,了解spring cloud,Dubbo,学会微服务治理。想象一下你设计的系统如何抗住双11.

6.好吧感觉已经很厉害了,但是如何快速迭代开发呢?devops是什么?docker,k8s是什么?如果快速敏捷的开发,如何管理团队,知识需不需要进一步提升和不错?计算机数据结构和算法需不需再拿出来升华?

总结:程序=算法+数据结构 这才是最根本最重要的,技术路上能走多远,基础非常重要,多学点数学,计算机科学这些百利无一害。还有保持一颗好奇心,探索浩瀚的计算机科学实践。不仅仅是java。


O谜嘎


Java如何入门?这是很多小伙伴都想知道的问题。首先大家必须知道,Java并没有我们想象的那么难。如果你确定想要发展的远一些,必须知道一点,就是学习Java是不间断的学习新知识,绝对不可以一劳永逸。任何工作没有不辛苦的,学习更是。前期的学习中千万不要闲着,当你拥有一定实力后,可以看懂源代码,设计模式,各种架构,一点多去看,对你以后职业的发展是非常重要的。

下面千锋武汉分享一个不错的Java学习路线图。根据以下这几个阶段循序渐进的学习,可以初步的入门Java编程,并且跟上大量的练习,请记住一点,学习Java类似高考的题海战术,除了多练没有其他办法,真正的掌握了以下知识点,找到工作是没有问题的。不过根据小编的了解,在自学Java的过程中,能坚持下去的人并不是很多,能一直坚持学下去的最后一定都是人才。

第一阶段主要学习Java语法和常用类,以及数据库的一些简单增删改查技术,让自己对Java的基础也有一些了解。在第一阶段中有一些东西是可以不学,乃至不用去了解的,因为在工作中是涉及不到的。在第一阶段的学习中,项目实战常见是学生管理系统,成绩管理系统。

初学者在学习第一阶段的时候,往往是最费力煎熬的,千万不要走偏了。学习Java一定要系统,不要太过于纠结,这样一定学不好Java。这个时候会出现一种现象,人的求知欲在作怪,往往会把人带偏,因为我们自己不专业,所以也不知道走的对不对,也慢慢放弃了。所以千锋武汉Java培训小编建议大家,学习Java一定按照大纲走下去,不要执拗,先过完一遍之后,再回头捡。

建议大家,一定要多跟别人交流,全靠自己一个人学习Java坚持下去,真的很难。可能开始安装JDK就能把你难倒,所以能请教就多去请教一下。少走点弯路是学习Java的聪明之处,在那些坑中,任何一个坑可能都会把你放倒,所以大家一定要融入一个学习的氛围,这样当你放弃的时候,身边有人你就会有劲头。

最后,一定要动手,一定要动手,一定要动手。把代码敲烂,你才会有收获,不要被视频诱导,敲一遍之后误认为你自己会了,如果第二天你起来时已经忘了昨天学习了什么的话,那说明你还是没学会。

当然要靠自学Java语言,然后胜任企业工作并不是那么容易的一件事。

最后分享一些Java的教程视频,可以自己先自学试试。

Java工具教程\thttps://pan.baidu.com/s/1GCcFrHKasteIl9XCNrr0Gg

Java基础教程-Java基础\thttps://pan.baidu.com/s/1esst0CDU7DsF2ALJGy6F6g

Java进阶教程-JavaWeb\thttps://pan.baidu.com/s/1QrSYwJjarFn6XhQ5jxmzqA

Java进阶教程-JavaWeb实战讲解\thttps://pan.baidu.com/s/1V51sQiIKnxHU-KOPrUv4Wg

Java进阶教程-Java框架\thttps://pan.baidu.com/s/1_JiTs1GMF9AwZfzsBid7Yw


千锋武汉


“这是一篇完整的java程序员学习线路图,一共分为六个阶段。

我以java为例,展示完整的学习步骤。

希望对于想通过java自学的朋友有帮助。

java程序员学习线路流程

第一步:Java语言基础

从最简单的开始,hello world开始Java之旅

1.编程基础

  1. 常量与变量

  2. 数据类型

  3. 运算符

  4. 流程控制语句

  5. 方法

  6. 数组

2.面向对象

  1. 面向对象思想

  2. 类与对象

  3. 成员变量和局部变量

  4. 封装

  5. this关键字

  6. 构造方法

3.集合

  1. 集合概述

  2. 集合特点

  3. ArrayList集合

  4. HashMap集合

  5. 常用集合优劣比较

4.输入/输出 IO

  1. 字符输入流

  2. 字符输出流

  3. 字符缓冲输入流

  4. 字符缓冲输出流

  5. 复制文件

  6. 集合与文件中数据相互读写

5.练习阶段

属于你自己的helloword

第二步:java语言高级

再结合java高级部分,里面的部分内容,这个阶段你不一定能理解很彻底。但有一点,如果你今后想进入高阶俱乐部,这些内容你必须掌握牢固。

举个栗子,如果你面试通过进入了公司,我一定会在早期仔细review你的代码。代码的功力是欺骗不了人的,不同人写一个接口,呈现的结果也是千差万别(所以才有了规范)。

1.面向对象

  1. 继承

  2. 多态

  3. 重写(Override)

  4. 重载(Overload)

  5. 封装

  6. 接口

  7. java包 package

2.异常处理

  1. 异常概述

  2. 异常分类

  3. 异常处理方案

  4. 自定义异常

3.多线程

  1. Java线程:概念与原理

  2. Java线程:创建与启动

  3. Java线程:多线程的实现方案

  4. Java线程:线程生命周期

  5. Java线程:线程池

  6. Java线程:线程状态的转换

  7. Java线程:线程的同步与锁

  8. Java线程:线程的交互等等

线程的几个主要概念

在多线程编程时,你需要了解以下几个概念

  • 线程同步

  • 线程间通信

  • 线程死锁

  • 线程控制:挂起、停止和恢复

4.输入与输出IO

  1. 文件和I/O

  2. 读写文件

  3. Java 流(Stream)

  4. 文件(File)

  5. 缓冲流

5.泛型(Generic )

  1. 泛型的使用场景

  2. 泛型类型

  3. 泛型方法

  4. 泛型通配符?

6.网络编程

  1. 网络机制

  2. Socket原理机制

  3. UDP、TCP传输等

7.反射(reflection)

  1. 类加载机制原理

  2. 反射构造方法、字段、方法

  3. Properties配置文件

8.注解(annotation)

  1. 注解的使用和原理

  2. 三种内置annotation

  3. 自定义annotation

  4. 注解类的反射调用

  5. 动态代理类如何处理

9.Java高级特性和类库

  1. java类加载器class loader

  2. java 程序运行的基础知识,java编译后的bytecode的整个运行机制,这一点对应.net的IL(intermediate language)。

  3. 理解Java nio,关于这一点网上有非常多的教程,这一条需要重点掌握,对于高并发的掌握很重要。

  4. java juc(java.util.concurrent)等等

10.JVM原理和调优

JVM最重要的三个部分必须要非常清楚,内存划分、class加载机制以及GC策略。搞清楚这三部分不仅仅是为了面试,也是为了让你对于Java有更深刻的理解,这对于你的Java生涯非常有帮助。

内存划分简单说分为三个部分,Young Generation(年轻代)、Old Generation(年老代)以及Perm Generation(永久代)。其中的Young Generation(年轻代),又分为Eden、From和To,其中From和To又统称为Survivor Spaces(幸存区)。

关于classloader机制的学习,可以结合tomcat去学习,了解清楚tomcat的classloader机制,看tomcat是如何保证各个APP之间的类隔离的。如果可能的话,看一下tomcat中classloader的源码,当中也包含了与tomcat类加载机制相似的部分。

至于GC,需要清楚GC Roots都有哪些,以及如何判断一个对象可以被回收。此外,GC的算法和策略也要有大概的了解。

第三步:java web阶段

1.前段技术掌握

  1. html

  2. css

  3. js

  4. jquery

  5. bootstrap

2.动态网页技术

  1. Java Servlet API

  2. Velocity

  3. FreeMarker

  4. JSP等常用模板引擎

比如,淘宝前端层使用的是velocity模板,部分公司采用jsp、freemarker等,基本类似。

3.linux服务器基本命令

在个阶段,也可以结合自己的情况,学习linux系统底层原理。

第四步:java框架阶段

1.SSH(struts2+spring+hibernate)

2.SSM(springmvc+spring+mybatis)

备注:如果你仔细,网上有部分叫SSI,I为ibatis,后来ibatis改名为mybatis了。

框架组合,我首推SSM,比SSH灵活强大。

框架的优缺点,我会再单独写文。

如果你还有兴趣,可以自己搭建Lucene、solr框架,以及memcached/ redis、activeMQ、hadoop等等搜索、分布式缓存、异步消息、数据等。

我一般建议自己搭建,从学习效果再到理解深度都不一样。有兴趣,就开始自己搭建。

第五步:开发工具阶段

1.web调试工具

  1. firefox

  2. firebug

  3. web developer

  4. yslow

  5. httpwatch

  6. ietester等

这些都是开发必用。

2.集成开发工具

eclipse(首推) ,STS,myEclipse,Idea

eclipse里的插件太多,推荐几个必装插件:

JadClipse 、run-jetty-run(很牛的热部署调试)、veloctiy、freemarker IDE、Subclipse、m2eclipse、mybatis Editor、 Easy Explorer等等。

3.版本控制工具

svn、git(首推)

4.构建工具

maven、nexus搭建maven私服

建议自己搭建一套nexus maven私服,成为你们公司的代码仓库员。

5.java调试工具

  • jProfiler(性能跟踪)

  • jClarity(性能监控和日志分析)

  • Visualvm(性能分析和调优)等

优知学院是IT人的进阶站,提供系统的互联网产品&技术的入门指南以及进阶干货。

优知学院


自学Java路线图谱,废话少说,先上一个张图,无图无真相:

自学JAVA,如果你是一个初级水平的菜鸟,菜鸟到什么程度了?菜鸟到连HTML都不知道怎么弄的,那么我建议你先首先学习下HTML相关的知识。因为不管什么语言,只要是开发,不可能连HTML这种最最基本的语言都不知道吧,这是不太现实的。

看上图,首先学习分阶段性:

第一阶段: HTML、DIV+CSS及相关的前端基础知识语言;

第二阶段: JavaScript及相关的JQuery、Ajax等交互相关的知识;

第三阶段: JAVA基础,面对对象思想以及IO流等JAVA基础知识;

第四阶段: JSP及Servlet,以及相关的JDBC连接数据库等相关的知识;

第五阶段: Java及JSP、Servlet等相关知识学完后,之后就是数据库Mysql、Oracle等相关知识;

第六阶段: 三大主流框架Spring、Struts2及Hibernate,抑或是Mybatis等框架,学完框架基本上就OK了,就可以出去找工作了;

总共6个阶段,文字写起来看起来就简单的几个字,但是实践起来确实不是那么容易,当然了如果你很聪明的话除外。总之,自学的话,需要极强的自控能力,不能3天打鱼2天晒网。只有坚持下来,才能事半功倍。这6个阶段分的都比较大,不是很细,但是符合一般人的思维,如果分的太细,往往会导致不知所以然。

自学的话,还要注意理论+实战项目,不能只看书,只看网上的视频,而不去做项目,可以网上搜索下载相关的实战项目视频,先跟着视频一步步的敲起来,等到基础扎实了,然后在慢慢的脱离视频,自己去开发相关的项目。要不然的话,光看书的书,理解程度不会很深。

如果需要相关的学习视频,可以关注“小熊社长”头条号,私信我视频学习资料。希望能够对楼主有所帮助。


小熊社长


现在越来越多的软件开发者使用JAVA开发,那么为何JAVA会这么流行呢?个人觉得主要有两个原因:

1、是当前移动互联网的快速发展,大家都知道JAVA可以用来做Android开发、大数据开发、Java Web开发等等,之后5G时代的到来更是推动了移动互联网飞快发展;

2、JAVA相对于C/C++语言来说,它的语法方面比较简单,所以它的入门不是很难,现在外面很多IT培训机构都在推一些“21天带你快速掌握JAVA开发”、“掌握JAVA轻松月入过万”等教程,足以说明JAVA的流行。

那么,如果是零基础学习JAVA开发,几个月如何能掌握,我觉得首先这个和学习者本身的天赋有很大关系,其次选择学习资料或者老师也很重要,一般来说,其实1个月入门不成问题,3个月内能达到掌握的水平。

小编头条上有相关JAVA视频教程,喜欢的话可以关注小编私信获取。

希望能帮助到你!


神马影视精选


我要死了,给孩子留遗言,猜我会留什么?只一句话:Repetition is the mother of all learning. 重复是学习之母。他们将来长大,学知识,技巧、爱情、事业、交流....倘若不怕重复,不怕犯错误,那就大有希望靠近幸福了。


给你推荐一个Java的学习路径,核心是动手实战,策略是重复练习。从Java基础、JDK、JDBC、正则表达式等基础开始,进阶到 J2SE 和 SSH 框架学习。通过使用 Java 语言实现日记本,个人相册、编辑器、通讯录等,实践 Java 编程基础,SSH 项目实战以及Java Web 应用开发。


吐槽一下:头条不能插入外链这一点真是让人下体疼啊....以下练习教程链接大家可以在实验楼微信公众号(实验楼)回复关键字“Java路径”直接获取到,不需要任何别的操作。


JAVA基础

  1. Java编程语言(新版

2. Java进阶之设计模式

3. JDK 核心 API

4. MySQL 基础课程

5. 正则表达式基础

6. JDBC 入门教程

J2SE & SSH框架

7. Java 函数式编程

8. J2SE网络通信实践

9. Struts框架教程

10. Hibernate框架教程

11. Spring框架入门教程(新版)

12. MyBatis 框架基础入门

13. Spring MVC 简易教程

基础项目

  1. Java开发简单的计算器

使用 Java 语言完成一个简单的计算器。将使用到 Java Swing 图形组件等等。带你深入学习如何制作 Swing 图形化界面以及为 UI 组件设置事件响应逻辑。


2. Java 实现日记软件

做一个简单的 Java 日记软件,可以实现用户的注册、登录以及对日记的各种操作。同学们可以用自己做出的日记软件来记录自己的生活。涉及了包括 Swing 界面编程、文件和IO流操作、JDOM 解析 XML 文档等方面的知识点。


多人在线协作文档编辑器是一个很常用的功能,适合小组内的文档编辑;使用java编写代码,应用非常流行的spring mvc框架,引入ckeditor插件,并加入localStorage缓存技术,最终利用Eclipse完成。非常适合Java学习者用于练手。


使用 Eclipse 开发,配合 Java 语言完成一个 Java 编辑器。它的主要功能:1、Java代码的编辑 2、编译及运行Java程序。


5. SSM 框架整合实例

SSM(Spring+Spring MVC+MyBatis)是媲美于 SSH 框架的轻量级 Java EE 框架。


6. Java 编写数独计算器

使用Java实现数独游戏的核心算法,在感受数独的魅力中通过Java编写桌面程序完成数独计算器,完成对Java基础知识点的学习和巩固。


7. Java实现简单的支付平台业务流程

模拟支付平台上买家付款到支付平台,卖家从支付平台取款的简单业务流程,最终结果以控制台输出形式展现。通过此流程,详细了解 Java 线程与同步。


8. 基于 Servlet 的简单验证码图片生成

通过在后台的 Servlet 生成验证码图片,传递到前台 HTML 页面展示。通过本教程的练习可以进一步熟悉 Servlet、Random 函数、StringBuffer 、OutputStream 等等,掌握基础的验证码生成。


9. SSM + easyUI 搭建简易的人事管理系统

SSM(Spring + Spring MVC + MyBatis)框架是媲美于 SSH 框架的轻量级 Java EE 框架。easyUI 是一组基于 jQuery 的 UI 插件集合体,它的目标就是帮助 web 开发者更轻松的打造出功能丰富并且美观的 UI 界面。


好啦就先上这些吧,要是有帮助的话,后面就再更新。希望你学习进步。


分享到:


相關文章: