我是学java的,因公司原因 现在要转php求大神给说下php与java的差异

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我是学java的,因公司原因 现在要转php求大神给说下php与java的差异相关的知识,希望对你有一定的参考价值。

php一窍不通啊!!! 在线求解答

比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发。以下是我就几个主要方面进行的比较:

一、 语言比较

PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点。语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发。而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法。所以java不如php好学。

Java首先要编译成字节码.class文件,然后在java虚拟机上解释执行。Java的Web开发首先最容易想到的就是JSP(现在已经到JSP2.0),原来的java的Web开发都是用servlet来实现的,用servlet来开发需要程序员在java的源文件中嵌入大量的html代码。所以后来就出现了JSP,JSP可以方便的嵌入到html文件当中,其实jsp文件在服务器上执行的时候首先会被应用服务器转换成servlet,然后再编译执行。Jsp可以通过servlet和JavaBean的支持产生强大的功能。JavaBean
是一种可复用的、跨平台的软件组件。使用javabean可以方便的实现java代码和html的分离,能够增强系统的功能和软件的复用性。

Java的Web开发属于SUN公司定义的J2EE其中的规范。而且在J2EE中包括了java的Web开发的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就特别适合于做大型的企业级的应用。

二、 数据库访问比较

Java通过JDBC来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库。访问数据库的接口比较统一。

PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。例如:用Java开发的Web应用从mysql数据库转到Oracle数据库只需要做很少的修改。而PHP则需要做大量的修改工作。

三、 系统设计架构比较

采用Java的Web开发技术,需要使用的是面向对象的系统设计方法,而PHP还是采用面向过程的开发方法。所以用Java进行开发前期需要做大量的系统分析和设计的工作。

四、 跨平台性

Java和PHP都有很好的跨平台的特性。几乎都可以在不作任何修改的情况下运行在Linux或者Windows等不同的操作系统上。

五、 开发成本比较

PHP最经典的组合就是:PHP + MySQL +
Apache。非常适合开发中小型的Web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。

Java的Web应用服务器有免费Tomcat、JBoss等,如果需要更好的商业化的服务有:Web Sphere和 Web logic。

六、 分布式多层架构比较

PHP只能实现简单的分布式两层或三层的架构,而JAVA在这方面就比较强大,可以实现多层的网络架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现在不同的层都已经有一些成熟的开发框架的支持。例如Struts就是利用java的Web开发技术实现了MVC的设计模式,而在业务逻辑层也有Spring框架,数据库持久化层有Hibernate等框架。这些框架可以方便开发者高效、合理、科学得架构多层的商业应用。

下面简要的说一下Struts,它实质上是在JSP Model2的基础上实现的一个MVC(Model、View、Controler)框架。JSP
Model2体系结构是一种联合使用JSP 与Servlet
来提供动态内容的方法。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由Servlet实现的,视图由一组JSP文件组成。采用Struts可以明确角色的定义和开发者与网页设计者的分工。而且项目越复杂,其优势越明显。

七、 源代码安全

PHP开发的程序的源代码都是公开的,他人拿到php开发的程序后都可以进行修改。

Java开发的程序,最后用户拿到的是只是一些编译好的class类,无法看到完整的源代码,安全性高。

八、性能比较

有人做过试验,对这两种种语言分别做回圈性能测试及存取Oracle数据库测试。

在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒。

数据库测试中,二者分别对 Oracle 8 进行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP
需要 69 秒。

综上所述,我个人认为,PHP适合于快速开发,中小型应用系统,开发成本低,能够对变动的需求作出快速的反应。而Java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。还有,同样功能的系统用Java开发的系统要比PHP开发的系统的价格要高。
参考技术A 差异还是较大的,这个主要是语法上的差异,既然你已经有java经验,转php相信也不是什么难事,其实程序主要还是看思想;不知道你的java经验是那方面的?如果是web类的;那就更方便一些;其实你现在需要做的就是学习一下php的语法;

求教各位大神,我要上线一个JAVA程序的网站,现在要托管一个服务器,我们有一台2U的DELL服务器

服务器是linux的,可以配置JAVA运行环境么?或者是要把服务器做成其他系统的再配置JDK?就是不知道什么系统配置JAVA环境,新手求指教,呜呜...

