首页 开发编程 正文

php怎么开多线程

学到什么程度或者是你是否该转去学习另一种语言。如果你们和当初的我一样是希望通过Python写一些小工具来提升自己在职场上的竞争力,你就需要明白Python相比其他语言的优势之处。别的语言可能需要上百行的代码才能完成的任务,Python为我们提供了完善的基础代码库,任何编程语言的学习都是建立在实践上面的,想要学好Python一定要多去练...

php怎么开多线程,学python最重要的是什么?

我就是从零基础开始学的Python,也算是一个过来人了吧,现在看来当初我也是走了许多弯路,来给大家分享一下我的经验吧。

首先是最重要的一点,想清楚你为什么要去学Python?你是想要做一个网站,写一个顺手的工具,还是只要能够通过学校的考试就行,这很大程度的影响了你该如何去学Python,学到什么程度或者是你是否该转去学习另一种语言。如果你只是想做一个个人网站或者博客,你大可去学PHP,甚至根本不用学,网上有很多网站模板,直接就能用。如果你们和当初的我一样是希望通过Python写一些小工具来提升自己在职场上的竞争力,提高生产力,你就需要明白Python相比其他语言的优势之处。

易上手。就是Python最大的优势,一个初学者不需要像C,Java去懂得数据类型,内存管理,你只要学会几句语法,你就可以完成一个任务。

代码简洁。别的语言可能需要上百行的代码才能完成的任务,Python只需要十行。

庞大完善的代码库支持。Python为我们提供了完善的基础代码库,在网络,文件,文本,GUI方面都有大量的函数为我们提供帮助。还有第三方库,也就是世界各地的程序员分享出来的代码库,当我们想去实现某个需求的时候,也许已经有人为你造好了轮子,你只要调用就行。

选对正确的学习方法,这可以帮你少走很多弯路。这非常重要,因为如果选择了一个低效的学习方法,也许别人都已经彻底学会了,你才刚配置好环境,学会Hello World。

没有基础的建议先打好基础,有基础的可以看文字。不要怕基础枯燥,基础真正打好, 之后做项目你会有种打通经络的快感。编程之路开始还请不要功利,得耐得住寂寞,枯燥。

对于小白来说,有个人引导会比自学要高效的多,尤其容易坚持不下去的小伙伴。

那你可以关注我公众号和博客,

我并不建议为了学Python去买书,因为一来国内的书质量真的参差不齐,二来国外的优质书像Python Cookbook,Head First Python从写完,出版,翻译成中文,这中间的周期很长,而Python作为一个更新很快的语言,你学习的版本可能已经落后了。

一定要多练!一定要多练!一定要多练!任何编程语言的学习都是建立在实践上面的,不练习,就像是花了半天时间去学习开枪的理论,结果根本没有机会摸枪,你觉得你打得准吗?想要学好Python一定要多去练习,没有熟练度的加成,你学的再多也只是纸上谈兵,一旦面对了真正的问题,你就会无从下手。

学会用搜索引擎。程序员里面会用百度的人的工资是不会用的好几倍,会用google的又是会百度的好几倍。用好搜索引擎,你会发现你遇到的问题基本上都是有前人碰到过并已经解决了的问题。同时,会用搜索引擎之后你能找到很多资源帮助你的学习。

最后,努力学习,学以致用。生活中可以用到Python的位置远比你想象的多得多,等到你学会Python之后你会发现生活中有很多的问题都是可以通过Python来帮助你快速解决的。

Python爬虫和数据分析需要哪些知识储备?

数据是决策的原材料,高质量的数据价值不菲,如何挖掘原材料成为互联网时代的先驱,掌握信息的源头,就能比别人更快一步。

大数据时代,互联网成为大量信息的载体,机械的复制粘贴不再实用,不仅耗时费力还极易出错,这时爬虫的出现解放了大家的双手,以其高速爬行、定向抓取资源的能力获得了大家的青睐。

