首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day02】——JavaSE

数组: 数组是最常用的数据结构,数组的特点是长度固定,可以用下标索引,并且所有的元素的类型都是一致的。数组常用的场景有:从数据库里读取雇员的信息存储为EmployeeDetail[ ];把一个字符串转换并存储到一个字节数组中便于操作和处理等等。尽量把数组封装在一个类里,防止数据被错误的操作弄乱。另外,这一点也适合其他的数据结构。 列表: 列表和数组很相似,只不过它的大小可以改变。列表一般都是通过一个固定大小的数组来实现的,并且会在需要的时候自动调整大小。列表里可以包含重复的元素。常用的场景有,添加一行新的项到订单列表里,把所有过期的商品移出商品列表等等。一般会把列表初始化成一个合适的大小,以减少调整大小的次数。 集合: 集合和列表很相似,不过它不能放重复的元素。 堆栈: 堆栈只允许对最后插入的元素进行操作(也就是后进先出,Last In First Out – LIFO)。如果你移除了栈顶的元素,那么你可以操作倒数第二个元素,依次类推。这种后进先出的方式是通过仅有的peek(),push()和pop()这几个方法的强制性限制达到的。 队列: 队列和堆栈有些相似,不同之处在于在队列里第一个插入的元素也是第一个被删除的元素(即是先进先出)。这种先进先出的结构是通过只提供peek(),offer()和poll()这几个方法来访问数据进行限制来达到的。例如,排队等待公交车,银行或者超市里的等待列队等等,都是可以用队列来表示。 链表: 链表是一种由多个节点组成的数据结构,并且每个节点包含有数据以及指向下一个节点的引用,在双向链表里,还会有一个指向前一个节点的引用。例如,可以用单向链表和双向链表来实现堆栈和队列,因为链表的两端都是可以进行插入和删除的动作的。当然,也会有在链表的中间频繁插入和删除节点的场景。Apache的类库里提供了一个TreeList的实现,它是链表的一个很好的替代,因为它只多占用了一点内存,但是性能比链表好很多。也就是说,从这点来看链表其实不是一个很好的选择。

02

【Java】01 初识 Java