linux下安装java jdk+apache+tomcat,
今天我的主要任务就是配置服务器环境

系统:Ubuntu 10

需要安装软件版本:ssh apache2 mysql svn tomcat jdk

首先配置ssh:

sudo apt-get install ssh

不使用私钥的SSH还是有一定风险的。现在我们尝试在ubuntu服务器上生成私钥和公钥

#ssh-keygen

后面会提示你私钥的文件名,放在哪,这些问题,选择默认就行了,中途会让你输入密码,这个你可得记住。这样你的用户目录下会多出一个隐藏的.ssh文件夹。可以使用ls -A 来查看。里面还有两文件,一个是id_rsa(私钥),还有一个是id_rsa.pub(公钥)

然后用putty就可以连接了

---------------------------------------

然后安装mysql

sudo apt-get install mysql-server

这个很好安装,同意里面的协议,中途需要输入mysql的密码,

安装ok后,修改my.conf

bind-address=192.168.1.200

还有更新一下mysql数据库中user表中的host :update user set host='%' where host='localhost'

连接测试....OK

---------------------------

一、SVN安装

1.安装包

$ sudo apt-get install subversion

2.添加svn管理用户及subversion组

$ sudo adduser svnuser

$ sudo addgroup subversion

$ sudo addgroup svnuser subversion

3.创建项目目录

$ sudo mkdir /home/svn

$ cd /home/svn

$ sudo mkdir fitness

$ sudo chown -R root:subversion fitness

$ sudo chmod -R g+rws fitness

4.创建SVN文件仓库

$ sudo svnadmin create /home/svn/fitness

5.访问方式及项目导入:

$ svn co file:///home/svn/fitness

或者

$ svn co file://localhost/home/svn/fitness

* 注意:

如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).

//--

下面的命令用于将项目导入到SVN 文件仓库:

$ svn import -m "New import" /home/svn/fitness file:///home/svnuser/src/fitness

一定要注明导入信息

//--------------------------//

6.访问权限设置

修改 /home/svn/fitness目录下:

svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格

//--

编辑svnserve.conf文件,把如下两行取消注释

password-db = password

authz-db = authz

//补充说明

# [general]

anon-access = read

auth-access = write

password-db = passwd

其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿

名用户的访问,只需把 read 改成 none 就能达到目的。

//--

编辑/home/svnuser/etc/passwd 如下:

[users]

mirze = 123456

test1 = 123456

test2 = 123456

//--

编辑/home/svnuser/etc/authz如下

[groups]

admin = mirze,test1

test = test2

[/]

@admin=rw

*=r

这里设置了三个用户mirze,test1,test2密码都是123456

其中mirze和test1属于admin组,有读和写的权限,test2属于test组只有读的权限

7.启动SVN服务

svnserve -d -r /home/svn

描述说明:

-d 表示svnserver以“守护”进程模式运行

-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库

如: svn://192.168.12.118/fitness

这时SVN安装就完成了.

局域网访问方式:

例如:svn checkout svn://192.168.12.118/fitness --username mirze --password 123456 /var/www/fitness

-------------------------------------

安装apache

sudo apt-get install apache2

安装ok后,修改 /etc/apache2/mods-available/dav_svn.conf

DAV svn

SVNPath /home/svn/myproject

AuthType Basic

AuthName "myproject subversion repository"

AuthUserFile /etc/subversion/passwd

#这样就允许匿名访问

Require valid-user

hpasswd -c /etc/subversion/passwd xxx 第一次创建密码 提示输入密码

建多用户hpasswd /etc/subversion/passwd xxx

测试 ok 访问路径/var/www

--------------------------

安装tomcat。直接解压就可以了

-------------------------

安装jdk,在官网下载jdk-6u16-linux-i586 直接解压,然后把路径加入到PATH中即可

-----------

至于apache和tomcat的整合

第一步是修改httpd.conf 这个全局设定档。
cd /usr/local/apache2/conf/
cp http.conf http.conf.bak
vim http.conf
ServerName 配置为 127.0.0.1:80,服务器IP或域名

