学习Java需要一个系统的过程,不同的学习方向也需要不同的学习时间。目前Java广泛用于Web开发、大数据开发、Android开发以及各种后端服务开发领域,通常情况下,学习Java都从Web开发开始学起。

Java开发需要学习三大块内容,分别是Java基础语法、JavaWeb基础和框架开发。Java基础语法部分是学习Java语言的重点和难点,需要重点掌握类、对象、属性、方法、封装、继承、多态等一些列概念,另外还需要做大量的实验,需要掌握一系列实验方法,这部分的学习通常需要一个月左右的时间。

Java基础语法

学习java你要先进行去了解JDK,JRE,JVM。JDKJava开发工具包。JREJava语言开发的运行环境。JVMJava虚拟机,用于Java语言的跨平台所用。当你下载jdk之后,jdk中包含jre,jre中包含jvm。

1.java运行原理

2.Java中的变量:

基本类型包括四类八种:

整数类型:byte,short,int,long

浮点数类型:float,double

字符类型:char

布尔类型:boolean

注:bit:比特,指的是二进制的位数

java语言中除基本类型之外所有的变量类型都为引用类型,所有对象都是通过引用对其操作的;程序员单身是一个通病,但是可以new一个对象,我们的对象就是一个引用类型,声明一个引用类型的变量,如Strings;//声明了一个String类型的引用变量,但没有使它指向一个对象,s是存放在栈中的。

s=newString("Helloworld!");//使用new语句创建一个String类型的对象,并用s指向它,之后就用s对其操作;new出来的对象是存放在堆中;

3.java运算符

运算符(一种带有功能的符号)分为以下几种:

算术运算符:

特别注意:++--出现在操作数值的左边和右边结果是不一样的

JavaWeb基础

1.web服务器与HTTP协议

web服务器的大概念很广泛,但是通俗易懂的来说,就是指的是网站服务器,它是建立在Internet之上并且驻留在某种计算机上的程序。或者再简单来说,你的电脑安装了服务器软件并且连上了Internet,那你的电脑就可以说一个服务器了,对就是这么简单,并不是多么高深的知识。只不过就是性能各个方面比较低就是了。一般公司中会有个专门个性能强悍内存大的计算器安装这个服务器软件,如果有人参观过公司的机房,那么那一个个的黑盒子,就是服务器了。大家注意到服务器软件,没错这就是我们日常开发不可避免要使用到了,开发人员开发完项目后,需要把项目配置到服务器软件上,上线了之后,用户就可以通过客户端或浏览器访问服务器中项目所在的路径,请求到他所需的资源了。

2.tomcat服务器

tomcat的身份可以看作一个WEB容器,但实际上是一个应用程序服务器。应用服务器处理业务逻辑,web服务器是用于处理HTML文件的。web服务器通常比应用服务器简单,如apache就是web服务器,Jboss就是EJB应用服务器

开发JavaWEB项目的时候,你只要搞明白其请求的流程:客户端浏览器——>WEB服务器——>应用程序服务器。

3.HTTP协议

HTTP是hypertexttransferprotocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。HTTP协议是学习JavaWEB开发的基石,不深入了解HTTP协议,就不能说掌握了WEB开发,更无法管理和维护一些复杂的WEB站点。

Java框架开发

1.web框架

web框架是一种开发框架,用来支持动态网站,网络应用和网络服务的开发。这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方法。web框架已经实现了很多功能,开发人员使用框架提供的方法并且完成自己的业务逻辑,就能快速开发web应用了。浏览器和服务器的是基于HTTP协议进行通信的。也可以说web框架就是在以上十几行代码基础张扩展出来的,有很多简单方便使用的方法,大大提高了开发的效率。

2.wsgir模块

最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回。如果要动态生成HTML,就需要把上述步骤自己来实现。不过,接受HTTP请求、解析HTTP请求、发送HTTP响应都是苦力活,如果我们自己来写这些底层代码,还没开始写动态HTML呢,就得花个把月去读HTTP规范。正确的做法是底层代码由专门的服务器软件实现,我们用Python专注于生成HTML文档。因为我们不希望接触到TCP连接、HTTP原始请求和响应格式,所以,需要一个统一的接口协议来实现这样的服务器软件,让我们专心用Python编写Web业务。这个接口就是WSGI:WebServerGatewayInterface。而wsgiref模块就是python基于wsgi协议开发的服务模块

总结

在掌握JavaWeb开发内容之后,如果想往大数据方向发展,还需要学习Hadoop平台的相关知识,Hadoop平台的生态体系也比较复杂,包括Hbase、Hive、Pig、Mahout、Zookeeper、Avro等一系列内容,要想完成Hadoop平台的入门也需要大概3个月左右的时间。在学习完Java的基础内容之后,一定要通过实际项目进行锻炼和提高,Java作为一种工具,只有在使用的过程中才能逐渐深入。

