首页系统java实用教程,java这门技能如何自学

java实用教程,java这门技能如何自学

编程之家2024-04-2593次浏览

一、java这门技能如何自学

首先你需要每天给自己定学习时间,有效学习时长一定要够,自控能力不行的话,你就把手机和电脑里的游戏卸载,不要分心,偶尔的房中也是可以的。

java实用教程,java这门技能如何自学

其次,你每天也要学习英语单词,编程都是英语,你的数学统计学,逻辑思维也需要锻炼。

再次,一定练习敲代码,代码量上去,你才会有编程思维,遇到问题就去百度,百度会有你bug的解决方法。

最后,你在哔哩上找视频,按着这个思路去学习,不过这个学习路线是给你的建议

需要掌握的技能深入理解Java面向对象思想掌握开发中常用基础API熟练使用集合框架、IO流、异常能够基于JDK8开发掌握最流行关系型数据MySQL常见操作熟练增删改查数据处理掌握JavaJDBC、连接池操作掌握基本的JavaWeb基础知识JSP/Servlet/jQuery等具备基本的B/S结构软件开发能力可以动手开发一个B/S架构的Web项目掌握SSM框架技术掌握使用Maven进行模块的开发熟悉基本的Linux命令以及Linux服务器的使用掌握高级缓存技术Redis的原理,并熟练使用分布式管理系统、Keepalived+Nginx主备、微服务架构技术、消息中间件技术、MySQL调优、高并发技术、性能优化、内存和GC等

二、java新手如何快速入手并将技能运用到实际项目当中

首先你需要学习好基础知识。当你觉得基础知识学习的差不多时,你可以去找一些简单的实际项目去练习,对着项目敲代码,边敲代码边思考为什么在这个地方用到这个知识。

逐步的去增加你联系的项目难度,这样很快这是一种比较快的学习巩固方式了。

我这有一些不错的学习项目,需要的话可以关注微信公众号:java编程指南

java实用教程,java这门技能如何自学

或者给我私信,我看到了都会回的,希望能帮到你。

三、自学java

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

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

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

java程序员学习线路流程第一步:Java语言基础

从最简单的开始,helloworld开始Java之旅

1.编程基础

java实用教程,java这门技能如何自学

常量与变量

数据类型

运算符

流程控制语句

方法

数组

2.面向对象

面向对象思想

类与对象

成员变量和局部变量

封装

this关键字

构造方法

3.集合

集合概述

集合特点

ArrayList集合

HashMap集合

常用集合优劣比较

4.输入/输出IO

字符输入流

字符输出流

字符缓冲输入流

字符缓冲输出流

复制文件

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

5.练习阶段

属于你自己的helloword

第二步:java语言高级

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

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

1.面向对象

继承

多态

重写(Override)

重载(Overload)

封装

接口

java包package

2.异常处理

异常概述

异常分类

异常处理方案

自定义异常

3.多线程

Java线程:概念与原理

Java线程:创建与启动

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

Java线程:线程生命周期

Java线程:线程池

Java线程:线程状态的转换

Java线程:线程的同步与锁

Java线程:线程的交互等等

线程的几个主要概念

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

线程同步

线程间通信

线程死锁

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

4.输入与输出IO

文件和I/O

读写文件

Java流(Stream)

文件(File)

缓冲流

5.泛型(Generic)

泛型的使用场景

泛型类型

泛型方法

泛型通配符?

6.网络编程

网络机制

Socket原理机制

UDP、TCP传输等

7.反射(reflection)

类加载机制原理

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

Properties配置文件

8.注解(annotation)

注解的使用和原理

三种内置annotation

自定义annotation

注解类的反射调用

动态代理类如何处理

9.Java高级特性和类库

java类加载器classloader

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

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

javajuc(java.util.concurrent)等等

10.JVM原理和调优

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

内存划分简单说分为三个部分,YoungGeneration(年轻代)、OldGeneration(年老代)以及PermGeneration(永久代)。其中的YoungGeneration(年轻代),又分为Eden、From和To,其中From和To又统称为SurvivorSpaces(幸存区)。

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

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

第三步:javaweb阶段

1.前段技术掌握

html

css

js

jquery

bootstrap

2.动态网页技术

JavaServletAPI

Velocity

FreeMarker

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调试工具

firefox

firebug

webdeveloper

yslow

httpwatch

ietester等

这些都是开发必用。

2.集成开发工具

eclipse(首推),STS,myEclipse,Idea

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

JadClipse、run-jetty-run(很牛的热部署调试)、veloctiy、freemarkerIDE、Subclipse、m2eclipse、mybatisEditor、EasyExplorer等等。

3.版本控制工具

svn、git(首推)

4.构建工具

maven、nexus搭建maven私服

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

5.java调试工具

jProfiler(性能跟踪)

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

Visualvm(性能分析和调优)等

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

自编码器,缺少视频编码器怎么解决相似图片搜索引擎(图片搜索识别)