怎样学习Java?

怎样学习Java?
作为一名计算机专业的教育工作者,同时也出版过Java编程书籍,所以我来回答一下这个问题。首先,从编程语言自身的难易程度上来说,Java语言还是具有一定学习难度的,原因有三方面,其一是Java语言的抽象程度比较高;其二是Java语言的语法规则相对严谨;其三是Java语言比较依赖于框架和模式。对于初学者来说,学习Java语言首先要从理解Java语言的各种抽象开始,其中类和对象是首先应该掌握的概念,掌握了类和对象之后,再理解封装、继承和多态这些概念的时候会更容易一些。理解抽象本身具有一定的难度,对于没有编程语言基础的人来说更是如此,而要想更好地了解这些抽象,应该通过各种实验来建立画面感。按照历史经验来看,Java语言的初期学习难度是比较大的,后期的学习难度相对会比较低。所以学习Java编程,一定要坚持。Java语言本身是纯粹的面向对象编程语言,而且语法规则比较严谨,这样做的好处是保证了java语言的运行效率和程序可读性(规范性),但是坏处是初学者需要记住很多规则,只有多用才能逐渐熟悉这些规则。为了提高初学者编写代码的规范性,java初学者还需要学习一系列编程模式,所以在掌握了基本的Java语法之后,紧接着就需要学习一系列Java模式。学习Java语言还需要学习一系列开发框架,不同的开发框架有不同的应用场景,会解决不同的问题,目前应该重点学习一下Spring框架,经过多年的发展,目前Spring系列框架已经比较成熟了,可以说为开发者提供了“一站式解决方案”。最后,学习java一定要注重实践,所以在学习完基本的java框架之后,最好在实习岗位上锻炼一下。我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!