爬虫变得越来越流行,不仅因为它能够快速爬取海量的数据,更因为有python这样简单易用的语言使得爬虫能够快速上手。

对于小白来说,爬虫可能是一件非常复杂、技术门槛很高的事情,但掌握正确的方法,在短时间内做到能够爬取主流网站的数据,其实非常容易实现,但建议你从一开始就要有一个具体的目标。

在目标的驱动下,你的学习才会更加精准和高效。那些所有你认为必须的前置知识,都是可以在完成目标的过程中学到的。

基于python爬虫,我们整理了一个完整的学习框架:

筛选和甄别学习哪些知识,在哪里去获取资源是许多初学者共同面临的问题。

接下来,我们将学习框架进行拆解,分别对每个部分进行详细介绍和推荐一些相关资源,告诉你学什么、怎么学、在哪里学。

爬虫简介

爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

这个定义看起来很生硬,我们换一种更好理解的解释:

我们作为用户获取网络数据的方式是浏览器提交请求->下载网页代码->解析/渲染成页面;而爬虫的方式是模拟浏览器发送请求->下载网页代码->只提取有用的数据->存放于数据库或文件中。

爬虫与我们的区别是,爬虫程序只提取网页代码中对我们有用的数据,并且爬虫抓取速度快,量级大。

随着数据的规模化,爬虫获取数据的高效性能越来越突出,能够做的事情越来越多:

市场分析:电商分析、商圈分析、一二级市场分析等市场监控:电商、新闻、房源监控等商机发现:招投标情报发现、客户资料发掘、企业客户发现等

进行爬虫学习,首先要懂得是网页,那些我们肉眼可见的光鲜亮丽的网页是由HTML、css、javascript等网页源码所支撑起来的。

这些源码被浏览器所识别转换成我们看到的网页,这些源码里面必定存在着很多规律,我们的爬虫就能按照这样的规律来爬取需要的信息。

无规矩不成方圆,Robots协议就是爬虫中的规矩,它告诉爬虫和搜索引擎哪些页面可以抓取,哪些不可以抓取。

通常是一个叫作robots.txt的文本文件,放在网站的根目录下。

轻量级爬虫

“获取数据——解析数据——存储数据”是爬虫的三部曲,大部分爬虫都是按这样的流程来进行,这其实也是模拟了我们使用浏览器获取网页信息的过程。

1、获取数据

爬虫第一步操作就是模拟浏览器向服务器发送请求,基于python,你不需要了解从数据的实现,HTTP、TCP、IP的网络传输结构,一直到服务器响应和应达的原理,因为python提供了功能齐全的类库来帮我们完成这些请求。

Python自带的标准库urllib2使用的较多,它是python内置的HTTP请求库,如果你只进行基本的爬虫网页抓取,那么urllib2足够用。

Requests的slogen是“Requests is the only Non-GMO HTTP library for Python, safe for humanconsumption”,相对urllib2,requests使用起来确实简洁很多,并且自带json解析器。

如果你需要爬取异步加载的动态网站,可以学习浏览器抓包分析真实请求或者学习Selenium来实现自动化。

对于爬虫来说,在能够爬取到数据地前提下当然是越快越好,显然传统地同步代码不能满足我们对速度地需求。

(ps:据国外数据统计:正常情况下我们请求同一个页面 100次的话,最少也得花费 30秒,但使用异步请求同一个页面 100次的话,只需要要 3秒左右。)

aiohttp是你值得拥有的一个库,aiohttp的异步操作借助于async/await关键字的写法变得更加简洁,架构更加清晰。使用异步请求库进行数据抓取时,会大大提高效率。

你可以根据自己的需求选择合适的请求库,但建议先从python自带的urllib开始,当然,你可以在学习时尝试所有的方式,以便更了解这些库的使用。

推荐请求库资源:

urllib2文档:https://dwz.cn/8hEGdsqDrequests文档 :http://t.cn/8Fq1aXrselenium文档:https://dwz.cn/DlL9j9hfaiohttp文档:https://dwz.cn/hvndbuB4