java http请求_零基础学Java,掌握Java基础难不难?相关推荐

  1. python还是java好找工作_你觉得学 Python 还是 Java 更好找工作?

    java是一门资深的编程语言,也是普及率比较高的一门语言,有着非常丰富的第三方库,在市场上的需求量也是非常高的,可以从事web开发.网络开发以及app开发等工作,这些都是通过java来实现的,也是一种 ...

  2. java http请求_如何设置Fiddler来拦截Java代码发送HTTP请求,进行各种问题排查

    我们使用Java的RestTemplate或者Apache的HTTPClient编程的时候,经常遇到需要跟踪Java 代码发送的HTTP请求明细的情况.和javascript代码在浏览器里发送请求可以 ...

  3. 新手学淘宝美工设计难不难?零基础如何才能学好淘宝美工设计?

    本文由:"学设计上兔课网"原创,图片素材来自网络,仅供学习分享 新手学淘宝美工设计难不难?零基础如何才能学好淘宝美工设计?小编最近收到很多这样的留言,那么零基础的小白应该如何学好淘 ...

  4. 学java还是安卓_零基础学安卓好还是学java好

    零基础学安卓好还是学java好 关于Java的学习很多同学都有这样或者那样的疑问,比如我是自学Java好呢还是参加Java培训好呢?Java好学吗?安卓和java哪个难学等等.今天我们就先简单的来看两 ...

  5. java学习出师_零基础学java来这里 出师如此简单

    当今时代是互联网的时代,互联网时代的到来,使得我们的生活更加便利,同时互联网时代的到来也大大增加了市场对于技术人才的需求,在此时,Java编程语言的许多特性势使得它迅速成长,学习的人也越来越多 jav ...

  6. java培训学费_零基础Java培训大概多少钱

    Java培训多少钱,这个问题是我们准备学习Java的小伙伴比较关注的,特别是从零基础开始来学习Java的小伙伴,对这个行业不太了解,为了防止上当受骗,了解清楚还是比较好的,那么零基础Java培训大概多 ...

  7. 零基础编程学python还是java_零基础学python还是java 二者有哪些区别

    对于初学者来说,python相对比较简单.python的语法类似于伪代码或普通英语,不需要严格的代码结构,入门简单. 零基础适合python还是java 从语言本身来说,python是出了名的简洁.p ...

  8. Java是一门艺术讲究说学逗唱--Java基础语法

    Java是一门艺术,它讲究说学逗唱,一起领略java语法的美 Java 版本概述 在 Java 这门语言体系当中,最基础的部分就是 Java SE 部分,Java 的标准版本.它包括 Java 最基础 ...

  9. 小白学习python好还是java好_小白应该学Python还是Java?

    Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手.但是对于初学者来说,非常困惑,因为时间和精力有限,上手必须要先学一门,到底选那个好呢,今天3分钟带你透彻 ...

  10. java数据库的量级_程序员学Python还是Java?分析了8张图后得出这个结论

    Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手.但是对于初学者来说,非常困惑,因为时间和精力有限,上手必须要先学一门,到底选那个好呢,今天3分钟带你透彻 ...

最新文章

  1. 【NIO】Selector
  2. 超声波传感器特性测量:发送与接收传感器之间的差异
  3. 【Android 应用开发】Android中使用ViewPager制作广告栏效果 - 解决ViewPager占满全屏页面适配问题
  4. linux的ip地址是127,Linux的IP地址显示127.0.0.1的解决办法
  5. Linux学习系列之Nginx调优实战
  6. 芯片的反向流程是怎么样的?
  7. LeetCode 1489. 找到最小生成树里的关键边和伪关键边(并查集+kruskal最小生成树)
  8. C++ opengl 对OpenGL中矩阵设置的初步认识
  9. SSH连接virtualbox中的虚拟机
  10. FLEX Tree动态获得信息时遇到的问题总结
  11. zoj2432 hdoj1423 最长公共上升子序列(LCIS)
  12. 2017 秦皇岛CCPC Balloon Robot (ZOJ 3981)
  13. 沃兹批评苹果避税:纳税还不如我积极
  14. 微信小程序使用组件实现移动端软键盘
  15. 牛年新生儿取名:用诗经给男宝宝起名字
  16. mysql 1032 1062_mysql slave频繁报1032_1062错误
  17. ObjectAnimator旋转动画
  18. Mybatis一对多和多对一联系处理
  19. 8000字解读全域用户体验丨星巴克的尖刀与钝点
  20. Oracle ojdbc6-11.2.0.3.jar下载以及Maven手动安装jar包

热门文章

  1. karto探秘之open_karto 第一章 --- 数据结构与类的初始化
  2. 如何使用文件的fseek函数对文件指针进行操作
  3. 工业大数据技术简介--来源、特点、关键问题以及案例
  4. Inkscape软件的使用与处理svg格式图片
  5. python中的pickle解析
  6. Vue2.0源码阅读笔记(三):计算属性
  7. handbook/CentOS/使用免费SSL证书让网站支持HTTPS访问.md
  8. ARC和MRC混合使用
  9. [AHOI 2012]树屋阶梯
  10. EJS脚本中MD5应用