从大一开始就开始接触java这门语言。但是在这之前也接触了vb,c,asp等等开发语言,唯独java让人感觉严谨,清爽,各种数据之间的不拖泥带水。这才花费更多时间去研究他。但是学着学着,发现他体系的庞大,分支很多。在开始的时候没有收住,结果学习周期过长,在生产环境中的实践却不多。
就拿SSH来说,花费了整整一年时间去研究,但是公司从始至终也没有去用这个,说是太臃肿,反应慢,难以部署和调试。至此,经过了5、6年也最终没有派上用场。生产环境下,也一直是使用jsp+jquery进行开发,核心框架却是公司自己开发的。
学习和使用java的过程,大家一定要有一种定力,不要随便被他新出的各种领域的技术吸引,最好是选择一个领域,深入研究,这样才能够有所收获,不然,每个东西都试一下,结果时间花了,最终长时间用不上,也是得不偿失。如果实在是想与研究,建议不要闭门造车,自己一个人去瞎琢磨,聚集一群志同道合的朋友,将一个大窝窝头分着啃,然后互相交流心得。比如,刚才提到的ssh,内含信息量太大,要研究源码的话一个人估计也至少得花上一两年去研究。虽然我们生产环境里面用不上,但是几个人分别对其中一部分进行研究,再探讨,效果会很不错的。
也是一个偶然的机会,从朋友那里得知他在使用php开发,一开始并不是很喜欢他的语法和开发模式。语法方面,每次都要在变量前面加上“$”符号,让人感觉很别扭。基本上很多内容都直接跟html混合到一起,一种特别混乱的感觉。
但是经历了一些项目后,发现java虽然是严谨,一丝不漏。但是每次开发都需要先将各种框架,各种类摆好,搭好架子再进行具体内容的开发,不然后面就是一团糟了。php就让人摆脱这点了,因为他同时兼备结构化语言和面向对象语言的特点。小web站点我们可以直接快速结构化开发,局部内容进行OO化就行了。所以让我们项目能够迅速实现。
另外,在学习周期方面也确实比较短,有点编程底子就可以在不到一周快速上手,而且可以进行生产开发了。
PHP里面也提供了很多灵活的语言结构,让代码看起来更加高效,紧凑。比如,可变变量和可变函数的使用。
<?php
function get_pen(){
echo "We get a pen.";
}
function get_pencil(){
echo "We get a pencil.";
}
?>
用户给我们一个参数$tool,代表钢笔或铅笔
第一种调用方法:
if($tool == "pen"){
get_pen();
}elseif($tool == "pencil"){
get_pencil();
}
第二种调用方法:
$getsth = "get_".$tool;
$getsth();
本来需要大段代码的编写,这里只需要简单的拼接就行了。这种用法在php中大量存在,极大简化我们的开发过程,提高开发效率。
正因为php诸多这样的优秀特性,加上他自身的不断发展,使得他越来越流行了。也让人爱不释手不是吗?
从java到php的更多相关文章
-
Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
-
故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
-
Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
-
论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
-
故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
-
死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
-
【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
-
Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
-
Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
-
c#与java的区别
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...
随机推荐
-
php学习函数
1defined和define区别 2.dirname(__FILE__) 3.set_include_path 4.get_include_path 5.realpath() 6.require_p ...
-
MySQL 通过idb文件恢复Innodb 数据【转】
昨晚收到一则求助,一个用户的本地数据库的重要数据由于误操作被删除,需要进行紧急恢复,用户的数据库日常并没有进行过任何备份,binlog也没有开启,所以从备份和binlog入手已经成为不可能,咨询了丁奇 ...
-
Silverlight 上传文件源代码
public class FileUploadArgs : EventArgs { public string FileName { get; set; } public Exception Ex { ...
-
【转】jquery validate验证框架与kindeditor使用需二次提交的问题
原文:http://blog.csdn.net/wlsyn/article/details/11536399在使用jquery的验证框架对kindeditor富文本编辑器进行验证的过程中,发现提 交时 ...
-
sky A800s手机恢复出厂设置操作
关机的情况下,手指一起按这3个按键(音量下键+搜索键+开机键)看到SKY标志后即可松手,就可以进入恢复界面恢复界面操作方法:音量上下键为上下移动,关机键为选择.选择 wipe data/factory ...
-
李洪强iOS开发之最全App上架流程
在上架App之前想要 真机测试的同学 请查看 iOS- 最全的真机测试教程 里面包含怎么让多台电脑同时 上架App和同时真机调试.P12文件的使用详解 准备 开发者账号 完工的项目 上架步骤 一.创建 ...
-
centos7 在 vmware下的安装与配置
我们这里选择的centos7的版本是 CentOS-7-x86_64-DVD-1511.iso 在vmware下安装,碰到两个问题: 1)安装如下界面时,会发现“开始安装”按钮是灰化的,这时需要对有 ...
-
MMTool制作Ozmosis引导BIOS完美引导OS X系统
Ozmosis引导是德国黑苹果爱好者制作的一个引导程序,目前仍处于测试版,有了它,你可以不用再使用四叶草.变色龙之类引导工具,相对而言它更象白苹果.Ozmosis是基于AMI公司bios的硬件引导驱动 ...
-
C# 将Access中时间段条件查询的数据添加到ListView中
C# 将Access中时间段条件查询的数据添加到ListView中 一.让ListView控件显示表头的方法 在窗体中添加ListView 空间,其属性中设置:View属性设置为:Detail,Col ...
-
Dalvik和ART
--摘自<Android进阶解密> DVM和ART都是在Zygote进程中诞生的 *DVM和JVM的区别* 1.基于的架构不同 DVM是基于寄存器的,它没有基于栈的虚拟机在复制数据时而使用 ...