*前段时间,因为一些开发上的服务需要用到Java,系统学习了一下Java SE的知识,也涉猎了一些Java EE的知识

在大数据以及消息队列或者搜索上相关的服务,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(字符串),

  1. Integer(整型),
  2. Float(浮点型),
  3. Boolean(布尔型),
  4. Array(数组),
  5. Object(对象),
  6. NULL(空值)。

二、常用数据结构
这样的话,显而易见,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.

这一点也是很像的。

还是希望大家什么时候都不再受苦折磨于这些细节,而是能够用工具开拓新的属于自己的价值,把精力放在让世界有一些变化上。永远希望大家能够不要手捧着各种负担走在人生路上,而是能够带着一个知识索引轻松上路。

©著作权归作者所有:来自51CTO博客作者jackdongting的原创作品,谢绝转载,否则将追究法律责任

你的鼓励让我更有动力

赞赏

0人进行了赞赏支持

更多相关文章

  1. 数组/JSON/AJAX/跨域
  2. 还不明白可空类型原理? 我可要挖到底了
  3. 数据结构与算法专题——第六题 树状数组
  4. 数据结构与算法专题——第一题 Bitmap算法
  5. 结构体作业讲解(零基础学习C语言)
  6. 字节三面:详解一条 SQL 的执行过程
  7. 自定义类型的认识
  8. Python数据分析常用库有哪些?Python学习!
  9. 0129-数组的排序, 数组的合并, 数组成员的统计

随机推荐

  1. Android中有关布局的几个问题
  2. [Android] Android零碎知识点
  3. React Native修改APP图标
  4. android空间动画
  5. Android Studio 官方示例源码地址
  6. android:layout_marginLeft 与 android:l
  7. RelativeLayout常用属性介绍-----开发日
  8. Android Intent 用法汇总
  9. Android学习—— Android资料之-系统自带
  10. Android ImageButton android:scaleType