DirectoryIndex 中添加index.htm index.jsp
:wq 保存后退出
此时可启动apache2.0服务器了
采用:/usr/local/apache2/bin/apachectl start
输入:http://127.0.0.1/
你就会看到 It works!
这个测试成功的界面。
启动tomcat 采用:/usr/local/tomcat6/bin/startup.sh
输入:http://127.0.0.1:8080/
你就会看到tomcat 的测试页面

第二步是下载和编译mod_jk.so 这个连接tomcat和apache.的连接文件。
照样也是在http://tomcat.apache.org 这个网站上下载的源代码安装包:tomcat-connectors-1.2.27-src.tar.gz
首先: mkdir /usr/source.bao
#cp /media/tomcat-connectors-1.2.27-src.tar.gz /usr/source.bao
#cd /usr/local/src
#tar xvfz /usr/source.bao/tomcat-connectors-1.2.27-src.tar.gz
#cd tomcat-connectors-1.2.27-src/
注意里面有一个BUILD.txt 仔细阅读它
然后 cd native/
#vim BUILDING.txt 仔细阅读它
然后输入采用:
# ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-java-home=/usr/java/jdk1.6.0_11
#make
#make isntall
#cp apache-2.0/mod_jk.so /usr/local/apache2/modules/
这一步很重要

第三步:在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
vim mod_jk.conf
添加以下代码:
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties

# Where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* worker1
JkMount /*.jsp worker1

vim workers.properties
添加以下代码:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1

# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300

再配置httpd.conf,作以下修改:
将Listen 80 修改为 Listen 127.0.0.1:80
将ServerName 修改为 ServerName LocalHost:80

我的网页放在/var/wwwroot下,所以要修改DocumentRoot
添加代码:
DocumentRoot "/var/wwwroot"
<Directory "/var/wwwroot">
Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
XBitHack on
</Directory>
<Directory "/var/wwwroot/WEB-INF">
Order deny,allow
Deny from all
</Directory>

增加关于加载mod_jk的语句:
添加代码:
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf

最后编辑Tomcat的配置文件server.xml,在HOST段中加入:
<Context path="" docBase="/var/wwwroot"
debug="0" reloadable="true" crossContext="true"/>

在/var/wwwroot下建立一个test.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。

test.jsp 的例子
Hello! The time is <%= new java.util.Date() %>

输入http://127.0.0.1/test.jsp
你会看到:Hello! The time is Mon Jan 19 21:29:38 CST 2009
OK 你成功了!
------------------------------

安装php环境

只要apache好了,

sudo apt-get install php5

sudo apt-get install libapache2-mod-php5

sudo /etc/init.d/apache2 restart 重启下Apache服务

修改/usr/www/index.html==>index.php

里面写

测试localhost

让apache、php支持mysql

sudo apt-get install libapache2-mod-auth-mysql

sudo apt-get install php5-mysql

sudo /etc/init.d/apache2 restart

至此apache2+php 5.2.4.2+mysql5.0.51的环境就完成了。

注意:连接字符串中,数据的名字要与数据中的名字一致,这里面会区分大小写

参考资料:http://www.choujone.com/blog/1290423700283

参考技术A 楼主你好,独立的服务器是可以配置各类的语言环境的,包括JAVA
机器要做什么系统,这个根据个人擅长哪种系统再决定做什么系统
一般常用的系统如 windows03 linux 等都是支持这些欢迎配置的
楼主也不用苦恼了。这些大家常用的系统都是可以选来作为机器系统,然后来配置各种网站环境本回答被提问者采纳
参考技术B 北京多线bgp机房 非常适合网站客户 南北互通解决访问速度慢!!了解可以加 ID

以上是关于我是学java的,因公司原因 现在要转php求大神给说下php与java的差异的主要内容,如果未能解决你的问题,请参考以下文章

大神,求请教我想问一下 PHP和 软件逆向开发 这两个选哪个 求给下 详细解释 纠结中

从小厂逆袭快手,我是如何从PHP转Java的

我是学java的,大学刚毕业,想到阿里巴巴工作,不知道那边程序员待遇怎么样?一年实际收入大约多少?

求大神帮我设计一个类似于ATM机的那样的JAVA WEB前台网页。。。

PHP如何实现指纹验证,求大神指导

Java如何实现通过订单号查询出快递收件人和寄件人的姓名电话?