Java 语言的诞生具有一定的戏剧性,它并不是经过精心策划、制作,最后产生的划时代产品,从某个角度来看,Java 语言的诞生完全是一种误会。    1990 年年末,Sun 公司预料嵌入式系统将在未来家用电器领域大显身手。于是 Sun 公司成立了一个由 James Gosling 领导的 “Green计划”,准备为下一代智能家电(如电视机、微波炉、电话)编写一个通用控制系统。    该团队最初考虑使用 C++ 语言,但是很多成员包括 Sun 的首席科学家 Bill Joy,发现 C++ 和可用的 APl 在某些方面存在很大问题。而且工作小组使用的是嵌入式平台,可用的系统资源极其有限。并且很多成员都发现 C++ 太复杂,以致很多开发者经常错误使用。而且 C++ 缺少垃圾回收系统、可移植性、分布式和多线程等功能。    根据可用的资金,Bill Joy 决定开发一种新语言,他提议在 C++ 的基础上,开发一种面向对象的环境。于是,Gosling 试图通过修改和扩展 C++ 的功能来满足这个要求,但是后来他放弃了。他决定创造一种全新的语言:Oak。    到了1992 年的夏天,Green 计划已经完成了新平台的部分功能,包括 Green 操作系统、Oak 的程序设计语言、类库等。同年11月,Green 计划被转化成 “FirstPerson有限公司”,一个 Sun 公司的全资子公司。    FirstPerson 团队致力于创建一种高度互动的设备。当时代华纳公司发布了一个关于电视机顶盒的征求提议书时,FirstPerson 改变了他们的目标,作为对征求提议书的响应,提出了一个机顶盒平台的提议。    但有线电视业界觉得 FirstPerson 的平台给予用户过多的控制权,因此 FirstPerson 的投标败给了 SGl,同时,与 3DO 公司的另外一笔关于机顶盒的交易也没有成功。此时,可怜的 Green 项目几乎接近天折,甚至 Green 项目组的一半成员也被调到了其他项目组。正如中国古代的寓言所言:塞翁失马,焉知非福?如果 Green 项目在机顶盒平台投标成功,也许就不会诞生 Java 这门伟大的语言了。    1994 年夏天,互联网和浏览器的出现不仅给广大互联网的用户带来了福音,也给 Oak 语言带来了新的生机。Gosling 立即意识到,这是一个机会,于是对 Oak 进行了小规模的改造,到了1994 年秋,小组中的 Naughton 和 Jonathan Payne 完成了第一个 Java 语言的网页浏览器:webRunner。Sun 公司实验室主任 Bert Sutherland 和技术总监 Eric Schmidt 观看了该浏览器的演示,对该浏览器的效果给予了高度评价。当时 Oak 这个商标已被别人注册,于是只得将 Oak 更名为 Java。    Sun 公司在1995 年年初发布了 Java 语言,Sun 公司直接把 Java 放到互联网上,免费给大家使用。甚至连源代码也不保密,也放在互联网上向所有人公开。    几个月后,让所有人都大吃一惊的事情发生了:Java 成了互联网上最热门的宝贝。竟然有10万多人次访问了 Sun 公司的网页,下载了 Java 语言。然后,互联网上立即就有数不清的 Java 小程序(也就是 Applet ),演示着各种小动画、小游戏等。    Java 语言终于扬眉吐气了,成为了一种广为人知的编程语言。    在 Java 语言出现之前,互联网的网页实质上就像是一张纸,不会有任何动态的内容。有了 Java 语言之后,浏览器的功能被扩大了,Java 程序可以直接在浏览器里运行,可以直接与远程服务器交互:用 Java 语言编程,可以在互联网上像传送电子邮件一样方便地传送程序文件!    1995 年,Sun 虽然推出了 Java,但这只是一种语言,如果想开发复杂的应用程序,必须要有一个强大的开发类库。因此,Sun 在 1996 年年初发布了 JDK1.0。这个版本包括两部分:运行环境(即JRE)和开发环境(即JDK),运行环境包括核心 API、集成 API、用户界面 API、发布技术、Java 虚拟机(JVM)5个部分:开发环境包括编译 Java 程序的编译器(即 javac 命令)。接着,Sun 在1997年2月18日发布了 JDK1.1。JDK1.1 增加了 JIT(即时编译)编译器。JIT 和传统的编译器不同,传统的编译器是编译一条,运行完后将其扔掉;而 JIT 会将经常用到的指令保存在内存中,当下次调用时就不需要重新编译了,通过这种方式让 JDK 在效率上有了较大提升。    但一直以来,Java 主要的应用就是网页上的 Applet 以及一些移动设备。到了1996 年年底,Flash 面世了,这是一种更加简单的动画设计软件:使用 Flash 几

03

java从入门到精通一(java开发入门)

java的相关环境的配置 开篇语:大一下学期学习了java的基础案例教程,当然疫情期间是在家里上的学校网课,带我java课程的老师讲的特别好,虽然是以视频的形式来讲课,但老师讲的同样很精彩,很详细,因此啊,很感谢老师给我带来如此优质的课程。 学过的东西要总结是很好的习惯,总结,帮助我们更好的梳理知识,将我们的基础打扎实。从本篇开始,我会将我学过的java相关的知识做一个汇总。以便知识的分享,也方便以后自己的查阅。 java开发入门: 1.1:java来源: java是一门高级计算机语言,他是在1995年由SUN公司推出来的,不过后来由Orzcle公司巨资收购。 我们知道java是很受市场欢迎的,当时SUN公司将java划分为3个技术平台:javaSE,javaEE,javaME。javaSE是一个标准版,是为开发桌面应用和商务应用提供的解决方案;javaEE是为企业开发的;javaME呢,他是为开发电子产品和嵌入式设备提供的解决方案。 1.2 :java语言的特点 1:简单性,是的,相比c语言和c++,java还是比较简单的,但是相比python强大的库操作,其实java也并不简单。 2:面向对象性,java是一门面向对象性的编程性语言,当然这里讲可能比较抽象,但是当我们学到面向对象那里,就会很好理解了,因为我们时常new 一个对象,所以学java的单身狗们时常new个对象来安慰单身的自己,这也许就是程序猿的快乐吧,哈哈。 3:安全性,java语言它不支持指针,对内存的访问都是要用过对对象的实例变量来实现,所以它会更安全。我们学过c语言的数据结构就知道,指针可以很方便的操纵内存,而且,指针操纵内存的溢出攻击也是非常有名的。 4:跨平台性,这与java的虚拟机有关,java的程序是由虚拟机来执行的,并不是我们的操作系统,不同的操作系统中只需安装不同版本的虚拟机即可,可以通过这样来实现跨平台。奥利给。 我们来看图:

04
领券