精华内容
下载资源
问答
  • 自学Java怎么入门

    2020-10-12 11:36:55
    自学Java怎么入门 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,...

    自学Java怎么入门

    Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。所以想要做java开发,java基础最需要下功夫的一项,只有打好了基础后面的才会变得容易。

    那么想要有扎实的基础我们应该怎么做呢?

    1.想要基础扎实,看书沉淀是必须的,有一些编程基础的同学推荐阅读《JAVA核心技术 卷1》,可以跳过图形程序设计、事件处理、Swing、applet以及部分日志章节,如果比较吃力也可以先跳过多线程章节。
    2.看完一本书,一定要多加练习去理解和吸收。科班的同学可以用java写实验,写的同时一定要多多运用学到的特性。练习阶段各种设计模式套上去用,不要怕笨重,即使是滥用特性和设计模式也是一种有效的学习。
    3.有了一定量的编程经验后,可以再回过头将《JAVA核心技术 卷1》速读一遍,查漏补缺。同时我们开始扩宽我们的知识领域,开始进行JavaWeb的学习。

    那么,什么是JavaWeb呢?

    JavaWeb是一系列技术的综合,也是大多数Java学习者日后的技术方向。及早的了解JavaWeb也有利于更深层面理解,明白Java在完整的应用中,是如何与各个模块交互并发挥作用的。

    JavaWeb基础:

    基础篇包括Servlet和JSP的学习、tomcat的使用、理解MVC分层模式、mysql的基础用法及JDBC、了解http协议。
    这部分的学习,我是通过《Head First Servlets and JSP》 。这本书轻松幽默读起来很愉快,但是实在是很厚,而且部分技术已经过时,有时间的同学可以选读。
    可以看到这部分的内容是很杂且多的,此阶段注重广度的基础学习,日后慢慢深入。这里推荐个在线教程:
    Servlet系列教材 (一)- 基础 - 教程:开发第一个Servlet - how2j.cn
    mysql系列教材 (一)- 安装mysql-server - how2j.cn
    Tomcat系列教材 (一)- 教程 - how2j.cn
    JSP系列教材 (一)- 教程 - how2j.cn
    HTTP协议系列教材 (一)- 教程 - how2j.cn
    JDBC系列教材 (一)- Java 使用JDBC之前,先要准备mysql
    MVC系列教材 (一)- 教程 - how2j.cn
    重点要理解Servlet的原理以及生命周期。在完成这一部分的学习后,可以简单的做个小网站,包括注册登陆,增删改查等功能。当然,每个人的情况不同,如果还想更深入熟悉或者折腾还可以把项目上传到阿里云等地方。

    Java进阶
    Java始终是我们JavaWeb开发体系中最核心的一环,唯有不停地探索,才能把握住方向和机遇。

    在做完一个简单完整的JavaWeb项目后,我们对代码的认知和理解会提高不少,这对接下来的深入学习打下基础。Java圣经:《JAVA编程思想》 值得仔细品读,虽然很多内容可能无法理解,但每次读完一定会有所收获的哟。
    读完编程思想,建议写一个有一定复杂度和代码量的后台项目。可以是一个http服务器,一个大型聊天室等。
    做完项目我们又该看书沉淀技术了,大家可以阅读《Effective Java》,这本书并不厚但是干货十足,作者讲述Java的最佳实践和经验规则。它能帮助我们写出清晰、健壮、高效的代码,同时这本书涵盖了非常多的面试考点,一定要牢记于心!
    最后还要深入学习Java多线程技术以及Java虚拟机原理,这两部分难度较大,理解起来比较抽象。也许日后工作中,我们很少遇到并发问题,不一定有机会进行JVM调优,但是这部分一定要认真对待,越理解底层写出的代码越高效,查bug时越准确。

    JavaWeb进阶

    Linux,现在的服务器基本都是Linux系统,也不存在图形化操作界面。作为开发工程师推荐阅读《The Linux Command Line》,有中文在线免费版本TLCL。学习的时候,可以去阿里云或腾讯云租一个学生服务器,每个月大概10元左右,直接ssh到云服务器上操作,能更好地模拟公司的开发及生产环境。
    操作系统原理,主要学习进程控制调度、进程通信、存储和设备管理、文件管理以及系统安全。这一部分可以通过看教材或者自行找一些网课补充。
    数据库,可以买一本《MySQL必知必会》小册子作为基础入门,没有什么理论的堆砌,是一本实践指南。学习数据库原理可以阅读《MySQL技术内幕》索引优化、事务、锁、范式都是重点。
    网络协议,入门可以读《图解HTTP》《图解TCP/IP》如果要深入研究可以读《UNIX网络编程 卷1》和《TCP/IP详解 卷1》大多数开发者接触http和tcp、udp、ip协议比较多,但是对整体网络协议栈有个完整了解是必要的。
    数据结构与算法,数据结构是算法的基础,一定要清晰明了。算法则是笔试面试中无法绕过的难关,推荐去LeetCode刷题,现在也有了中文官方网站:力扣 (LeetCode) 中国官网 - 全球极客挚爱的技术成长平台 从easy难度开始刷起,积累一定题量之后,做算法题会很快找到类型方法。
    SSM框架,Spring+SpringMVC+MyBatis可以说是开发必备了,但框架只是锦上添花,不要太依赖框架进行学习。当我们能不依赖任何框架开发完整项目时,才是真正掌握了它。最为重要的是理解Spring的两个特性:IOC 反转控制和DI 依赖注入。明白实现原理以及为什么要使用Spring,只有这样才能在层出不穷的框架中灵活应对,立于不败之地。
    Spring系列教材 (一)- 教程 - how2j.cn
    Spring MVC系列教材 (一)- 教程
    Mybatis系列教材 (一)- 基础 - 入门教程 - how2j.cn

    展开全文
  • 原标题:自学Java怎么入门?首先团长想说的是其实Java并没有你想象中的那么的难,你如果想要入这个行,就要做好一个心理准备,那就是你想走的更远,就得不间断的去学习,去汲取知识,前期不能怕累,不要闲下来就去打...

    原标题:自学Java怎么入门?

    首先团长想说的是其实Java并没有你想象中的那么的难,你如果想要入这个行,就要做好一个心理准备,那就是你想走的更远,就得不间断的去学习,去汲取知识,前期不能怕累,不要闲下来就去打LOL、王者荣耀,有空就得多看看各种开源项目的代码,API的设计方式,各大网站的设计架构,理解各个环节的作用。扩充自己的知识视野。

    9b43c4a26081a6ec9f28eaaf380c2cad.png 1、入门基础

    JAVA语言基础、循环、数组;了解类和对象;

    OOP封装、继承、多态;

    java.util.*包下的常用类讲解;

    JDK语言包的常用函数;

    数据库基础及JDBC;

    IO流操作,多线程及Socket。 2、前端基础

    HTML基本标签;

    CSS样式表;

    JAVA;

    Ajax;

    jQuery;

    状态管理Session和Cookie;

    动态网页技术;

    JSP数据交互;

    JSTL和EL表达式;

    Servlet、Filter、Listener;

    分页和文件上传。 3、主流技术应用

    Spring应用

    Hibernate应用

    Struts2应用

    Redis应用 4、模拟实际项目开发

    SpringMVC的应用

    Redis+Mysql的查询优化设计

    Nginx的使用

    Mysql集群方案

    通过第一阶段的学习掌握Java语法和常用类,数据库入门技术相关知识。让自己对于存储,IO,这些有个大概的了解。这时候,千万不要深入了解多线程和socket,谨记谨记。

    通过第二阶段了解前端相关的技术,如果你喜欢前端各种酷炫的效果,那么就深入学习JS、CSS。不大感兴趣的话,就浅尝辄止,并重点学习Servlet、Filter、Listener。重点学习,重点学习,重点学习。 重要的话说三遍!

    通过第三阶段了解目前Java领域使用率很高的三大框架,了解他们的大概功能,并加以使用。通过使用SSH开发一个简易CRM之类的项目来加强了解,理清楚框架的大致原理。并了解Redis相关的指令及数据结构,应用到CRM里。

    通过第四个阶段了解更简单易用的SpringMVC,应用和存储集群相关的概念及实现方案。让自己具备一个设计高可用,可扩展的项目框架视野。这样对于后面继续专研SpringCloud / Dubbo、zookeeper这些RPC相关的框架有很大的好处。

    最后,你想自学的话,我提到的这些东西都能搜到对应的资料,无非多踩点坑罢了。但是,看文档or项目永远进步不了。一定要上手敲,想再多也不如动手。有机会联系一名优秀学长,有个走在前面的人给你指路肯定比你自己走要快得多。

    责任编辑:

    展开全文
  • 自学 Java 怎么入门

    2019-05-16 19:01:42
    自学 Java 怎么入门? 在大学自学 Java。看视频教程和代码能看懂 自己写就写不出来,怎么样能够入门? 给你推荐一个写得非常用心的Java基础教程:Java入门基础教程 | 天码营 这个教程将Java的入门基础知识贯穿在...

    自学 Java 怎么入门?

    在大学自学 Java。看视频教程和代码能看懂 自己写就写不出来,怎么样能够入门?

    给你推荐一个写得非常用心的Java基础教程:Java入门基础教程 | 天码营

    这个教程将Java的入门基础知识贯穿在一个实例中,逐步深入,可以帮助你快速进入Java编程的世界。万事开头难,逐步跟着这个教程走一遍,对Java应该就会有一种入门的感觉了。然后再去学习更高级的主题,或者更深入地学习其中的某些知识点。

     

    入门之后,可以考虑以下学习路径和内容:

    1、学习的基本路径

    首先建立好开发环境非常重要,工欲善其事,必先利其器。做任何开发,首先就是要把这个环境准备好,之后就可以去做各种尝试,尝试过程中就能逐渐建立信心。初学者往往在环境配置中被各种预想不到的问题弄得很沮丧。

     

    建立起来环境了,改变世界就靠你的代码了。学习一门编程语言没有太多的诀窍,你可能可以去找一本比较好的经典的入门书籍,现在网络上也有非常多的资料,图文或者视频都可以,根据个人喜好选择。最重要的练习,熟能生巧,在不断的练习中去加深自己对程序语言的理解。

     

    接下来你需要了解这三个术语,叫SDK、API跟Lib,分别表示软件开发套件,应用编程接口和库。这三者之间其实有一定的联系,或者是交叉。总体来说,它们都是给我们提供的一些封装了底层功能的基础设施。做Java开发的话,这些东西通常体现为我们所经常说的“框架”。事实上要成为一个资深的Java开发者,对各种API和框架的学习,可能是花时间最多的一个地方。

     

    当然你也不可能把所有API或者SDK种的所有内容完全弄懂。在软件开发中也有二八原则,少数的API能够胜任开发中的大部分场景。所以你只需要掌握这些关键部分,当在新场景下遇到不能解决的新问题时,再去查看帮助文档。所以帮助文档的阅读也是技术学习的一个关键因素。了解了基础原理之后一般就能上手开发了,帮助文档可以帮助你在实践中学习。

     

    2、三个神器

    三个神器,对于软件开发者来说非常重要。

    • 第一个Google,虽然因为各种原因的话有时候我们访问不了,但是这基本上是可以去寻找技术资料最好的方式。
    • 第二个是Github,之前提到过库的概念,Github就是一个可以找到大量第三方库的地方,那是别人给我们封装好的可以复用的代码。比方说造一辆汽车的话,我们经常不要自己造轮子,而Github上可以找到很多优质的轮子,这些轮子还是免费(代码都是开源的),我们应该尽量利用它们来拼装自己的汽车。
    • 第三个是StackOverflow网站,在这个问答网站上你遇到的几乎任何开发问题都能快速找到答案。

    3、Java Web全栈开发的推荐学习内容

     

    简单总结一下,大概包括下面这些内容。每一部分都可以细化成很多知识点,这只是一个粗略的罗列。把它当做技术地图就好了。

    • 开发环境的建立与项目管理:Eclipse、Maven和Git
    • Java编程基础:基本语法、面向对象特性、Java8新特性、更高级库(比如Guava)的使用等
    • 前端开发技术:HTML、CSS、Bootstrap和JavaScript基础
    • Spring基础:依赖注入IoC、面向切面编程AOP、SpringBoot
    • MVC框架:Spring MVC、Struts等,包括URL路由、模板、表单、Session、拦截器等知识
    • 数据访问:关系型数据库、JDBC、Spring JDBC、事务、ORM框架(MyBatis,Hibernate、JPA)
    • 成熟应用的关键功能实现:邮件发送、异步任务、缓存、日志等
    • 应用的测试和部署

     

    下面对每部分的内容详细介绍一下。

     

    4、JSP/Servlet的相关内容

     

    虽然现在各种成熟的MVC框架已经让Java Web开发基本很少使用JSP和Servlet的原生功能了,基本都做了一层封装。但是这部分基础知识建议初学者还是要认真学习。

     

    • Web基础,HTTP协议
    1. C/S模型,浏览器访问网站过程
    2. URL基础知识
    3. HTTP消息——请求和响应
    4. 处理HTTP请求的应用程序
    5. Servlet/JSP简介

     

    • Servlet
    1. Servlet容器,Servlet处理机制,Servlet生命周期
    2. 部署Servlet
    3. ServletContext, ServletConfig
    4. Filter, Event Listener

     

    • JSP
    1. 表达式,scriptlet, declaration
    2. 在JSP中访问Java类
    3. JSP内置对象

     

    • 处理用户输入
    1. HTTP方法——GET v.s. POST
    2. 读取表单数据

     

    • 构建MVC应用
    1. Servlets/JSP存在的问题
    2. MVC设计模式
    3. 使用RequestDispatcher
    4. 在Servlets和JSP中传递数据,EL表达式

     

    • 使用JSTL作为模板
    1. JSP Tag Lib
    2. Core Tag(if, loop)
    3. Function Tag(string, fmt, utils)

     

     

    • Session
    1. Session&&Cookie基本概念
    2. 通过Cookie记录用户状态(类似购物车的例子)
    3. 使用Session跟踪用户(登录)

     

    5、数据库相关的内容

    掌握了Servlet/JSP技术,我们已经可以创建动态的Web应用了。除了动态的Web界面,一个有价值的Web应用必然需要进行数据存储,开发上我们一般称之为数据持久化(Data Persistence)。

    从业务功能的角度出发,简单的应用可以认为就是数据的增删改查。比如一个产品级的博客应用,最核心的功能就是对博客内容的创建、修改、删除和查询,而这些功能都离不开Web服务器背后的数据库系统。

     

    • 数据库基本概念
    1. 实体、关系(表)、记录(行)、列(属性)
    2. 主键、外键等
    3. 数据库表设计的基本原则
    • SQL基础
    1. MySQL基本使用
    2. SQL中的DDL——create,drop,alter,建立主键外键等约束
    3. SQL中的DML——insert, select, delete, update,join
    • JDBC
    1. 数据库连接,连接池
    2. 使用JDBC API访问数据库
    3. 分页查询
    4. 事务的基本概念
    5. JDBC代码的封装与数据访问的三层架构

     

    6、Spring相关的内容

     

    Spring最重要的两个核心功能是依赖注入(DI,Dependency Injection)和面向切面编程(AOP,Aspect Oriented Programming)。其中DI用于管理Java对象之间的依赖关系,AOP用于解耦业务代码和公共服务代码(如日志,安全,事务等)。DI和AOP能够让代码更加简单,具有良好的松耦合特性和可测试性,极大地简化开发。理解这两者是使用Spring框架的基础。

     

    • Spring的核心思想
    1. 依赖注入
    2. 面向切面编程(AOP)
    3. 基于POJO的编程模型
    4. 预置的模板代码(如Spring JDBC)
    • 依赖注入的基本原理
    1. 依赖注入的优点
    2. 依赖注入如何实现
    • 依赖注入的使用
    1. 基于XML的装配方式
    2. 基于Java Configuration的装配方式
    3. 自动装配
    4. 多种装配方式的混用
    5. 处理装配的歧义
    6. 如何注入属性值
    • Spring Bean的作用域
    1. Singleton
    2. Prototype
    3. Request
    4. Session
    5. Global
    • AOP
    1. 切面、目标对象、切点、通知、织入等基本概念
    2. 如何定义切点:定义切点的aspectJ语法
    3. 定义通知
    • 前置通知(Before)
    • 后置通知(AfterReturning)
    • 异常通知(AfterThrowing)
    • 最终通知(After)
    • 环绕通知(Around)
    • 如何给切面传参

    7、Spring MVC相关内容

     

     

    Spring作为Java系的全栈(full-stack)开发框架,当然也对Web开发有着非常好的支持。Spring的Web MVC框架能够使开发者非常容易的开发Web应用,同时能够无缝享受到Spring本身的诸多好处——IoC容器、AOP编程等等。

     

    • Spring MVC基本原理、配置
    1. DispatcherServlet
    2. WebApplicationContext
    3. 处理HTTP请求过程
    • 实现Controller
    1. @Controller, @RequestMapping注解
    2. URL模板模式,@PathVariable
    3. 获取HTTP请求参数,@RequestParam
    4. @RequestMapping方法支持的参数
    5. @RequestMapping方法支持的返回值
    • 视图解析
    1. 处理静态资源
    2. 配置JSP
    3. 配置其它模板引擎
    4. 重定向、Flash Attribute
    • 表单处理
    1. 表单数据绑定
    2. Spring表单标签
    3. 表单验证
    4. 文件上传
    5. Flash Attribute
    • 拦截器Interceptors
    1. Spring MVC请求处理流程
    2. HandlerInterceptor接口
    3. 配置Interceptor
    • 异常处理
    1. 配置错误页面
    2. 使用HTTP状态码
    3. @ExceptionHandler
    4. ControllerAdvice全局异常处理
    • REST API
    1. @ResponseBody和@RequestBody
    2. 处理PUT和DELETE请求

     

     

    8、MyBatis相关内容

     

     

    MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或标注,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录

     

    • MyBatis基础
    1. ORM的概念
    2. 如何定义Mapper接口
    3. 如何定义XML Mapper映射
    4. 如何使用Mapper

     

    • MyBatis的基本使用
    1. SqlSessionFactory
    2. SqlSessionFactoryBuilder
    3. SqlSession

     

    • MyBatis-Spring
    1. 基于Spring如何配置和使用Mapper
    2. SqlSessionFactoryBean的配置
    3. MyBatis Spring Boot Starter的使用

     

    • 增删改查
    1. 熟悉Mapper配置文件
    2. select元素
    3. select的resultType属性
    4. insert元素
    5. update元素
    6. delete元素

     

    • 复杂查询
    1. resultMap元素
    2. association元素
    3. 嵌套结果与嵌套查询
    4. collection元素
    5. discriminator元素
    6. 动态SQL
    7. 分页查询(分页插件)

     

    9、JPA

    ORM框架的出现使得我们能够以面向对象的方式来操作关系数据库,但是长久以来实现应用系统中的数据访问层依然是一件非常繁琐的事情,简单的查询也往往涉及大量重复代码。Spring Data JPA在则基于JPA进一步简化了数据访问层的实现,它提供了一种类似于声明式编程的方式,开发者只需要编写数据访问接口(称为Repository),Spring Data JPA就能基于接口中的方法命名自动地生成实现。

    JPA(Java Persistence API,Java持久化API),定义了对象关系映射(Object Relation Mapping,ORM)以及实体对象持久化的标准接口。 JPA是一套接口规范,JPA的实现主要包括 JBoss 的 Hibernate EntityManager、Oracle 捐献给 Eclipse 社区的 EclipseLink和Apache 的 OpenJPA 等。

    • Spring Data JPA的核心概念
    1. Repository
    2. 使用Repository的步骤
    3. 自定义的Repository接口
    4. Repository接口层次及其方法
    • 定义实体类
    1. 自动生成数据库Schema
    2. @Entity和@Table
    3. @Id和@GeneratedValue
    4. @Basic
    5. @Column
    6. @Transient
    7. @Temporal
    8. @Lob

     

    • 定义一对一关系
    1. @OneToOn
    2. @JoinColumn
    3. unique属性
    4. 双向@OneToOne关联
    5. 双向关联与cascade
    6. 自动映射的命名规则

     

    • 一对多与多对多关系
    1. @ManyToOne
    2. @OneToMany
    3. @ManyToMany
    4. JoinTable
    5. 用@ManyToOne实现多对多
    • 其它
    1. 如何通过方法名创建查询
    2. 分页与排序
    3. @Query标注
    4. 事务

    10、Java Web应用的部署

    • War包规范和结构
    • 在IDE中调试和部署
    • 使用IDE导出War包
    • 将War包部署到服务器
    • 基于Spring Boot的部署

     

    11、其它主题

     

    缓存:EhCache、Spring Cache Manager、数据层缓存、服务层缓存、页面缓存

    安全:Spring Security(HTTP基本验证,角色验证,权限验证)

    任务调度:Spring任务执行器(Executor)

    邮件发送:SMTP协议、spring-boot-starter-mail

    Web Socket:@SubscribeMapping, WebSocketConfig

    日志:SLF4J与Logback、 Spring Boot Logging、 ConsoleAppender/RollingFileAppender 、Sentry、ELK

     

    12、设计模式

     

    参考Java写一套漂亮的代码,哪些设计模式比较常用? - David 的回答 - 知乎

     

     

    13、更进一步

     

    分布式、深入Java虚拟机、针对不同场景的Java技术框架,到这个阶段已经不仅仅是Java的学习了,而是大型应用场景的技术积累、架构设计的精进了。

    小编是一个有着5年工作经验的java'开发工程师,关于java'编程,自己有做材料的整合,一个完整的java编程学习路线,学习材料和工具,能够进我的群收取,免费送给**723197800**大家,希望你也能凭着自己的努力,成为下一个优秀的程序员。

     

    展开全文
  • 知乎4000赞,自学Java怎么入门

    千次阅读 多人点赞 2020-12-12 17:31:42
    自学 Java 入门系列来了哦

    给你推荐一个写得非常用心的 Java 基础教程:教妹学 Java 入门基础教程

    这个教程将 Java 的入门基础知识贯穿在一个故事中,逐步深入,可以帮助你快速进入 Java 编程的世界。万事开头难,逐步跟着这个教程走一遍,对 Java 应该就会有一种入门的感觉了。然后再去学习更高级的主题,或者更深入地学习其中的某些知识点。

    目前已经连载 41 篇,这里就不再贴了,希望能够对你有所帮助。

    入门之后,可以考虑以下学习路径和内容:

    1、学习的基本路径

    首先建立好开发环境非常重要,工欲善其事,必先利其器。做任何开发,首先就是要把这个环境准备好,之后就可以去做各种尝试,尝试过程中就能逐渐建立信心。初学者往往在环境配置中被各种预想不到的问题弄得很沮丧。

    建立起来环境了,改变世界就靠你的代码了。学习一门编程语言没有太多的诀窍,你可能可以去找一本比较好的经典的入门书籍,现在网络上也有非常多的资料,图文或者视频都可以,根据个人喜好选择。最重要的练习,熟能生巧,在不断的练习中去加深自己对程序语言的理解。

    事实上要成为一个资深的 Java 开发者,对各种 API 和框架的学习,可能是花时间最多的一个地方。在软件开发中也有二八原则,少数的 API 能够胜任开发中的大部分场景。所以你只需要掌握这些关键部分,当在新场景下遇到不能解决的新问题时,再去查看帮助文档。所以帮助文档的阅读也是技术学习的一个关键因素。了解了基础原理之后一般就能上手开发了,帮助文档可以帮助你在实践中学习。

    2、三个神器

    三个神器,对于软件开发者来说非常重要。

    • 第一个 Google,虽然因为各种原因的话有时候我们访问不了,但是这基本上是可以去寻找技术资料最好的方式。

    • 第二个是 Github,Github 就是一个可以找到大量第三方库的地方,那是别人给我们封装好的可以复用的代码。比方说造一辆汽车的话,我们经常不要自己造轮子,而 Github 上可以找到很多优质的轮子,这些轮子还是免费(代码都是开源的),我们应该尽量利用它们来拼装自己的汽车。

    • 第三个是 StackOverflow 网站,在这个问答网站上你遇到的几乎任何开发问题都能快速找到答案。

    3、Java Web 全栈开发的推荐学习内容

    简单总结一下,大概包括下面这些内容。每一部分都可以细化成很多知识点,这只是一个粗略的罗列。把它当做技术地图就好了。

    • 开发环境的建立与项目管理:Intellij IDEA、Maven 和 Git

    • Java 编程基础:基本语法、面向对象特性、Java8 新特性、更高级库(比如 Guava)的使用等

    • 前端开发技术:HTML、CSS、Vue 和 JavaScript 基础

    • Spring 基础:依赖注入 IoC、面向切面编程 AOP、SpringBoot

    • MVC 框架:Spring MVC,包括 URL 路由、模板、表单、Session、拦截器等知识

    • 数据访问:关系型数据库、JDBC、Spring JDBC、事务、ORM 框架(MyBatis)

    • 成熟应用的关键功能实现:邮件发送、异步任务、缓存、日志等

    • 应用的测试和部署

    4、Java Web 涉及到的内容

    • Web 基础,HTTP 协议
    1. C/S 模型,浏览器访问网站过程
    2. URL 基础知识
    3. HTTP 消息——请求和响应
    4. 处理 HTTP 请求的应用程序
    • 处理用户输入
    1. HTTP 方法——GET v.s. POST
    2. 读取表单数据
    • 构建 MVC 应用

    • Session

    1. Session&&Cookie 基本概念
    2. 通过 Cookie 记录用户状态(类似购物车的例子)
    3. 使用 Session 跟踪用户(登录)

    5、数据库相关的内容

    除了动态的 Web 界面,一个有价值的 Web 应用必然需要进行数据存储,开发上我们一般称之为数据持久化(Data Persistence)。

    从业务功能的角度出发,简单的应用可以认为就是数据的增删改查。比如一个产品级的博客应用,最核心的功能就是对博客内容的创建、修改、删除和查询,而这些功能都离不开 Web 服务器背后的数据库系统。

    • 数据库基本概念
    1. 实体、关系(表)、记录(行)、列(属性)
    2. 主键、外键等
    3. 数据库表设计的基本原则
    • SQL 基础
    1. MySQL 基本使用

    2. SQL 中的 DDL——create,drop,alter,建立主键外键等约束

    3. SQL 中的 DML——insert, select, delete, update,join

    • JDBC
    1. 数据库连接,连接池

    2. 使用 JDBC API 访问数据库

    3. 分页查询

    4. 事务的基本概念

    5. JDBC 代码的封装与数据访问的三层架构

    6、Spring 相关的内容

    Spring 最重要的两个核心功能是依赖注入(DI,Dependency Injection)和面向切面编程(AOP,Aspect Oriented Programming)。其中 DI 用于管理 Java 对象之间的依赖关系,AOP 用于解耦业务代码和公共服务代码(如日志,安全,事务等)。DI 和 AOP 能够让代码更加简单,具有良好的松耦合特性和可测试性,极大地简化开发。理解这两者是使用 Spring 框架的基础。

    • Spring 的核心思想
    1. 依赖注入
    2. 面向切面编程(AOP)
    3. 基于 POJO 的编程模型
    4. 预置的模板代码(如 Spring JDBC)
    • 依赖注入的基本原理
    1. 依赖注入的优点
    2. 依赖注入如何实现
    • 依赖注入的使用
    1. 基于 XML 的装配方式
    2. 基于 Java Configuration 的装配方式
    3. 自动装配
    4. 多种装配方式的混用
    5. 处理装配的歧义
    6. 如何注入属性值
    • Spring Bean 的作用域
    1. Singleton
    2. Prototype
    3. Request
    4. Session
    5. Global
    • AOP
    1. 切面、目标对象、切点、通知、织入等基本概念
    2. 如何定义切点:定义切点的 aspectJ 语法
    3. 定义通知
    • 前置通知(Before)
    • 后置通知(AfterReturning)
    • 异常通知(AfterThrowing)
    • 最终通知(After)
    • 环绕通知(Around)
    • 如何给切面传参

    7、Spring MVC 相关内容

    Spring 作为 Java 系的全栈(full-stack)开发框架,当然也对 Web 开发有着非常好的支持。Spring 的 Web MVC 框架能够使开发者非常容易的开发 Web 应用,同时能够无缝享受到 Spring 本身的诸多好处——IoC 容器、AOP 编程等等。

    • Spring MVC 基本原理、配置
    1. DispatcherServlet
    2. WebApplicationContext
    3. 处理 HTTP 请求过程
    • 实现 Controller
    1. @Controller, @RequestMapping 注解
    2. URL 模板模式,@PathVariable
    3. 获取 HTTP 请求参数,@RequestParam
    4. @RequestMapping 方法支持的参数
    5. @RequestMapping 方法支持的返回值
    • 视图解析
    1. 处理静态资源
    2. 前后端分离
    3. 配置其它模板引擎
    4. 重定向
    • 表单处理
    1. 表单数据绑定
    2. Spring 表单标签
    3. 表单验证
    4. 文件上传
    • 拦截器 Interceptors
    1. Spring MVC 请求处理流程
    2. HandlerInterceptor 接口
    3. 配置 Interceptor
    • 异常处理
    1. 配置错误页面
    2. 使用 HTTP 状态码
    3. @ExceptionHandler
    4. ControllerAdvice 全局异常处理
    • REST API
    1. @ResponseBody 和@RequestBody
    2. 处理 PUT 和 DELETE 请求

    8、MyBatis 相关内容

    MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生 Map 使用简单的 XML 或标注,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录

    • MyBatis 基础
    1. ORM 的概念
    2. 如何定义 Mapper 接口
    3. 如何定义 XML Mapper 映射
    4. 如何使用 Mapper
    • MyBatis 的基本使用
    1. SqlSessionFactory
    2. SqlSessionFactoryBuilder
    3. SqlSession
    • MyBatis-Spring
    1. 基于 Spring 如何配置和使用 Mapper
    2. SqlSessionFactoryBean 的配置
    3. MyBatis Spring Boot Starter 的使用
    • 增删改查
    1. 熟悉 Mapper 配置文件
    2. select 元素
    3. select 的 resultType 属性
    4. insert 元素
    5. update 元素
    6. delete 元素
    • 复杂查询
    1. resultMap 元素
    2. association 元素
    3. 嵌套结果与嵌套查询
    4. collection 元素
    5. discriminator 元素
    6. 动态 SQL
    7. 分页查询(分页插件)

    9、Java Web 应用的部署

    • War 包规范和结构
    • 在 IDE 中调试和部署
    • 使用 IDE 导出 War 包
    • 将 War 包部署到服务器
    • 基于 Spring Boot 的部署

    10、其它主题

    缓存:EhCache、Spring Cache Manager、数据层缓存、服务层缓存、页面缓存、Redis

    安全:Spring Security(HTTP 基本验证,角色验证,权限验证)

    任务调度:Spring 任务执行器(Executor)

    邮件发送:SMTP 协议、spring-boot-starter-mail

    Web Socket:@SubscribeMapping, WebSocketConfig

    日志:SLF4J 与 Logback、 Spring Boot Logging、 ConsoleAppender/RollingFileAppender 、Sentry、ELK

    11、设计模式

    12、更进一步

    分布式、深入 Java 虚拟机、针对不同场景的 Java 技术框架,到这个阶段已经不仅仅是 Java 的学习了,而是大型应用场景的技术积累、架构设计的精进了。

    可参考 GitHub 上标星 115k+ 的 Java 教程

    展开全文
  • 自学Java的确不易,但是有一份好的学习路线图,跟着路线图来一步一步踏踏实实的学下来,相信你也一定可以成为大牛。分享给大家一套学习线路图,内容还是很全面的,每个阶段需要学习的内容罗列的也很清楚,这样学起来...
  • 自学 Java 怎么入门?

    千次阅读 2018-11-02 15:37:46
    Java 语言是目前最流行、应用范围最广的服务端编程语言,从各大公司的招聘信息来看,Java 开发的人才需求量也是最大的。 作为刚刚进入Java领域的新同学,无论是高校的毕业大学生,还是有志转行的在职人员,都面临着...
  • 这个教程将Java入门基础知识贯穿在一个实例中,逐步深入,可以帮助你快速进入Java编程的世界。万事开头难,逐步跟着这个教程走一遍,对Java应该就会有一种入门的感觉了。然后再去学习更高级的主题,或者更深入地...
  • 对于每一位才开始接触JAVA的新手来说,先不要管算法和数据结构,大多数简单的程序不需要用到算法和数据结构,所以当你真正需要时再去学习。编程一段时间以后,你就会知道在哪些地方用到他们。 这时知道算法的名字并...
  • 首先大家必须知道,Java并没有我们想象的那么难,如果你确定想要发展的远一些,必须知道一点,就是学习Java是不间断的学习新知识,绝对不可以一劳永逸,任何工作没有不辛苦的,学习更是,前期的学习中千万不要闲着,...
  • Java多年的老司机带你上车全面系统学习Java,并且还能教你如何学习才能在今年拿到一份不错的offer。说到系统全面,就是以目前绝大部分公司招聘要求的知识内容为基准,毕竟我们学习Java都是为了高薪工作,《史记》...
  • 学习一门编程语言没有太多的诀窍,你可能可以去找一本比较好的经典的入门书籍,现在网络上也有非常多的资料,图文或者视频都可以,根据个人喜好选择。最重要的练习,熟能生巧,在不断的练习中去加深自己对程序语言的...
  • 因为在学校的专业不怎么理想。加上舅舅现在就是能android开发的。所以就跟着他后面在公司学学。可是这都两个星期了。还是一点头绪都没有。每天都写一些简单的东西。比如学生信息管理,读取输出ini文件,JSON的读取和...
  • 我再自学的过程中找到了一个Java自学的网站试图解决一些自学中会碰到的问题。 1. 思路、框架、原理 一下子涌进来太多,接受不过来 无论是刚开始接触Java这门语言,还是像现在需要去学习一些新的技术的时候,都会...
  • 以我当初自学的经验来看,写代码写不出来有两种原因: 一种是有思路,但是你不熟悉该语言的语法结构,所以不会写; 另一种情况是:懂语法结构,但是抛开别人的代码你就没有思路了; 当然也有可能上述两种情况的结合...
  • Java入门资料

    2017-08-21 14:41:31
    自学 Java 怎么入门? 菜鸟教程JSP 整理MAC下Eclipse的常用快捷键 Mac下eclipse安装SVN插件 JPA教程 pom.xml详解 Eclipse JSP/Servlet 环境搭建 Servlet浅谈与实战(Mac环境下的eclipse+tomcat+...
  • 自从在网上和大家常常聊聊关于自学编程的话题后遇到很多0基础或者初学编程的朋友,大家给我的感觉是摸不着头脑,很多很简单的问题会走弯路,弄不明白。总结一下,主要以下2个主要问题。 1.自学编程应该选哪种开发...
  • 那么相对应的市场上培训java的就很多了,各种培训机构,自学网站,学习平台,我们应该怎么选择呢,下面我就给大家介绍一个:HOW2J, 目录 一:介绍 二:模块化教学 三:工具材料代码可直接下载 四:项目实战 五:总结 ...
  • 如今的Java编程语言势头非常火爆,... 如果你有条件,负担不大,小编建议你选择Java培训班,选择培训一定会比你选择自学的学习成效要好,如果你培训都学不好,自学就更学不会了。  目前的Java培训费用一般都在...
  • 今天对java进行一次详细的剖析和讲解,零基础的人怎么学习Java。先看下Java在基础阶段的知识点路线图。 内容多吗?不要被吓到了,知识点剖析的比较细,所以看着比较多。不要害怕学不会,经过下面的详解,你就会明白...
  • 毕业之际,相信很多同学都面临着一个巨头的问题,毕业设计怎么做? 现在的大学教育,我们无法说他怎么这么样,这个现状也不是我等人所能改变的。但是我相信很多同学在大学其实根本没有学到什么东西,当然我深深的...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 124
精华内容 49
关键字:

自学java怎么入门

java 订阅