我是学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和 软件逆向开发 这两个选哪个 求给下 详细解释 纠结中
我是学java的,大学刚毕业,想到阿里巴巴工作,不知道那边程序员待遇怎么样?一年实际收入大约多少?