最近开始面试了,觉得有必要好好看一下前面的JAVA知识,因为我实在抵不过记忆的淡忘;
1.JAVA的背景
历史纠结:JAVA的前身是oak语言,是在1990年发布的,来自于Sun公司的一个Green项目,在我出生的后一年,也就是1995年,Oak语言改名JAVA,正式发布;
JAVA的优越性:
1.跨平台,这是一提到JAVA我首先就想到的,JAVA的跨平台性体现在其的JVM(JAVA虚拟机)上,在编写好一个.JAVA文件后,先有编译器进行编译,生成.class文件,这个.class文件就是中间字节码文件,只要我们在不同的操作系统下安装其对应的JVM,就都可以运行这个.class文件,比如:在Linux系统下安装Linux系统版本的JVM,在windows系统下,安装对应的windows版本的JVM,然后我们就可以运行.class文件了;所以说,JAVA的跨平台性体现在它只要经过一次编译,就可以在多台机器上运行,也就是通常我们所说的,一次编译,多次运行;
2.面向对象,这应该是JAVA第二个最重要的特点了,JAVA是一款完全面向对象的语言,C是面向过程的,C++是半面向过程半面向对象;面向对象有三大基本特征,封装,继承,多态;在JAVA中,封装指的是,JAVA类中对字段进行private声明;继承指的是,类与类之间的关系,父生子,子生孙;多态,字面意思,多种形态,指的对象对不同的消息所作出的相应,多态的出现有三个必要条件,重载,覆盖,父类引用子类对象;
3.简单性,JAVA语言与C++相比,抛弃了n多东西,比如运算符重载,多继承,指针等,因而这样使得JAVA语言变得更加的简单;
4.安全性,个人觉得,JAVA取消了指针,就已经极大地提高了其安全性,JAVA不能直接读取内存,这样可以防止恶意修改;再则,类的封装性也体现了JAVA的安全性,另外,当从网络上下来类时,JAVA会会为他生成一个命名空间,防止与本地类同名,篡改本地类;
5.多线程,这个不多说,JAVA支持多线程编程,可以提高程序的执行效率;
6.健壮性,这个我觉得体现在JAVA的垃圾回收机制,针对不在使用的对象,我们不在需要手动释放,JAVA会自动帮我们回收;
2.JAVA的三个方向
学到现在,我觉得自己应该知道自己学的是啥,是JAVA的哪个方向;
JAVASE:常用于开发桌面级应用程序,需安装JRE
JAVAEE:常用于开发企业级程序
JAVAME:常用于开发嵌入式,移动设备端的程序
相关推荐
代码随想录知识星球精华-大厂面试八股文v1.1 代码随想录知识星球精华-大厂面试八股文v1.1 代码随想录知识星球精华-大厂面试八股文v1.1 代码随想录知识星球精华-大厂面试八股文v1.1 代码随想录知识星球精华-大厂面试...
多因子模型是一种统计模型,用于分析和解释股票收益的来源,通常用于投资组合管理和金融工程领域。该模型的基本思想是将股票的收益分解为一系列因子(如市场因子、规模因子、价值因子、动量因子等)的线性组合加上一...
1. **C++**:讲解了C++的基础知识,如关键字与运算符、指针与引用,以及STL(Standard Template Library)、泛型编程和C++11新特性。同时,《Effective STL》的实践指导也被包含在内,帮助理解C++的高效编程技巧。 ...
用户可以在记录中写下自己的解题思路、关键代码和总结等内容,方便日后回顾和复习。 ## 刷题笔记记录的优点 刷题笔记记录有以下几个优点: - 帮助用户更好地理解和掌握题目解法 - 促进用户对算法和数据结构的深入...
在前端领域,"最强八股文"可能会包括HTML、CSS和JavaScript的基础知识,例如DOM操作、事件处理、BFC(块格式化上下文)、CSS布局模式如Flexbox和Grid、以及ES6+的新特性。此外,还可能涉及到React、Vue或Angular等...
学生可能在基础知识方面显得薄弱,学习兴趣不高,注意力易分散,这些因素都会影响学习效果。基于此,教师应当注重引导和督促,激发学生的学习兴趣,帮助他们建立良好的学习习惯,这是教学设计的首要任务。 二、教材...
代码随想录贪心算法知识,非常管用
一些基本问题如何时选择数组或链表、散列函数的工作原理、递归的概念、算法复杂度的理解以及如何实现冒泡排序和二分查找等,都是衡量是否掌握这些基础知识的标准。对于不熟悉这些概念的新手,建议阅读经典的算法和...
《代码随想录》通过实例引导读者逐步掌握这些知识,每个算法都会配合C++代码进行详细解释,使读者能够在实践中巩固理论知识。这本书是提升编程思维、熟练运用C++解决实际问题的理想教程。通过阅读和实践书中的例子,...
二叉树遍历
java笔试题算法 WeeklyBlog 欢迎来到 itsCoder 的 WeeklyBlog 项目。 更多介绍和加入项目请阅读 。 项目文章 标题 类别 作者 期数 随想 10 iOS 10 Nginx 10 Git 10 设计模式 10 Java 10 Android 9 Android 9 Web 9 ...
Capriccio依靠Humoresque进行HAHA-Java的翻译,没有它就无法运行。 还需要以下软件: JDK 11.0.4 []或更高版本(早期版本也可能适用) Python 3 [] 制作(在类似Debian的发行版上使用sudo apt-get install build-...
通过学习《代码随想录》,你可以系统地了解和掌握这些基础知识,为面试和工作中的问题解决做好准备。 书中可能包含以下核心知识点: 1. **基础数据结构**:数组、链表、栈、队列、哈希表、二叉树等。理解这些数据...
从给定的文件信息来看,「代码随想录」动态规划专题精讲(v1.2).pdf 的内容涉及到编程算法中的动态规划专题的精讲。动态规划(Dynamic Programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息...
刷题攻略的背景 很多刚开始刷题的同学都有一个困惑:面对leetcode上近两千道题目,从何刷起。 大家平时刷题感觉效率低,浪费的时间主要在三点: 找题 找到了不应该现阶段做的题 没有全套的优质题解可以参考 其实我...