Java面试系列3

Java面试系列3

01

不得不知道的Java名词

1 . J2EE (Java 2 Enterprise Edition)是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

J2EE是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。

J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。

2 . J2ME (Java 2 Micro Edition)是Sun公司专门用于嵌入式设备的Java软件

3. SOAP(Simple Object Access Protocol)

简单对象访问协议:是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。

4. WEB SERVICE

是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。

5. JNDI(Java Naming & Directory Interface)

JAVA命名目录服务。主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。

6. JDO(java data object)

是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API。

7. IIOP(Internet Inter-ORB Protocol)

互联网内部对象请求代理协议,Java中使得程序可以和其他语言的CORBA实现实现互操作性的协议。

8. LDAP(Lightweight Directory Access Protocol)

轻量目录访问协议

9. JNI(Java Native Interface )

java本地编程接口,他能够使java代码与用其他编程语言编写的应用程序和库进行互操作。

10. ERP(Enterprise Resource Planning)

企业资源计划,是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。

11. CRM(Customer Relationship Management)

是一套基于大型数据仓库的客户资料管理系统

12.JMS(Java Message Service)

JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。

13.DOM(文档对象模型),用来解析XML。

14.MVC

是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

设计模式方面

15.EJB(企业级Java Bean)

作为Model,可以封装数据(实体Bean),也可以表示业务功能(会话Bean),作为Model,可以处理消息(MDB)。

16.UML(统一建模语言)

提供画图的规范。Rose,Visio。

17.DTD(文档类型定义)

规定XML文件的格式。

18.XML(可扩展的标记语言)

解析方式有:

DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问;

SAX:不同于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问。

定义方式:

DTD(文档类型定义)和Schema。

19.JAXP(解析XML的Java API)

.

20.RMI:(Remote Method Invocation /internet对象请求中介协议)

他们主要用于通过远程调用服务。例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直接调用。当然这是要通过一定的规范才能在异构的系统之间进行通信。RMI是JAVA特有的。

21.JTA(Java Transaction API)

JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。

22.JAF(Java Action FrameWork)

JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。

23.GDI类为图像设备编程接口类库。

24.UML方面标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图,

25.CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture)

由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。

其目的为:

用不同的程序设计语言书写

在不同的进程中运行

为不同的操作系统开发

26.JAXP(Java API for XML Parsing)

定义了在Java中使用DOM, SAX, XSLT的通用的接口。这样在你的程序中你只要使用这些通用的接口,当你需要改变具体的实现时候也不需要修改代码。

27.JAXM(Java API for XML Messaging)

是为SOAP通信提供访问方法和传输机制的API。

28.EJB容器(Enterprise java bean)。

更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理

EJB是企业级的JavaBean,它提供了构建企业级业务逻辑的一种组件模型。

EJB分为三种:

Session Bean ;Entity Bean ;Message-Driven Bean 三种,其中Session Bean分为有状态和无状态Session Bean两种,Entity Bean分为容器管理的Entity Bean ( CMP ) 和 Bean管理的 Entity Bean ( BMP )。每一个EJB由一个远程接口、一个本地接口和一个EJB容器实现组成,远程接口声明了提供给EJB客户调用的各种应用方法,本地接口声明了创建新的EJB实例的create方法、寻找EJB实例的查找(finder)方法以及刪除EJB实例的remove方法。EJB容器提供了EJB的运行环境和生命周期的管理。

29.JDO(java data object)

是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。

30.Web Service

Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。

31.WSDL

是一种 XML 格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。

32.SOAP

即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。

33.UDDI

目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

02

什么是webService?

Web Service就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。

Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web

Service可以在任何支持这些标准的环境(Windows,Linux)中使用。

  注:SOAP协议(Simple Object AccessProtocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。

优势:

  (1).跨平台。

  (2).SOAP协议是基于XML和HTTP这些业界的标准的,得到了所有的重要公司的支持。

  (3).由于使用了SOAP,数据是以ASCII文本的方式而非二进制传输,调试很方便;并且由于这样,它的数据容易通过防火墙,不需要防火墙为了程序而单独开一个“漏洞”。

  (4).此外,WebService实现的技术难度要比CORBA和DCOM小得多。

  (5).要实现B2B集成,EDI比较完善与比较复杂;而用WebService则可以低成本的实现,小公司也可以用上。

  (6).在C/S的程序中,WebService可以实现网页无整体刷新的与服务器打交道并取数。

缺点:

  (1).WebService使用了XML对数据封装,会造成大量的数据要在网络中传输。

  (2).WebService规范没有规定任何与实现相关的细节,包括对象模型、编程语言,这一点,它不如CORBA。

03

String s = new String("xyz");

创建了几个String Object?

两个

String 里面又是一个字符串。

04

short s1 = 1; s1 = s1 + 1;有什么错?

short s1 = 1; s1 += 1;有什么错?

short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)

short s1 = 1; s1 += 1;(可以正确编译

05

写clone()方法时,通常都有一行代码,是什么?

Clone 有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。

原文发布于微信公众号 - Java帮帮(javahelp)

原文发表时间:2017-04-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JackieZheng

学习SpringMVC——从HelloWorld开始

前言:   时隔十二年,中国女排最终过关斩将,用3:1的成绩证明了自己的实力,霸气夺冠,为中国赢得了一枚意义非常的金牌。这是一次全民的狂欢,一场视听盛宴,带给我...

2207
来自专栏Java职业技术分享

Java异步NIO框架Netty实现高性能高并发

最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调...

7881
来自专栏linux驱动个人学习

Linux用户抢占和内核抢占详解(概念, 实现和触发时机)--Linux进程的管理与调度(二十)

多任务系统中, 内核负责管理各个任务, 或者说为每个任务分配CPU时间, 并且负责任务之间的通讯.

3143
来自专栏FreeBuf

判断是否支持Heartbeat的NSE脚本

服务端支持heartbeat是存在heartbleed漏洞的必要条件,如果判断出某SSL端口不支持heartbeat,那基本上就可以排除风险了。 在SSL握手...

1967
来自专栏java学习

Java每日一题1_关于Spring

A Spring Core:Core封装包是框架的最基础部分,提供IOC和依赖注入特性

1015
来自专栏向治洪

java项目管理工具maven使用初级

一、前言         早就知道maven 在java 项目的管理方面名声显赫,于是就想着学习掌握之,于是查阅了大量文档。发现这些文档的作者都是java 的大...

2729
来自专栏pangguoming

Open edX 学习、开发、运维相关链接整理

所需知识: Linux Git Python (Django Mako coffeescript sass) (MongoDB Mysql) Ansible-p...

4875
来自专栏懒人开发

ssm简单总结

项目原因, 最近在ssm上面多花了些时间 由于改需求,还未完成 这里简单写一下自己的理解和不足

2253
来自专栏yukong的小专栏

【java并发编程实战4】偏向锁-轻量锁-重量锁的那点秘密(synchronize实现原理)synchronized自旋锁偏向锁轻量锁重量锁小结

在多线程并发编程中,synchronized一直都是元老级别的角色,人们都通常称呼它为重量锁,但是在jdk1.6版本之后,jdk就对synchronized做了...

5243
来自专栏云计算教程系列

Ubuntu入门:监控系统日志

身份验证管理的一个在配置用户后监视系统的组件。现代Linux系统会在文件中记录所有身份验登录信息。它位于“/var/log/auth.log ”目录下,你可以使...

1442

扫码关注云+社区

领取腾讯云代金券