2、解析数据

爬虫爬取的是爬取页面指定的部分数据值,而不是整个页面的数据,这时往往需要先进行数据的解析再进行存储。

从web上采集回来的数据的数据类型有很多种,主要有HTML、 javascript、JSON、XML等格式。解析库的使用等价于在HTML中查找需要的信息时时使用正则,能够更加快捷地定位到具体的元素获取相应的信息。Css选择器是一种快速定位元素的方法。Pyqurrey使用lxml解析器进行快速在xml和html文档上操作,它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器,使用非常方便。

Beautiful Soup是借助网页的结构和属性等特性来解析网页的工具,能自动转换编码。支持Python标准库中的HTML解析器,还支持一些第三方的解析器。

Xpath最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索。它提供了超过 100 个内建的函数。这些函数用于字符串值、数值、日期和时间比较、节点和 QName 处理、序列处理、逻辑值等等,并且XQuery和XPointer都构建于XPath基础上。

Re正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。个人认为前端基础比较扎实的,用pyquery是最方便的,beautifulsoup也不错,re速度比较快,但是写正则比较麻烦。当然了,既然用python,肯定还是自己用着方便最好。

推荐解析器资源:

pyquery https://dwz.cn/1EwUKsEGBeautifulsoup http://t.im/ddfvxpath教程 http://t.im/ddg2re文档 http://t.im/ddg6

3、数据存储

当爬回来的数据量较小时,你可以使用文档的形式来储存,支持TXT、json、csv等格式。但当数据量变大,文档的储存方式就行不通了,所以掌握一种数据库是必须的。

Mysql 作为关系型数据库的代表,拥有较为成熟的体系,成熟度很高,可以很好地去存储一些数据,但在在海量数据处理的时候效率会显著变慢,已然满足不了某些大数据的处理要求。

MongoDB已经流行了很长一段时间,相对于MySQL ,MongoDB可以方便你去存储一些非结构化的数据,比如各种评论的文本,图片的链接等等。你也可以利用PyMongo,更方便地在Python中操作MongoDB。因为这里要用到的数据库知识其实非常简单,主要是数据如何入库、如何进行提取,在需要的时候再学习就行。

Redis是一个不折不扣的内存数据库,Redis 支持的数据结构丰富,包括hash、set、list等。数据全部存在内存,访问速度快,可以存储大量的数据,一般应用于分布式爬虫的数据存储当中。

推荐数据库资源:

mysql文档 https://dev.mysql.com/doc/mongoDB文档 https://docs.mongodb.com/redis文档 https://redis.io/documentation/工程化爬虫

掌握前面的技术你就可以实现轻量级的爬虫,一般量级的数据和代码基本没有问题。

但是在面对复杂情况的时候表现不尽人意,此时,强大的爬虫框架就非常有用了。

首先是出身名门的Apache顶级项目Nutch,它提供了我们运行自己的搜索引擎所需的全部工具。支持分布式抓取,并有Hadoop支持,可以进行多机分布抓取,存储和索引。另外很吸引人的一点在于,它提供了一种插件框架,使得其对各种网页内容的解析、各种数据的采集、查询、集群、过滤等功能能够方便的进行扩展。

其次是GitHub上众人star的scrapy,scary是一个功能非常强大的爬虫框架。它不仅能便捷地构建request,还有强大的 selector 能够方便地解析 response,然而它最让人惊喜的还是它超高的性能,让你可以将爬虫工程化、模块化。学会scrapy,你可以自己去搭建一些爬虫框架,你就基本具备爬虫工程师的思维了。

