在大数据以及消息队列或者搜索上相关的服务,Java有很大的优势,毕竟市场上很多服务在Java上的支持更多
每次面试都会问到很多常规知识,也许是疏于整理和使用。我基本上对于Php的字符串和数组函数,看一遍会一遍,然后忘掉一遍。其实我觉得这个也许和记忆力和使用程度有关
但是对于这一块的知识,我也许只能做到这种程度。*
说到语言内置的基本数据类型,php在上世纪90年代中期开始,在2000年左右完善出来php4
java语言差不多也是那时候出现,被Sun公司放到网上,大家使用,后面紧接着出现了JDK 1.0
所以一门语言常有的语法结构,语法分析,语义分析,因为同一时代,大家还是有很多相识的地方,尤其是当现代PHP的概念出现,大家在面向对象上又有新的探索。
如今Java 已经进入了JDK15,PHP进入了7时代
Java最大的特点就是没有单独函数,全部包含在对象中
这也意味着它的所有基础数据结构都是为了对象而存在,所以它应该有一个鼻祖就是Object对象吧。
一、说到基本类型
Java有四种基本类型:(CPU可以直接运算)
1.整型
2.浮点
3.字符
4.布尔
整型有四个
1.byte(占一个字节)
2.short(两个字节)
3.int(四个字节)
4.long(八个字节)
补充:内存中最小的存储单位就是字节(byte)
每个字节为8个二进制数(bit)
这里的巧合就是1个整型byte的大小就是一个字节
为了人类可读,就将内存中的数字表示出来,出现了进制的区别。
同一个数字,不同的进制表示,自然而然是完全一样的。
15=0xf=0b1111;
相对于Java,PHP是没有严格意义上的基本类型,它弱类型
属于在基本类型之上封装的
1.String(字符串),
二、常用数据结构
这样的话,显而易见,PHP 上手更加容易一些,毕竟更加贴近程序员,远离计算机。
同样,为了便于进一步抽象,Java也有进一步的基本数据结构的对象
2.1最常用的就是String,这是一个引用类型
(值是不可更改的,所有对象都是被放在特殊的栈里面,这个设计非常有意思)
这基本上就可以解决字符相关的所有基本问题
2.2进一步需要的就是集合(Collection)
Java 的java.util包里面有很多集合,常见的有List,Set,Map
其中实现List的接口的有ArrayList
这个可以类比PHP的数组概念,
LinkedList就是链表
只不过PHP的数组更加融合,弱类型的贴近程序员的优势更加明显。
其实说到这种程度,基本的两个程序的基本知识就到了。剩下的
PHP 就是刚才提到的面试必提的字符串函数,数组函数
Java就是String的API,Collection的实现层次和API
三、引擎
扩展一点,JAVA的很多语言特性也是基于JVM这一层的抽象之上,JVM也是做了一层的封装,这一点又觉得和PHP很像。
毕竟JVM是独立于语言存在的,不只是JAVA语言可以在JVM上运行,其他语言理论上也是可以的。
PHP也是有自己的引擎,应该就是Zend.
这一点也是很像的。
还是希望大家什么时候都不再受苦折磨于这些细节,而是能够用工具开拓新的属于自己的价值,把精力放在让世界有一些变化上。永远希望大家能够不要手捧着各种负担走在人生路上,而是能够带着一个知识索引轻松上路。
原文:https://blog.51cto.com/10725691/2636861