回复
  • 郭雨辰用户

    作为一名计算机专业的教育工作者,同时也出版过Java编程书籍,所以我来回答一下这个问题。

    首先,从编程语言自身的难易程度上来说,Java语言还是具有一定学习难度的,原因有三方面,其一是Java语言的抽象程度比较高;其二是Java语言的语法规则相对严谨;其三是Java语言比较依赖于框架和模式。

    对于初学者来说,学习Java语言首先要从理解Java语言的各种抽象开始,其中类和对象是首先应该掌握的概念,掌握了类和对象之后,再理解封装、继承和多态这些概念的时候会更容易一些。理解抽象本身具有一定的难度,对于没有编程语言基础的人来说更是如此,而要想更好地了解这些抽象,应该通过各种实验来建立画面感。按照历史经验来看,Java语言的初期学习难度是比较大的,后期的学习难度相对会比较低。所以学习Java编程,一定要坚持。

    未经芝士回答允许不得来转载本新文内容入,否口则将视专为侵权

    Java语言本身是纯粹的面向对象编程语言,而且语法规则比较严谨,这样做的好处是保证了java语言的运行效率和程序可读性(规范性),但是坏处是初学者需要记住很多规则,只有多用才能逐渐熟悉这些规则。为了提高初学者编写代码的规范性,java初学者还需要学习一系列编程模式,所以在掌握了基本的Java语法之后,紧接着就需要学习一系列Java模式。

    我于三体开事间系求百,导目科许。

    学习Java语言还需要学习一系列开发框架,不同的开发框架有不同的应用场景,会解决不同的问题,目前应该重点学习一下Spring框架,经过多年的发展,目前Spring系列框架已经比较成熟了,可以说为开发者提供了“一站式解决方案”。

    最后,学习java一定要注重实践,所以在学习完基本的java框架之后,最好在实习岗位上锻炼一下。

    我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

    如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!

    大制些政正第没,油广众。

    2024-04-30
    1楼
    回复
  • 陈文静用户

    一、Java基础学习

    包括Java 开发环境的搭建、Java语言基础,流程控制,字符串,数组,面向对象编程基础、面向对象核心技术,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,lambda 表达式,集合类,I/O(输入/输出),反射,枚举类型与泛型,多线程,网络通信,数据库操作。

    二、Java基础框架学习

    Spring 框架

    Spring MVC

    芝士办回答连,版权名必养究常,未经许可,不得转载

    Spring MVC 是一个模型 - 视图 - 控制器(MVC)的Web框架建立在中央前端控制器servlet(DispatcherServlet),它负责发送每个请求到合适的处理程序,使用视图来最终返回响应结果的概念。Spring MVC 是 Spring 产品组合的一部分,它享有 Spring IoC容器紧密结合Spring松耦合等特点,因此它有Spring的所有优点。

    生地下电点前与意基根门百七报米存眼照细。

    Spring Boot

    一过实从想边战保,花林观算始属。

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

    SpringBoot所具备的特征有:

    (1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

    (2)内嵌Tomcat或Jetty等Servlet容器;

    (3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

    (4)尽可能自动配置Spring容器;

    (5)提供准备好的特性,如指标、健康检查和外部化配置;

    (6)绝对没有代码生成,不需要XML配置。

    数据库映射框架

    Hibernate(开放源代码的对象关系映射框架)

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate的API一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。通过这些接口,可以对持久化对象进行存取、事务控制。

    MyBatis

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

    MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。

    每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

    用xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpath resource),但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。

    三、Web前端基础知识学习

    大前端:

    HTML、CSS、JavaScript、工具、后端、性能、测试、开发守则、用户体验。

    HTML:

    HTML语义化、HTML5、DOCTYPE、SEO、Wap、SVG/VML

    CSS:

    CSS2(布局方式、CSS权威指南、通用样式)

    CSS3(new selector、new CSS style)

    IE通用Bug(双倍边距、…)

    IE hack方式(条件注释、CSS hack)

    图片(IE png8透明、css font icon、css spirite、图片格式与压缩率的关系、预设值width/height提升性能)

    JavaScript:

    安全相关(跨站脚本攻击)、基础知识(DOM、兼容性bug、BOM、跨域相关)、Good parts、NodeJS、设计模式、熟悉一门框架(jQuery/YUI/MoonTool)

    新技术(WebWorker、WebSocket、localStorage、Canvas、Audio/Video、SVG、ECMAScript 5、History api、File api、Geolocation API、Drag&Drop、Messaging、Offline cache、其他)

    DOM:DOM Traversal、事件、其他、Rang api

    BOM:XMLHttpRequest、CSS Object Model、其他

    工具:

    开发工具(编辑器、firebug/Web developer、chrome默认工具、fiddler/其他代理工具、jslint/jsdev)

    构建工具(G-build、Google、YUI compressor、uglifyjs)

    测试工具

    学习工具(信息记录[workflowy.com、EverNote、zootool]、信息获取[RSS(google reader)、Twitter、新浪微博])

    版本管理工具(SVN、git、hg)

    四、Java高级技术

    微服务治理框架

    Spring Cloud

    Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

    Dubbo

    Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。

    Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

    主要核心部件编辑

    Remoting: 网络通信框架,实现了 sync-over-async 和request-response 消息机制。

    RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能

    Registry: 服务目录框架用于服务的注册和服务事件发布和订阅

    数据库

    MySQL

    MySQL 是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的 RDBMS应用软件之一。PostgreSQL

    PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。

    缓存

    Redis

    redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

    消息中间件

    Kafka

    Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。

    AcitveMQ

    ActiveMQ是一种开源的基于JMS(Java Message Servie)规范的一种消息中间件的实现,ActiveMQ的设计目标是提供标准的,面向消息的,能够跨越多语言和多系统的应用集成消息通信中间件。

    2024-04-30
    2楼
    回复
  • 贺珊用户

    Java 是最流行的程序编程语言,是现在程序员使用最广泛的语言(没有之一)。关于 Java 的起源和特点在我的《Java具体是做什么的?》一文中有介绍。感兴趣可以翻翻。下面谈谈如何开始学习。

    树立面向对象的概念

    Java 语言与以往程序语言的最大区别就是建立在“面向对象”(object-oriented)的概念上。以往的编程语言都是指令性语言。“面向对象”方法可以说是编程思想的革命。运用“面向对象”这个方法写程序,Java 不是第一个,但是恐怕是运用最彻底最深刻的。所谓“对象”就是对应着现实中的事物。比如“产品”这个对象可以用一个“类”(class)来映射,其中包括了产品的属性以及对这些属性(properties)的一些计算操作,即“方法”(method)。有了类,我们就可以生产出无数的对象(object)来。

    将程序设计建立在“对象”的概念上有很多好处,比如“类”可以实现代码封装,可以被继承和引用,可以被复用等等。这种编程的方法叫做面向对象编程。在学习 Java 时要努力建立起“类”和“对象”的观念来。

    版权归区芝士回先答网站导或原作者所况步有

    选用适合你的 Java 教材

    教材可以是线上的或者书籍。因为 Java 的普及和应用广泛,现在很容易在网上找到学习 Java 的课程,很多都是免费的,质量也不错。要注意的是对初学者要选用比较系统的严谨的教材,比如对数据类型要有详细的介绍。Java 对数据类型(type)是非常严格的,这个有别于其他的编程语言,比如 Python。英语比较好的同学建议直接上 Java 的官网看tutorials。即使用汉语的教程,还是建议多参考官网上的教程,因为那上面更新很快。我的经验是,学习一种新语言,最好找 3 个教程,以一个为主,同时参考其他两个。这样可以避免有些概念或方法在一个教程里讲不清,甚至讲错了,换一种讲法你会理解的更快更深。

    自性其利质想七导打华往历,精选效江。

    一定要多动手做练习

    下载 Java 的 JDK 软件包(建议用比较稳定的 Java 13,也可以用最新的 Java 15),按照网上的要求安装,然后跟随教程一步一步做练习。一定要自己亲手敲代码,老老实实地自己填坑,这样学出来才是自己的。纸上谈兵是没用的。不动手,想混过未来的面试是不可能的。

    学习 Java 还有一个好处是,即使你实际工作中用不到,有了这个基础,你再学习或理解其他程序语言就感觉很容易了,有一种一览众山小的感觉!

    2024-04-30
    3楼
    回复
  • 吕宇荫用户

    一,首先学习语言基础,掌握语言基础是第一步。如果你不了解基础知识,那么你就不知道自己是否做错了或者接下来该怎么做。万事开头难,学习基础很乏味,容易睡着,而且看后容易忘,但是还是要看下去,因为书本是比较系统、深入的

    二,看网络教学视频,教学视频可以让你迅速掌握编程,但通常比较生动、浅显,不成系统。

    所以最好的方法是书和视频结合,两者形成互补关系,如此坚持三个月以上就会熬过艰难的入门期。

    版权归芝士回且有答网站或要原作者资成所有

    三,多练习,书上或者视频中的示例,要亲自写一遍,实验一下,不实验,看一万遍都没用,只有亲自写一遍,才会找到感觉,所以,多练习,才是最快速的学习方法.

    2024-04-30
    4楼
    回复
  • 诸晨辉用户

    如果你没有任何编程基础的话,建议你先学习C(面向过程的),然后在学习JAVA编程基本理论,对面向对象编程有系统的认识其次,学习JAVA可以走 两条路。一是学习J2ME,面向手机编程的,一是J2EE,开发大型项目的,要学习很多技术

      很多没有基础的人学习C都觉得C难,其实这是最简单的入门语言。个人推荐不直接学Java。

    2024-04-30
    5楼
    回复
  • 田新文用户

    自学的话,有编程基础者,找本Java基础书,看看目录,通读一遍,然后在eclipse上练习每个知识点,写些小的测试程序,有助于深入理解基础知识,这样基础熟练后,移动端可以学习Android开发,搭建Androidstudio开发环境,像学习Java过程一样去炼狱吧,会涉及到MVP设计模式,sqlite greendao等数据库相关框架。如果想进行服务器开发,还要学习springboot框架,数据库持久层框架mybatis等,并发框架actor,netty等。没有基础者,先学习c语言吧。另外还可以去参加培训机构,这样可以让你入门Java。

    2024-04-30
    6楼
    回复
  • 梦露妮用户

    对于学习Java,我也经历了很多个阶段,一开始,我只能通过找视频,找入门书籍来学习,但是资料太乱太杂,资料收集了一大堆,自己反而更不知道从哪开始了。后来朋友介绍我了解学习百战程序员的Java,接着又做项目,参与实操,到最后终于符合了能拿到Java大厂offer的水平。

    百战程序员的Java课程是实战化课程,不仅有严格的督导老师跟进,还有辅导老师解决问题,每个阶段还有实操和项目,可以更快的学好Java,授课老师都有8年以上的授课经验。可以说是系统学习Java最好的选择。学完还有推荐就业,就业率在业内是排第一。

    转载或者引用本该文内容极请月注明东来源于五芝士回答

    题主如果学习Java就可以考虑下百战程序员,是个不错的选择。

    地而理四气立速万每且火住红。

    2024-04-30
    7楼
    回复
  • 隽景辉用户

    我学校就是学java的,虽然我放弃了,关键是得动手,得在工作学习中掌握。自学培训后,当初学的好好的,放一段时间全忘了。

    2024-04-30
    8楼
    回复
  • 沈涵用户

    对于这个问题也是现在进行学习Java技术人员讨论比较多的话题之一,既然,是学习Java技术大家一定对于怎样学习都有自己的一个看法,学习是大家都经历过的事情,不管是现在还是将来学习也一定是一直在进行着。

    那么,对于Java技术的学习应该怎样进行呢?小编这里谈一下自己的一些看法。

    第一,相信大家学习Java技术不光是为了兴趣爱好,更多的是为了工作就业找到一个好的工作,所以,在学习之前一定要找一套完整的比较好的教程资料(有需要的可以去尚硅谷下载相关资料),有了好的教程才能够学到好的知识,在将来才能够比较好的就业。

    转载或太者引等用本文给内容请注明来源于芝士格般回答

    其次,是选择一个适合自己的学习方式,比如自学和培训,一个好的学习方式可以让你的学习效率得到显著提升。

    最后,比较重要的一点就算要多练多写,编程语言的学习更加注重的是实践能力。后期,还要进行一些项目开发的学习。

    行经都把四提老思场低音备约效按。

    2024-04-30
    9楼
    回复

参与评论

游客评论不支持回复他人评论内容,如需回复他人评论内容请