最后Pyspider作为人气飙升的国内大神开发的框架,满足了绝大多数Python爬虫的需求 —— 定向抓取,结构化化解析。它能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储等。其功能强大到更像一个产品而不是一个框架。这是三个最有代表性的爬虫框架,它们都有远超别人的有点,比如Nutch天生的搜索引擎解决方案、Pyspider产品级的WebUI、Scrapy最灵活的定制化爬取。建议先从最接近爬虫本质的框架scary学起,再去接触人性化的Pyspider,为搜索引擎而生的Nutch。

推荐爬虫框架资源:

Nutch文档 http://nutch.apache.org/scary文档 https://scrapy.org/pyspider文档 http://t.im/ddgj反爬及应对措施

爬虫像一只虫子,密密麻麻地爬行到每一个角落获取数据,虫子或许无害,但总是不受欢迎的。因为爬虫技术造成的大量IP访问网站侵占带宽资源、以及用户隐私和知识产权等危害,很多互联网企业都会花大力气进行“反爬虫”。

你的爬虫会遭遇比如被网站封IP、比如各种奇怪的验证码、userAgent访问限制、各种动态加载等等。

常见的反爬虫措施有:

通过Headers反爬虫基于用户行为反爬虫基于动态页面的反爬虫字体反爬.....

遇到这些反爬虫的手段,当然还需要一些高级的技巧来应对,控制访问频率尽量保证一次加载页面加载且数据请求最小化,每个页面访问增加时间间隔;

禁止cookie可以防止可能使用cookies识别爬虫的网站来ban掉我们;

根据浏览器正常访问的请求头对爬虫的请求头进行修改,尽可能和浏览器保持一致等等。

往往网站在高效开发和反爬虫之间会偏向前者,这也为爬虫提供了空间,掌握这些应对反爬虫的技巧,绝大部分的网站已经难不到你了。

分布式爬虫

爬取基本数据已经没有问题,还能使用框架来面对一写较为复杂的数据,此时,就算遇到反爬,你也掌握了一些反反爬技巧。

你的瓶颈会集中到爬取海量数据的效率,这个时候相信你会很自然地接触到一个很厉害的名字:分布式爬虫。

分布式这个东西,听起来很恐怖,但其实就是利用多线程的原理将多台主机组合起来,共同完成一个爬取任务,需要你掌握 Scrapy +Redis+MQ+Celery这些工具。

Scrapy 前面我们说过了,用于做基本的页面爬取, Redis 则用来存储要爬取的网页队列,也就是任务队列。

scarpy-redis就是用来在scrapy中实现分布式的组件,通过它可以快速实现简单分布式爬虫程序。

由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,通过使用消息队列MQ,我们可以异步处理请求,从而缓解系统的压力。

RabbitMQ本身支持很多的协议:AMQP,XMPP, SMTP,STOMP,使的它变的非常重量级,更适合于企业级的开发。

Scrapy-rabbitmq-link是可以让你从RabbitMQ 消息队列中取到URL并且分发给Scrapy spiders的组件。Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统。支持 RabbitMQ、Redis 甚至其他数据库系统作为其消息代理中间件, 在处理异步任务、任务调度、处理定时任务、分布式调度等场景表现良好。

所以分布式爬虫只是听起来有些可怕,也不过如此。当你能够写分布式的爬虫的时候,那么你可以去尝试打造一些基本的爬虫架构了,实现一些更加自动化的数据获取。

推荐分布式资源:

scrapy-redis文档 http://t.im/ddgkscrapy-rabbitmq文档 http://t.im/ddgncelery文档 http://t.im/ddgr

你看,通过这条完整的学习路径走下来,爬虫对你来说根本不是问题。

因为爬虫这种技术,既不需要你系统地精通一门语言,也不需要多么高深的数据库技术。

解锁每一个部分的知识点并且有针对性的去学习,走完这一条顺畅的学习之路,你就能掌握python爬虫。

以上便是本文内容,有帮助点赞喜欢支持一下吧。。

现在最火的编程语言是什么呢?

你好,很好像能回答你的问题!关于问题中说道的最火的编程语言,以我个人的想法是这样的。

