java服务器多少钱,Java具体是做什么的?
Java的起源
Java源自Sun公司的一个叫Green的项目,其初始目的是为家用消费电子产品开发一个分布式代码系统,让人们可以通过这个技术,把E-mail发送给电冰箱、电视机等家用电器,并对家用电器进行控制或与它们进行信息交流。开始,Sun公司的技术人员准备采用C++来完成这个设想,但是C++太复杂,安全性差,使得技术人员不得不放弃直接使用C++。于是技术人员使用C++开发了一种新的语言Oak(Java的前身),Oak是一种用于网络的、精巧而安全的语言,Sun公司曾以此投标一个交互式电视项目,但是这个项目被SGI公司中标。可怜的Oak几乎就要“倒闭”了!恰巧Mark Ardreesen开发的Mosaic和NetScape启发了Oak项目组成员,项目组成员用Java编制了HotJava浏览器,得到了Sun公司首席执行官Scott McNealy的支持,并推动Java进军Internet。
Java的命名也是很有意思的,由于Oak这个名称无法注册商标,Oak小组的成员在讨论给这个语言起个新名字时,也正在咖啡馆喝着爪哇咖啡,这时,有人灵机一动说就叫它Java怎么样,大家都很认可这个想法,于是,Java这个名字就这样诞生了。
Java本身是一种语言,自然可以用来编写各种各样的应用,只不过由于该语言的特性,有些领域是它擅长的,有些领域则是它表现糟糕的地方。实际上,单纯从编程语言的角度来说,Java可以编写的应用是很丰富的,例如:
1、操作系统
开源的Java操作系统——jNode基于Java的嵌入式操作系统——SavaJe XE2、手持设备软件
手机游戏通讯录电话日历3、桌面应用
大名鼎鼎的开发平台——EclipseOralce推出的开发数据库应用的开发工具——JDeveloper4、Web应用
网上银行系统税务系统政务系统淘宝网Java操作系统估计很多人听都没听说过,这是因为这个领域并不是Java语言擅长的,所以即使有,也是很小众和不流行的。
相关概念在深入学习Java之前,有一些基本的概念需要掌握。掌握了这些概念,就可以从全局的角度更好地了解Java。
1、JDK
什么是JDK呢?JDK的全称是Java Develop Kit,即Java开发包(有时也称为Java SDK,Java软件开发包),JDK中包含了Java的类库、执行Java程序所需的运行环境,以及各种开发辅助工具。有了JDK我们就可以开发Java程序了。
2、Java家族的三个成员
在Java家族中,有三个成员:Java SE(Java Standard Edition)、Java EE(Java Enterprise Edition)和Java ME(Java Mobile Edition)。
提示:在Java 1.5及之前版本中,Sun公司使用了J2SE、J2EE,J2ME来命名这三个成员。
1)Java SE(Java Platform, Standard Edition)
Java SE是Java平台的标准版开发包,它包含了Java的核心类库,以及很多常用的工具类。初学者首先就是从Java SE入手开始学习Java开发,我们所说的JDK指的就是Java SE。
2)Java EE(Java Platform, Enterprise Edition)
Java EE是Java平台企业版本开发包,主要用于企业级应用软件的开发。目前有很多大型的应用,都是基于Java EE开发的。例如,某些电子商务网站和税务局的网上报税系统,就是基于Java EE开发的。
3)Java ME(Java Platform, Micro Edition)
Java ME主要应用于手持设备(如手机、平板电脑等)应用的开发。在还没有Android的时候,基于Java ME开发手机应用也是相当流行的,而现在,Java ME已日落西山。
3、Java 1、Java 2和Java 5
Java 1、Java 2和Java 5都是Java语言的版本。1998年12月,Sun公司发布了Java语言的1.2版本,开始使用“Java 2”这一名称,从Java 1.2到Java 1.4,在这3个主要的版本中,Java语言在基本语法和功能特性上没有什么大的变化,所以它们被统称为Java 2。在那个阶段,我们经常会看到J2SE、J2EE和J2ME的叫法。
2004年9月30日,Sun公司发布了JDK 1.5版本,这个版本的Java有了很大的改进,它加入了泛型、枚举、注解等新特性,使得Java编程更加方便。为了纪念这次重大的革新,Sun公司不再延续之前使用的1.x版本号,而是直接将版本改为了5.0,相当于一个里程碑似的版本发布。所以在这一阶段,你会看到Java 5、J2SE 5.0、JDK 5.0、JDK 1.5等叫法。从JDK 1.6开始,Sun公司又“突发奇想”,再次将Java的版本改名,将J2SE改名为Java SE,将J2EE改名为Java EE,将J2ME改名为Java ME,也就是去掉了中间那个使用了很长时间的标识版本的2。这更加剧了Java版本称呼上的混乱,所以在这一阶段Java的叫法可以说是“千奇百怪”,对在那时进入Java领域的新手造成了一些混乱,而对于Java“老司机”来说,很清楚地知道J2SE就是Java SE,J2SE 1.6就是Java SE 6.0,JDK 1.6就是JDK 6.0。
经过这么多年的发展,Java家族各个成员和版本之间的称呼也逐渐统一了起来,都开始使用Java SE 8、Java EE 6、JDK 8.x(或者JDK 1.8.x)这种规范的命名了。
4、JRE
JRE的英文全称是Java Runtime Environment,即Java运行环境,是运行Java程序所必需的。
当我们编写Java程序时,需要安装JDK,因为在该开发包中有我们开发要用到的各种工具,如编译工具、文档生成工具、打包工具等,而在运行Java程序时,我们只需要有一个运行环境即可,也就是JRE。在下载的JDK中默认就有JRE,如果我们只是要运行Java程序,那么也可以单独下载JRE。
提示:2010年10月24日,Sun公司被美国数据软件巨头甲骨文(ORACLE)公司收购了,因此Java现在是甲骨文公司的了。
提示:JDK 11已经不再提供单独的JRE下载服务。
我是专注于软件开发和IT教育的孙鑫老师,喜欢我的文章欢迎转发、评论、关注、点赞和收藏,我会经常与大家分享IT技术、编程语言的文章和教学视频。目前已发布完整的《Vue.js从入门到实战》教学视频,正在发布《Java无难事》教学视频。
目前我的一本新书《Java无难事》刚上市,这本书可以让Java的爱好者学习Java再无难事。
《Java无难事》一书基本涵盖了你未来从事Java领域开发所需要了解和掌握的Java SE的所有知识,也涵盖了Java 5到Java 11的新特性。本书通俗易懂、实例丰富、深入浅出,让你轻松掌握Java SE的核心内容。每章还附带了贴近实战的练习题,让你巩固所学的知识。同时本书附赠了教学视频,视频并不是书中内容的重复,而是对本书内容有力的补充和完善。
最最重要的是,本书还可以防身!!!本书各大网点均有销售,买不了吃亏,买不了上当。
Java无难事Net的学习的成本真的比Java低吗?
“JAVA更难学习内容更多”绝对是一个弥天大谎!正好相反,.NET要学的东西其实远远多于JAVA,而且难度只在JAVA之上不在之下!如果决定搞.NET,那就要准备好要比JAVA吃更多的苦!由于国内.NET应用的局限,诸如在美国大量使用的.NET技术体系中的WCF,WPF,LINQ, Entity framwork,SQL SERVER SSRS SSIS等技术在国内几乎不用或者用得很少,再加上.NET上手快, 很多国内的人有了错误的认识,以为JAVA是高大上,.NET是小儿科,这简直是天大的误会!等你来了美国,上http://pluralsight.com和amazon上随便看看,无论书籍还是教学视频资料量,.NET几乎是JAVA的5-10倍!再看看http://dice.com对.NET程序员和JAVA程序员要求上的差别,JAVA招聘需要的技能种类明显少于.NET。做JAVA的可以对前端就不懂也有大量职位(如CORE JAVA)。但.NET程序员对前端的要求就明显高过JAVA,很多要求前后端都要精通的。连桌面开发WPF软件的用人公司也变态地要求前端精通,,结果是不懂甚至不精通前端几乎不能找.NET的工作,但JAVA就可以!不要以为JAVA要的技能项目要求少就是更难掌握和精通了,.NET一样可以很难!光一本WCF的书就可以一千多页,随便一个WPF这种技术难度也远在JAVA SSH之上。我深入学习过两种语言,负责任地说,C#可以说难度和知识点广度上绝对是超过JAVA SE的。你去微软MSDN上查一下API,复杂程序远远超过JAVA SE的API文档。光是这些错综复杂的内容体系是如何编排的,这个知识网的结构是怎么在微软网站上组织呈现出来的都要搞很久才能真正弄清楚,更不要说知识本身了。再来个例子,看看JAVA的SERVLET和JSP网络技术,那种单纯性,简单性和浩瀚无垠的http://ASP.NET体系去比,要学习的内容无论广度很深度都要差太多。所以为什么国外http://ASP.NET的书动辄超过1000页,但大部分JSP SERVLET的书都是些5-6年前甚至十几年前出的还比http://ASP.NET的薄很多?
.NET上手快是因为有一些自动系统自己可以做出来的东西,比如拖控件。但是如果仅仅说有拖控件就断定这个更简单那就太肤浅了!后面还有很多可以程序员自己手工做的呢!你换个思路,用几句不精确的话来描述.NET和JAVA之间的异同:JAVA不能拖控件,只能自己写程序;而.NET不但能拖控件,还可以自己写程序,而往往工作中拖控件自动完成的和自己写程序都要用到。而拖控件并不是看小说那么简单也要花巨量的精力学习的。你想想,既要拖控件又要手写是不是比只要手写还多一个拖控件的内容?怎么反而会更简单呢?既然多了一项拖控件的任务那应该是内容更多了更难了,而不是更少了更简单了!!
JAVA技术体系更新非常慢,学完C#再去看JAVA SE感觉象小儿科,很多JAVA 8的最新特性也许多少年前C#就有了。象SERVLET,JSP,EJB,SSH等更新的速度和.NET体系更新速度比简直象蜗牛。为什么5年6年前的JAVA 技术的教学视频现在还被挂在传智播客,尚学堂和动力节点的培训班网站上,还没有淘汰呢!想想如果换了.NET,可能吗?!
JAVA技术是开源的,可以看源码透析工作原理,但.NET没有全开源,没有源码的话要真正弄弄背后原理是很难的。如http://ASP.NET的原理就远远比JSP等深奥很多。
如何用Java实现Web服务器?
WEB容器工作原理
市面上的java web容器常见的有两种,一种是jetty,一种是tomcat。要想用java实现web容器,首先要知道其工作原理。
以Tomcat为例,我们通常开发出来的war包,会放在tomcat中的webapp下面,tomcat会自动解压war包。解压完成后,其实就是一个servlet应用!换句话说,我们写的war包中的servlet应用只需要关注业务层面的,处理http等网络链接的事情交给都交给tomcat了, 一个请求到达tomcat的流程如下图:
所以其实我们也可以手写一个web容器,只要能接收请求并转发给相应的servlet请求即可。
手写一个小的web容器整体结构大致如下
1、写一个处理网络请求连接请求实体类、一个和网络请求连接响应实体类
2、写一个容器主类,包括启动监听端口等
3、写容器的接口,以及注解相关的url附加类便于让应用servlet
4、写一个app测试servlet,类似tomcat中跑的war包
如果你监听的端口是8888,那么就可以访问localhost:8888/app,就可以测试了
结语java写web容器,其实没什么难的,简单的写一下了解一下原理即可,真实工作中是不建议自己写的,有很多问题会考虑不周的。关于web容器网上也有很多例子,可以借鉴了解一下。祝你学习愉快。
利用java开发的app后台服务器框架有哪些?
Java开发的app后台服务器框架有:spring+springmv+mybatis是主流。服务器框架基本上有长链接短链接两种。手机APP的后台服务建议还是JSON-over-HTTP(s)的,因为网络状况一般不稳定。Java的HTTP开发框架,跟做网站一样。
时间投资和金钱投资需要多少?
我感觉学Java的话,有个初中或者高中的数学基础就可以,具备一定的逻辑思维,另外懂一点基础的计算机知识就可以,原来曾经面试过零基础的Java程序员,会让你做一些简单的逻辑题目,我们可以来看一下零基础的入门编程题目。
我们可以看到这些题目要求的数学知识并没有超出高中的范围,另附一些逻辑题目
说完了这些基本的个人数学逻辑能力,我们说下如何学习的问题,两个选择一方面是自学,另一个就是报班。
自学的话,就对个人要求比较高一点,网上有很多视频资料,现在也有一些自学的网站,比如慕课网,这个是慕课网给出的java学习路线,总的来说比较全面,也是从最基础的开始讲起,整个的课程设置要是自己能够完成的话也就算入门了.
还有一些其他的学习网站,这个是搜索网易云课堂的java课程,有一些视频课程是付费的,也有很多免费的课程。
自学的好处就是花费低一点,但是另一个方面对于完全没有基础的人来说,在学习中会遇到一些小问题,自己就用很长的时间最后可能还没解决,如果你是一个自律学习、主动性很强的人,并且有接触过一些编程基础的可以尝试自己自学,学会的过程时间因人而异,学的时候做几个小项目就可以去尝试投投简历找一些实习的工作积累经验。
另一个学习的方式就是报培训班,目前社会上这些培训班有好多,前段时间去了一个培训机构,有个同学在那里学习java,跟他了解学习的人群很多,有原来可能当服务员,厨师的,就是各行各业想转行的人都有,学历从初中到大学,年龄28岁左右的也有,这么多人去培训想转行,毕竟是因为目前IT行业的工资水平在那里。
下面具体说下培训机构的学费和课程设置,目前大部分的培训机构学费在两万左右,另外住宿费生活费自理,有的培训机构要自己准备电脑,这样下来估计得4万左右,学费的话很多培训机构有贷款这种,我了解的一种学费贷款模式是这种,6+12模式,前六个月,就是从入学办贷款开始付利息,学费两万的话利息大概2000左右,后12个月还学费,大概每个月还1500左右。
这是搜到的一个培训费用,各个机构的学费差不多都在1万5000到两万之间,学习时间在3到6个月左右,培训机构不同,培训时间略有差别。
至于课程设置,因为很多人也是从零基础去学习的,所以课程设置也是从最基础的开始讲的,
总结以上就是你想报培训班的话最好准备4万(学费不贷款,贷款的话自己准备2万),学习时间大概半年。