编程语言与应用场景有密切的关联关系,每一种编程语言都有自己的应用领域和特点,所以不能单纯的说学哪个语言最好,但是如果没有具体的场景要求,那么可以根据目前的流行程度和发展前景选择要学习的编程语言。

目前最为流行的编程语言有Python、Java、C、C++、PHP、JavaScript、Go、C#等,这些编程语言往往都有广泛的应用场景,同时在整个IT领域也有大量的用户和成功案例,选择这些编程语言会明显降低开发风险,同时在组建开发团队时也比较容易。

从目前的应用情况和发展前景来看,Python、JavaScript和Go语言具有一定的优势,原因有以下几点:

1 Pythou

1 Python语言上升明显。 Python是一种相当高级的语言,比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。言外之意,Python集成度更高,引用的库更完善,用更少的时间,软件开发者就可以实现以前所实现的功能。近年来Python语言伴随着大数据和人工智能的发展得到了广泛的应用,上升趋势非常明显,整个IT领域有大量的程序员开始陆续转向Python开发,这其中就有不少Java程序员,因为不少Java开发工作Python同样能够完成,比如Web开发、大数据开发和后端开发,同时Python还能够完成人工智能开发和嵌入式开发。虽然Python在性能上较Java还有一定的差距,但是在很多场景下,性能的差距并不是选择语言的唯一标准,Python语言在开发周期和日后维护方面都具有一定的优势。站在开发人员的角度来看,Python语言在很多情况下要明显“轻一些”。优点:它几乎可以用于各种开源项目。一些缺点:并不完全适合于管理需要对解决方案和系统进行低级操作的项目。

2 JavaScript

2 JavaScript应用领域逐渐拓展。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。优点:快速,简单,互操作性,新功能以及广泛的功能。一些缺点:安全措施,客户端脚本和支持解释存在一些问题。但是,到目前为止,大多数这些问题都已被掩盖.

3 Go语言

3 Go语言发展前景广阔。Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。

4 C#

4 C#是用于许多不同项目的最佳和多范例编程语言。它使您能够熟练掌握所需的任何应用程序。从多方面的Web API到全面的桌面应用程序,C#拓宽了开发人员的工具范围,并可以帮助推进开源社区。

此外,该语言简单明了且具有现代感,并具有使开发人员能够采用C语言中缺少的面向对象方法的功能。它是业内最常用的编程语言之一。优点:根据项目要求找到所有级别的程序员是非常容易的。一些缺点:有时,使用C#很难,因为代码甚至需要很小的改动就必须完全编译。

5 C ++

5 C ++编程语言引领着当今世界上使用最广泛的编程语言。C ++在未来几十年不会消失。从操作系统启动到政府大型机的每个复杂系统都以多种形式使用C ++。

在领先的组织中,甚至Google都使用这种编程语言来使它成为最耗资源的操作。由于C ++为程序员提供了开箱即用的非常低级的系统元素的访问权限,因此它在我们周围常见的嵌入式系统中使用。

随着诸如物联网设备和智能手表之类的嵌入式系统的进步不断增长,C ++在不同的开发项目中越来越多地被使用。如果您是这个行业的开发人员,那么只有C ++可以帮助您实现最大的突破。

当前最流行的编程语言,这些语言已被广泛使用并以其应用而闻名。它没有遵循任何特定的顺序,而是遵循某些最受赞赏的编程语言的通用列表。所有的编程语言都是最好的,它们的用法取决于您的总体项目规模和客户需求。

希望我的回答能够帮助到你!祝你成功!

为什么有人用nodejs写操作系统?

说nodejs写操作系统那是扯蛋,其实就写了个桌面管理器,比gnome KDE还要高一层,看起来比较美观而已。难道设备驱动还能用js写? nodejs写个多线程看看? 这样的桌面管理器用PHP和Python写都是没有问题的

Java开发和PHP开发哪个更难学啊?

其实这个问题可以从三个方面来回答:

1.语法层

2.应用层

一、如何自学

从语法层来说,都是c语系。关键字,操作符,以及语句差别不大,都能跨平台,都是基于解释型的语言。

java是强类型,通用语言,可以用于客户端,服务器端等各种环境。而php本身定位服务器语言,并且是弱类型语言。随着时间的推移,你会发现,原本各种脚本语言越来越向面相对象,面相接口编程,并且逐渐向强类型过度的趋势。

为什么呢?因为现在的程序越来越复杂了,不是几句增删改查能解决的。各种框架是建立在设计模式,mvc,mvvm等思想理念上的,要求你的语言支持继承,支持多态,支持数据隐藏等等。所以php也在改革,改得越来越像java了。而且大型程序,强类型有着天然优势,例如编译器错误检查,函数签名自解释,内存使用量小非常多,等等等等(例如typescript现在优势逐渐显示出来了)。所以我的结论,如果你一开始学,还是选java比较适合。个人建议而已!我不想引起语言之争!

从应用层来说,不管哪门语言,学了语法就是掌握格式而已,真正的应用是需要很多基础知识

首先,肯定是数据结构要掌握,你不会抽象结构,不会一些基础容器操作,那根本没办法走远。其次,业务知识。如果你做服务器开发,那么tcp/ip http等基础协议至少要了解。各种常用类库要会用。如过更加专业的领域,例如金融之类的,那么还需要行业知识。然后,面相对象和设计模式一定要多了解,多学习,多模仿,多应用。当然这个是靠你自学以及经验的,需要慢慢累积。就是一句话,多动脑,多动手,多查资料

关于如何自学:

我个人经验是选定一个开源项目就不要换,深入了解。

一定要学会跟断点,各种调试方法。

分析项目的各个模块,各个类之间的关系,为什么要这么做

一定还学会google,baidu。拼命了解术语和关键字。建立对代码的敏感性触觉。

以你所学源码为基础进行知识的学习。任何知识都是具有延续性(上下扩展)和延展性(左右扩展),随着时间的增加,你会积累越来越多知识。

反正一口气吃成一个胖子.那是不可能的!

扩展资料:

java语言的历史已经非常悠久,一直处于大哥地位。这一方面是因为他是众多语言的基础,比如现在比较火爆的android,java就是android的基础。学习java的人,可以很快转入android的队伍,足以看出,java的灵活性。其次,现在大多数企业都以java作为主流语言,如果你经常上网的话,就可以发现,许多网站都是用java做的。为什么呢?原因就在于,java适应性实在是太强了,任何一个平台他都可以在里面游刃有余。

1、java和php技术层面对比:

java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。但其优势也是其劣势,具体参考第6点。

PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域。WEB领域PHP拥有得天独厚的优势,WEB领域没有语言可以和他比。

两者相比,基本上java完胜。但是其实并没有太大的可比性,专注领域不同。单纯拿两者都可以做的WEB来说,PHP完胜。

2、java和php市场份额对比:

java语言算是古老,多年的发展,其在C/S领域和B/S领域都占有一席之地,特别是在电信和银行行业。但随着社会需求的变化和其他语言的专注,java的市场正被一点点蚕食,WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下,要不是安卓的出现,java的命运还真不好说了。其之前积累的巨大java帝国不会一下子崩塌,一定是有一个过程。所以现在学习并不需要担心其前途,现在学习你更需要担心的却是近十年间英才辈出的javaer,和大批正在进入java阵营的同业者。

PHP在市场描述就比较简单了,因为我们只要看一个领域,那就是web领域。WEB领域php的市场超过80%,其余的则是如java-JSP,asp,C#,.NET,python,ruby等。网站500强中有395家使用PHP。全球最 大的两个网站facebook和新浪微博全在使用PHP。 两者相比,算平分秋色。

3、java和PHP的发展空间对比

安卓势头很猛,但手机安装app数量有限,推广难,也是app面临的最 大挑战,好在安卓只有JAVA可以做,除此之外就是HTML5了。

中国人口占全球人口19.7%,中国网民占全球网民22.4%,中国网站数量占全球网站数量的0.5%,网站的可发展空间可谓巨大;发达国家互联网对GDP的贡献可达20%,中国互联网对GDP的影响仅为3%。可谓互联网的发展空间巨大,而互联网离不开WEB,WEB离不开PHP。

两者相比,个人觉得PHP的优势更加明显。

4、java和PHP的薪资对比

薪资事由供求关系决定的,人才缺失,薪资自然高,人才饱和,薪资自然不会高。

java由于大学基本都有这个课程,很多人想从事软件行业的时候,自然就学习JAVA了,加上java近10年的火爆,人才辈出,整个java行业是处于供大于求的。南京地区:一个30人的java培训班,最 后差不多10人找不到理想的工作而转行,最 低薪资甚至只有1000多元,就有人肯干。当然java学的好的,薪资4000多也是不少的。

PHP完全依托于市场的驱动,难点在于很多人并不了解PHP,也没途径可以了解,根本原因是大学没有这个课程,我知道的,南京百十所高校只有晓庄学院开了PHP课程,而且不是作为主修。市场对PHP的需求,高校并不清楚,高校更愿意推符合学院派特点的java。

学习php的人少,企业需求多,导致PHP薪资远远超过了同行业者。一般起薪没有低于3000元的。南京地区高的早已经突破4500元。北上广更是突破了6000元的起薪。

两者相比:除了java工作难找,但只要找到了工作,高位线是差不多的,低位线JAVA明显处于劣势。

5、java和php的薪资涨幅速度对比:

java是公认的难,难上手,真正上手需要至少1-2年,而这期间都属于学徒级别,薪资涨幅有限。2年后会有一个较大的涨幅,基本拿个6-7千是没有问题的。

PHP是公认的简单,上手极快,基本过了试用期就可以涨工资了,PHPer正常是半年涨一次薪资,前3年的幅度都还可以,1年5-6千,2年7-8千。3年能过万的也大有人在。

两者相比:其实php的前端优势明显,后段双方区域持平。并不像很多人说的PHP后面难涨,PHP缺人,但更缺熟手。java也不像很多人吹嘘的那样高薪,两级分化严重。其实也很正常,越难的语言,两级分化越是严重。

6、java和php各自发展的瓶颈:

JavaEE体系曾经统治企业级软件开发长达数十年之久,十年间英才辈出,但是Java语言本身却越来越显示出臃肿和分裂的态势。使用Java是个昂贵的选择,复杂的需求设计, 缓慢的项目进度,昂贵的应用服务器和维护难度使Java成为了一种庙堂之上的语言。而版本的分裂也使所谓的跨平台特性成为了一句空话。

Java的特性使得它并不适合业务随着市场快速变化的互联网企业,WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下,要不是安卓的出现,java的命运还真不好说了。php的大中型系统开发,方便、快速、是java跟http://asp.net没法比拟的, 还有php有很多如yaf,yii,ci等强大的框架, 中小型一般系统的开发,一个thinkphp就足于通杀java的ssh三大框架了。

PHP由于其简单,快速开发等特点,也导致了开发复杂应用稍显吃力,所谓成也萧何败也萧何,PHP由于其关注应用层面,开发基本不需要考虑底层的东西,导致其开发快速,学习简单;但也导致了学习PHP工作一段时间比较容易遇到瓶颈,PHP在5.3版本后加入了更为强大的扩展,通过PHP的扩展可以实现PHP本身实现不了的功能。

所以PHP开发遇到了这样瓶颈,可以考虑通过扩展来解决,facebook和http://weibo.com正在大量使用扩展功能去应对一个又一个的难题。新浪微博架构师兼首席PHP技术顾问惠新宸一直在专注与PHP底层原理的研究和分享。扩展是被他认为PHP最伟大的地方。

本文转载自互联网,如有侵权,联系删除