线程安全:HashMap时单线程安全的,Hashtable是多线程安全的。

遍历不同:HashMap仅支持Iterator的遍历方式,Hashtable支持Iterator和Enumeration两种遍历方式。

null不同:HashMap可以允许存在一个为null的key和任意个为null的value,但是HashTable中的key和value都不允许为null。

多线程时,如何保障线程安全的同时也能保证效率?ConcurrentHashMap

通过把整个Map分为N个segment(类似Hashtable),这样既可以保障线程安全,也能使效率提高N倍,默认是16倍.

ConcurrentHashMap当中每个Segment各自持有一把锁。在保证线程安全的同时降低了锁的粒度,让并发操作效率更高。

10. 实现一个拷贝文件的工具类要使用字节流还是字符串

使用字节流,因为我们要拷贝的文件,不好确定里面是否全是字符,如果文件中包含图片之类的字节时,就需要使用字节流.所以,我们一般是用字节流拷贝文件.

11. 线程的的实现方式?怎么启动线程?怎么区分线程?

  1. 1.继承Thread类,不推荐

  2. 1.实现Runnable 接口

  3. 1.实现java.util.concurrent下的Callable接口

12. 线程并发库和线程池的作用

简单了解过,JDK5中增加了并发库,java.util.concurrent中提供了对线程优化.管理的各项操作,该包提供了线程的运行,线程池的创建,线程生命周期的控制.

线程池:java.util.concurrent.Executors创建四种线程池

  • newCachedThreadPool 创建非固定数量,可缓存的线程池,若线程池超过处理需要,可灵活回收空线程,若没有线程可回收,则建新线程

  • newFixedThreadPool固定线程池,底层是无界队列,可控制最大并发数,超出的线程会在队列中等待

  • newScheduledThreadPool定时执行线程池,支持定时及周期性任务执行

  • newSingleThreadExecutor单线程化的线程池,只会用唯一的工作线程来执行任务,保证所有任务按照顺序执行

线程池的好处:

  1. 限定线程的个数,不会导致由于线程过多导致系统运行缓慢或崩溃

  2. 线程池每次都不需要去创建和销毁,节约了资源

  3. 线程池不需要每次都去创建,相应时间更快.

13. 设计模式和常用的设计模式(选择自己熟悉的说,最好能手写)

设计过程中可以反复使用的、可以解决特定问题的通用模板。

  • 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。

  • 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。

  • 行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

14. HTTP GET POST请求的区别

1、GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。URL的编码格式采用的是ASCII编码,而不是uniclde,即是说所有的非ASCII字符都要编码之后再传输。

POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。

因此,GET请求的数据会暴露在地址栏中,而POST请求则不会。

2、传输数据的大小

在HTTP规范中,没有对URL的长度和传输的数据大小进行限制。但是在实际开发过程中,对于GET,特定的浏览器和服务器对URL的长度有限制。因此,在使用GET请求时,传输数据会受到URL长度的限制。

对于POST,由于不是URL传值,理论上是不会受限制的,但是实际上各个服务器会规定对POST提交数据大小进行限制,Apache、IIS都有各自的配置。

3、安全性

POST的安全性比GET的高。这里的安全是指真正的安全,而不同于上面GET提到的安全方法中的安全,上面提到的安全仅仅是不修改服务器的数据。比如,在进行登录操作,通过GET请求,用户名和密码都会暴露再URL上,因为登录页面有可能被浏览器缓存以及其他人查看浏览器的历史记录的原因,此时的用户名和密码就很容易被他人拿到了。

15. 说说你对SERVLET的理解

就是一个运行在WEB服务器上的小的Java程序,用来接收和响应从客户端发送过来的请求,通常使用HTTP协议.

使用:

1、编写一个Java类,实现servlet接口。

2、把开发好的Java类部署到web服务器中。

按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet

Servlet :接口

|

GenericServlet :通用的Servlet

|

HttpServlet :HttpServlet

* 编写一个类继承HttpServlet,重写doGet和doPost方法.

* 配置

16. SERVLET的生命周期

用户第一次访问Servlet的时候,服务器会创建一个Servlet的实例,那么Servlet中init方法就会执行.任何一次请求服务器都会创建一个新的线程访问Servlet中的service的方法.在service方法内部根据请求的方式的不同调用doXXX的方法.(get请求调用doGet,post请求调用doPost).当Servlet中服务器中移除掉,或者关闭服务器,Servlet的实例就会被销毁,那么destroy方法就会执行.

17. SERVLET中FORWARD和REDIRECT的区别

重定向(redirect)其实是两次request,第一次,客户端request,A服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。在重定向的过程中,传输的信息会被丢失。

请求转发(forward)是服务器内部把对一个request/response的处理权,移交给另外一个.对于客户端而言,它只知道自己最早请求的那个A,而不知道中间的B,甚至C、D。传输的信息不会丢失。

18. JSP和SERVLET的相同点和不同点

联系:

JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达。

JSP编译后是”类 servlet”。

不同点:

- Servlet 的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。Servlet如果要实现html功能,必须使用Writer输出对应的html.

- JSP 的情况是Java和HTML可以组合成一个扩展名为.jsp 的文件。做界面展示比较方便,而嵌入逻辑复杂.

- JSP 侧重于视图,Servlet 主要用于控制逻辑

19. jsp内置对象和四大作用域和页面传值

| 内置对象名 | 类型 |

| — | — |

| request | HttpServletRequest |

| response | HttpServletResponse |

| config | ServletConfig |

| application | ServletContext |

| session | HttpSession |

| exception | Throwable |

| page | Object(this) |

| out | JspWriter |

| pageContext | PageContext |

| 域 | 范围 |

| — | — |

| page域 | 只能在当前jsp页面使用 |

| request域 | 只能在同一个请求中使用 |

| session域 | 只能在同一个会话(session对象)中使用 |

| context域 | 只能在同一个web应用中使用 |

20. SESSION和COOKIE的区别和使用场景

Session和cookie都是会话(session)跟踪技术.cookie通过在客户端记录信息确定用户身份,而session是通过在服务器端记录信息确定用户身份.但是session的实现依赖于cookie机制来保存JESESSIONID(session的唯一标识,需要存在客户端)

区别:

  1. cookie的数据存储在客户端,session的数据存储在服务器上

  2. cookie不是很安全,别人可以通过分析存放在本地的cookie并进行cookie欺骗,考虑到安全应该使用session

  3. session会在一定时间内保存在服务器上,当访问增多时,会影响服务器的性能.考虑到服务器性能,应当使用cookie.

  4. 单个cookie保存数据不能超过4k,很多浏览器显示一个站点最多保存20个cookie

  5. 将重要信息保存在session中(登陆),将其他需要保留的信心存放在cookie中(购物车,cookie是可以在客户端禁用的,这时候要使用cookie+数据库的方式实现购物车,当cookie中不能取出数据,就从数据库中取)

21. MVC模式和MVC各部分的实现

MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范.低耦合(m和v的分离)

struts2的mvc:jsp–>StrutsPrepareAndExecuteFilter(前端控制器,核心控制器)+action–>javabean–>result

22. 数据库分类和常用数据库

>

- 关系型:MySQL、 ORACLE、SQL Server、IBM DB2、Sybase

- 非关系型:Redis,Memcached,MongoDB ,Hadoop

23. 关系型数据库的三范式

范式就是规范,就是关系型数据库设计表时遵循的三个规范.要满足第二范式,必须先满足第一范式,要满足第三范式,必须先满足第二范式

  1. 第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。列数据的不可分割.

  2. 第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识.(主键)

  3. 第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。(外键)

反三范式:有时候为了效率,可以设置重复或者可推导出的字段.比如:订单(总价),订单项(单价)

24. 事务的四大特征

事务是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.例子:转账

事务的四大特性:ACID

  1. 原子性(Atomicity):表示事务内不可分割,要么都成功,要么都失败

  2. 一致性(Consistency):要么都成功,要么都失败.失败了,要对前面的操作进行回滚

  3. 隔离性(Isolation):一个事务开启了,不能受其它事务的影响

  4. 持久性(Durability):持续性,表示事务开始了,就不能终止.事务提交后,将数据序列化到数据库

25. MYSQL数据库最大连接数

数据库默认的最大连接数是100,在实际操作中,我们会去修改这个值:mysql安装文件–>my.ini文件

The maximum amount of concurrent sessions the MySQL server will

allow. One of these connections will be reserved for a user with

SUPER privileges to allow the administrator to login even if the

connection limit has been reached.

max_connections=100

26. MYSQL和ORACLE的分页语句

为什么要分页?很多数据不能完全展示出来,需要进行分段显示

  • mysql:是使用关键字limit来进行分页的.LIMIT [offset,] rows:offset指定要返回的第一行的偏移量(也就是从哪个索引开始),rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)

  • oracle:一般是使用rownum 加select 嵌套查询

27. 触发器的使用场景?

触发器:触发器需要有触发条件,当条件满足后,做什么操作

应用场景:某些社交软件的日志更新,会通知好友; 一些论坛中,当插入新帖时,会更改当前帖子总数以及最后发帖时间.

CREATE [or REPLACE] TRIGGER 触发器名

BEFORE | AFTER

[DELETE ][[or] INSERT] [[or]UPDATE [OF 列名]]

ON 表名

[FOR EACH ROW ][WHEN(条件) ]

declare

……

begin

PLSQL 块

End ;

28. 存储过程的优点

>

  1. 存储过程只在创建时进行编译,以后每次执行它都不会再重新编译.一般SQL语句每次执行都会编译.所以存储过程会大大提高数据库执行速度

  2. 通常复杂的业务逻辑需要多条SQL语句,这些语句要分别从客户机发送到服务器,当客户机和服务器之间的操作很多时,会产生大量的网络传输.如果将这些操作放在一个存储过程中,那么客户机和服务器之间的网络传输会大大减少,降低网络负载.

  3. 存储过程是可重复使用的,能减少数据库开发人员的工作量.

  4. 存储过程可以屏蔽对底层数据对象的直接访问,使用EXECUTE权限调用存储过程,无需拥有访问底层数据库对象的显示权限,安全性高.

29. JDBC调用存储过程

  • 贾琏欲执事

  • 加载驱

  • 获取连接

  • 设置参数

  • 执行

  • 释放连接

30. 简单说一下你对JDBC的理解

Java database connection java数据库连接,数据库关系系统很多,每个数据库关系管理系统支持的命令是不一样的.

Java只定义接口,让数据库厂商自己实现接口,对于我们开发人员而言,只需要导入对应厂商开发的实现即可,然后以接口的方式进行调用(mysql+mysql驱动(实现)+jdbc)

31. 写一个JDBC的访问ORACLE的列子

public class OracleUtils {

static {

try {

Class.forName(“oracle.jdbc.driver.OracleDriver”);

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

//获取连接

public static Connection getConnection() throws SQLException {

Connection conn = DriverManager.getConnection(“jdbc:oracle:thin:@ip:1521:orcl”, “username”, “password”);

return conn;

}

//关闭资源

public static void close(ResultSet rs, Statement stmt, Connection conn) {

}

}

调用

Connection conn = OracleUtils.getConnection();

PreparedStatement stmt = conn.prepareStatement(sql);

ResultSet rs = stmt.executeQuery();

OracleUtils.close(rs, stmt, conn);

32. JDBC中PREPAREDSTATEMENT比STATEMENT的好处

PreparedStatement可以防止sql注入攻击,它是预编译的,

33. 数据库连接池的作用

  1. 限定数据库的连接个数,不会由于数据库连接过多导致系统运行缓慢或崩溃

  2. 数据库连接不需要每次都去创建或销毁,节约了资源

  3. 数据库连接不需要每次都去创建,响应时间更快.

34. 简单说一下HTML,CSS,JAVASCRIPT在网页开发中的定位

  • Html 超文本标记语言,定义网页的结构

  • Css 层叠样式表,用来美化页面

  • Javascript 主要用来验证表单,做动态交互(其中ajax)

35. 简单介绍了一下AJAX

什么是ajax?异步的javascript和xml

作用是什么?通过ajax与服务器进行数据交换,ajax可以使网页实现局部更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新.

怎么实现?ajax xmlhttpRrqueset对象,使用这个对象可以异步向服务器发送请求,获取响应,完成局部更新,open send responseText/responseXml局部响应.

使用场景:登陆失败时不跳转页面,注册时提示用户名是否存在,二级联动等等.

36. JS和JQUERY的关系

JQuery是一个js框架,封装了js的属性和方法,并且增强了js的功能,让用户使用起来更加便利,并且增强了js的功能.

原来是使用js是要处理很多兼容性的问题(比如注册事件等),由JQuery封装了底层,就不用处理兼容性问题.

原生的js的dom和事件绑定和ajax等操作非常麻烦,JQuery封装了以后,操作非常方便.

37. JQUERY中的常用选择器

  • ID选择器

  • Class选择器

  • 标签选择器

  • 通用选择器

  • 层次选择器

  • 属性选择器

38. JQUERY中页面加载完毕事件

为什么需要页面加载事件?很多时候我们需要获取元素,但是必须等到该元素被加载后才能获取,我们可以把js代码放到该元素的后面,但是这样就会造成js在我们的body中存在不好管理.所有页面加载完毕后,所有的元素当然已经加载完毕,一般获取元素做操作都要在页面加载完毕后.

$(

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

function{}表示的是页面结构被加载完毕

Window.onload表示的是页面被加载完毕

39. JQUERY中AJAX和原生JS实现AJAX的关系

JQuery中的ajax也是通过原生的js封装的,封装完成后让我们使用起来更加便利,不用考虑底层实现或兼容性等的处理.

如果采用原生js实现ajax是非常麻烦的,并且每次都是一样的.如果我们不适用JQuery,我们也要封装对象的方法和属性,有像JQuery这些已经封装完成,经过很多企业实践过的框架,比较可靠,我们不需要封装,直接使用成熟的框架(JQuery)即可.

40. BOOTSTRAP的是什么

Bootstrap是一个移动设备优先的UI框架.我们不用写任何的css和js代码就能实现比较漂亮的有交互性的页面.我们程序员对页面的编写是有硬伤的,所以要自己写页面的话,就要使用类似bootstrap这样的UI框架.

平时经常用的:

模态框

表单,表单项

布局

栅格系统

41. 什么是框架

框架(Framework)是一个框子—–具有约束性,也是一个架子—-具有支撑性.

IT语境中的框架,特支为解决一个开放性问题而设计的具有一定约束性的支撑架构.在此结构上可以根据具体问题扩展.安插更多的组成部分.从而更迅速和更方便的构建完整的解决问题的方案.

  • 框架本身一般不完整到可以解决特定问题,但是可以帮助我们快速解决特定问题

  • 框架天生就是为了扩展而设计的

  • 框架里面可以为后续扩展的组件提供很多辅助性,支撑性的方便易用的使用工具.也就是说框架时常配套; 一些帮助解决某类问题的库或工具.

42. 简单介绍一下MVC模式

MVC全名是model view Controller,是模型(model)—视图(view)—控制器(Controller)的缩写,是一种软件设计典范.

最简单的,最经典的就是jsp(view)+servlet(Controller)+javabean(model)

1.当控制器收到来自用户的请求

2.控制器调用javabean完成业务

3.完成业务后通过控制器跳转jsp页面的方式给用户反馈信息

4.Jsp给用户做出响应

43. 简单说一下对MVC框架的理解

是为了解决传统的MVC模式(jsp+servlet+javabean)问题而出现的框架.

传统MVC模式问题

1.所有的servlet和servlet映射都要配置在web.xml中,如果项目太大,web.xml就太庞大,并且不能实现模块化管理.

2.Servlet的主要功能就是接受参数,调用逻辑,跳转页面,比如像其他字符编码,文件上传等功能也要写在servlet中,不能让servlet功能单一.

3.接受参数比较麻烦,不能通过model接收,只能单个接收,接收完成后转换封装进model.

4.跳转页面方式比较单一(forward,redirect),并且当页面名称发生变化时,需要修改servlet源代码.

常用的MVC框架:struts2,springMVC

44. STRUTS2的执行流程或者STRUTS2的原理

1.浏览器发送请求,经过一系列的过filter,到达strutsPrepareAndExecuteFilter

2.strutsPrepareAndExecuteFilter通过ActionMapper判断当前的请求是否需要某个Action处理,如果不需要,则走原来的流程.如果需要,把请求交个ActionProxy来处理

3.ActionProxy通过Configuration Manager 询问框架的配置文件struts.xml,找到需要调用的Action类;

4.创建一个ActionInvocation实例,来调用Action的对应方法来获取结果集的name,在调用前后会执行相关拦截器

5/通过结果集的name找到对应的结果集来对浏览器进行响应

45. STRUTS2的拦截器是什么

通过动态配置方式,可以在执行Action的方法前后,加入相关逻辑,完成业务 .struts2中的功能, 都是通过系统拦截器实现的.比如:参数处理,文件上传,字符编码.当然,我们也可以自定义拦截器

使用场景:用户登陆判断,在执行Action的前面判断是否已经登陆,如果没有登陆则跳转到登陆页面;用户权限的判断,在执行Action的前面判断是否具有权限,如果没有给出提示信息;

46. SPRING MVC的执行流程

1.用户发送请求,被前端控制器(DispatcherServlet)捕获(捕获请求)

2.前端控制器进行解析,得到URI,通过URI调用HandlerMapping并获得该Handler配置的所有相关对象(查找Handler)

3.前端控制器根据得到的Handler,选择合适的HandlerAdapter,提取Request中的模型数据,填入Handler入参,开始执行Handler,最后返回一个ModelAndView对象.(执行Handler)

4.前端控制器根据返回的ModelAndViewm,选择合适的ViewResolver(选择ViewResolver)

5.通过ViewResolver结合Model和View来渲染视图,前端控制器将渲染结果返回给客户端(渲染并返回)

47. SPRINGMVC和STRUTS2的不同

  1. 核心控制器不同:springmvc是servlet,struts2是filter
  1. 控制器实例:springmvc会比struts快(理论上),springmvc是基于方法设计,struts是基于对象,每发一次请求都会实例一个action.springmvc只有一个实例,每次请求执行对应的方法即可,简单来说,springmvc是单例,是trust是多例
  1. 管理方式:springmvc是spring的一个模块,所以spring对于springmvc的控制管理更加简单方便.而struts需要使用xml配置很多参数来管理
  1. 参数传递:struts2中自身提供多种参数接收,其实都是通过valuestack进行传递和赋值.而springmvc是通过方法参数进行接收.
  1. interceptor的实现机制:struts有自己的interceptor机制,springmvc用的是独立的aop方式.
  1. Springmvc处理ajax请求,直接返回数据,方法中使用注解@ResponseBody,springmvc自动帮我们将数据转成json数据,而struts2是通过插件的方式进行处理

48. 简单介绍一下SPRING或者SPRING的两大核心

Spring是什么?spring是j2ee应用程序框架,是轻量级的IOC和AOP的容器框架,主要针对javabean的生命周期进行管理的轻量级容器,可以单独使用,也可以跟其它框架组合使用.

IOC(inversion of control)或DI(dependency injection)控制反转

原来:我的service要调用Dao,我就在service中创建Dao对象,这时Dao对象的创建的控制权在我手中

Spring:spring发现我的service依赖于Dao,就给我的service注入Dao对象,这时Dao对象创建的控制权在spring手中

核心原理:工厂模式+反射+配置文件

AOP:面向切面编程

核心原理:使用动态代理的方式在执行前后或出现异常后做相关逻辑.

我们主要使用AOP来做:

事务处理

权限判断

日志记录

49. AOP是什么?都用它做什么?

AOP:面向切面编程

核心原理:使用动态代理的方式在执行前后或出现异常后做加入相关逻辑.

我们主要使用AOP来做:

事务处理 执行方法前,开启事务,执行方法后提交事务,出现异常后回滚事务

权限判断 在执行方法前,判断是否具有权限

日志记录 在执行方法前执行日志

50. SPRING事务的传播特性和隔离级别

事务的传播特性:多个事务存在是怎么处理的策略.

| 传播行为 | 意义 |

| — | — |

| PROPAGATION_MANDATORY | 表示该方法必须运行在一个事务中。如果当前没有事务正在发生,将抛出一个异常 |

| PROPAGATION_NESTED | 表示如果当前正有一个事务在进行中,则该方法应当运行在一个嵌套式事务中。被嵌套的事务可以独立于封装事务进行提交或回滚。如果封装事务不存在,行为就像PROPAGATION_REQUIRES一样。 |

| PROPAGATION_NEVER | 表示当前的方法不应该在一个事务中运行。如果一个事务正在进行,则会抛出一个异常。 |

| PROPAGATION_NOT_SUPPORTED | 表示该方法不应该在一个事务中运行。如果一个现有事务正在进行中,它将在该方法的运行期间被挂起。 |

| PROPAGATION_SUPPORTS | 表示当前方法不需要事务性上下文,但是如果有一个事务已经在运行的话,它也可以在这个事务里运行。 |

| PROPAGATION_REQUIRES_NEW | 表示当前方法必须在它自己的事务里运行。一个新的事务将被启动,而且如果有一个现有事务在运行的话,则将在这个方法运行期间被挂起。 |

| PROPAGATION_REQUIRES | 表示当前方法必须在一个事务中运行。如果一个现有事务正在进行中,该方法将在那个事务中运行,否则就要开始一个新事务。 |

ISOLATION_DEFAULT 使用后端数据库默认的隔离级别。

ISOLATION_READ_UNCOMMITTED 允许读取尚未提交的更改。可能导致脏读、幻影读或不可重复读。

ISOLATION_READ_COMMITTED 允许从已经提交的并发事务读取。可防止脏读,但幻影读和不可重复读仍可能会发生。

ISOLATION_REPEATABLE_READ 对相同字段的多次读取的结果是一致的,除非数据被当前事务本身改变。可防止脏读和不可重复读,但幻影读仍可能发生。

ISOLATION_SERIALIZABLE 完全服从ACID的隔离级别,确保不发生脏读、不可重复读和幻影读。这在所有隔离级别中也是最慢的,因为它通常是通过完全锁定当前事务所涉及的数据表来完成的。

51. ORM是什么?ORM框架是什么?

对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单来说,将程序中的兑现自动持久化到关系数据库中。那么,到底如何实现持久化呢?一种简单的反感是采用硬编码的方式(jdbc操作sql方式),为每一种可能的数据库访问操作提供单独的方法。这种方法存在很多缺陷,所以使用ORM框架(为了解决面型对象与关系数据库存在的互不匹配的现象的框架)来解决。

Java典型的ORM框架有:Hibernate,mybatits

52. WEBSERVICE的使用场景

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

  1. 异构系统(语言)的整合

  2. 不同客户端的整合,浏览器 手机端 pc端等终端的访问

例子:

天气预报:可以通过实现webservice客户端调用远程天气服务实现的.

单点登录:一个服务器实现所有系统的登陆

53. ACTIVITI的简单介绍

Activiti是一个业务流程管理(BPM)和工作流系统,适用于开发人员和系统管理人员,其核心是超快速,稳定的BPMN2流程引擎,它易与spring集成使用.

主要用在OA中,把线下流程放到线上,把现实生活中的一些流程固话定义到系统中,然后通过输入表单数据完成业务.

54. LINUX的使用场景

Linux是一个长时间运行比较稳定的操作系统,所以我们一般会拿它作为服务器(web,db.app等).

Linux本身具有c的编译环境.我们的一些软件是没有软件包的(redis,nginx),需要在linux编译得到软件包

55. LINUX常用命令

Cd跳转到目录

Pwd 获取当前路径

Su 切换用户

Ll 查看当前目录下文件和目录

Tail 查看文件

Rm –rf 删除文件

Vi 修改文件

Mv 移动/重命名 文件或文件夹

Mkdir 创建文件夹

Rm –f 删除文件夹

Tar 打包/解压 
久化到关系数据库中。那么,到底如何实现持久化呢?一种简单的反感是采用硬编码的方式(jdbc操作sql方式),为每一种可能的数据库访问操作提供单独的方法。这种方法存在很多缺陷,所以使用ORM框架(为了解决面型对象与关系数据库存在的互不匹配的现象的框架)来解决。

Java典型的ORM框架有:Hibernate,mybatits

52. WEBSERVICE的使用场景

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

  1. 异构系统(语言)的整合

  2. 不同客户端的整合,浏览器 手机端 pc端等终端的访问

例子:

天气预报:可以通过实现webservice客户端调用远程天气服务实现的.

单点登录:一个服务器实现所有系统的登陆

53. ACTIVITI的简单介绍

Activiti是一个业务流程管理(BPM)和工作流系统,适用于开发人员和系统管理人员,其核心是超快速,稳定的BPMN2流程引擎,它易与spring集成使用.

主要用在OA中,把线下流程放到线上,把现实生活中的一些流程固话定义到系统中,然后通过输入表单数据完成业务.

54. LINUX的使用场景

Linux是一个长时间运行比较稳定的操作系统,所以我们一般会拿它作为服务器(web,db.app等).

Linux本身具有c的编译环境.我们的一些软件是没有软件包的(redis,nginx),需要在linux编译得到软件包

55. LINUX常用命令

Cd跳转到目录

Pwd 获取当前路径

Su 切换用户

Ll 查看当前目录下文件和目录

Tail 查看文件

Rm –rf 删除文件

Vi 修改文件

Mv 移动/重命名 文件或文件夹

Mkdir 创建文件夹

Rm –f 删除文件夹

Tar 打包/解压

70道Java开发面试题及答案,linux内核驱动开发视频课程相关推荐

  1. 「独家」五面阿里P6:Java开发面试题及答案

    说说最近的项目 如何实现session共享,用redis如何实现 缓存击穿的概念和解决方案 说说微服务,微服务之间如何管理 二面(现场) java nio常?用的三个类 java里面的同步锁了解吗?C ...

  2. 阿里 java 面试题 p6_「独家」五面阿里P6:Java开发面试题及答案

    一面(电话) 说说对JVM的理解 treemap和hashmap有什么区别? Java多线程的的5大状态图流转 mysql主键和唯一索引的区别 说说最近的项目 如何实现session共享,用redis ...

  3. Java开发面试题及答案,开发8年的老Java才知道,一篇文章帮你解答

    一.Spring Cloud微服务概念定义 提起微服务,不得不提 Spring Cloud 全家桶系列,Spring Cloud 是一个服务治理平台,是若干个框架的集合,提供了全套的分布式系统解决方案 ...

  4. Java开发面试题及答案分享

    出于篇幅考虑,这篇文章给出了10个专题,每个专题给出了大约4道题的答案,完整200+题的答案PDF文档可以私信我. Java面试宝典产生自我准备面试的过程,当时网上找了些试题,但是没答案,然后一边梳理 ...

  5. Java开发面试题及答案,SpringBoot统一日志处理原理

    <artifactId>slf4j-api</artifactId> <version>1.7.28</version> ``` 按照slf4j官方的说 ...

  6. Java开发面试题及答案,5年crud“经验

    由于篇幅限制,我就只以截图展示目录内容以及部分笔记内容,获取完整版王者级核心宝典只需要点击**点赞+关注,再点右边:https://docs.qq.com/doc/DWFdDS3JZZ1F4TmZU* ...

  7. Java开发面试题含答案(计算机网络、操作系统、Java、Mysql、Redis、Spring)

    Java开发一轮复习 一.网络篇 1.OSI七层模型与TCP/IP 五层模型 ​ OSI七层:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 ​ TCP/IP五层:物理层.数据链路层.网络 ...

  8. 阿里 java 面试题 p6_五面阿里P6:Java开发面试题及答案

    一面(电话) 说说对JVM的理解 treemap和hashmap有什么区别? Java多线程的的5大状态图流转 mysql主键和唯一索引的区别 说说最近的项目 如何实现session共享,用redis ...

  9. java开发面试题与答案详解

    ZooKeeper 1.CAP定理 答:CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability).分区容错性(Partition tol ...

最新文章

  1. discuz sitemap.php,discuz制作门户的百度sitemap
  2. 【转】OpenStack和Docker、ServerLess能不能决定云计算胜负吗?
  3. 外媒:英贸易大臣将与其他国家商脱欧后贸易协议
  4. 剪我一根头发,就要做我一天女人。
  5. spring 的MAVEN配置
  6. 线下零售企业在数据驱动上的三个挑战和三条思路
  7. myBatis异常提示For input string: {1=null}
  8. C# 执行Cmd窗口中的命令 [复制文件实例]
  9. MySQL如何跨机器迁移数据?
  10. C++ new与delete的使用规范
  11. easyui快速入门
  12. JAVA实现电路布线问题
  13. Win10下载和安装FPGA软件:Quartus Prime( Standard 版本18.1)
  14. 扇形涂色问题(Python)
  15. 腾讯linux集成化界面,腾讯TOS系统今日开启内测:界面扁平化风格
  16. Android加载预览PDF文件
  17. 【HTML5】html5中列表、表格、表单控件、浮动框架及结构化标签知识详解大全
  18. 错误ID:10005,错误信息:DCOM 遇到错误“无法启动服务,原因可能是它被禁用或与它相关联的设备没有启动。 ”,试图以参数“”启动服务 SENS 以运行服务器:...
  19. 数字水印(DWT算法Python实现)
  20. fNIRS在发育科学中的应用

热门文章

  1. C/C++编程-分层模块化-数据交互
  2. 2021-7-26 ad9361 调频点
  3. 机器人用计算机图片,带你深入了解机器人视觉系统!
  4. 计算机显示未指定的错误,Win10系统打开云盘提示未指定的错误的解决方法
  5. buuctf 还原大师 (md5爆破)
  6. 【lighting】Color and Vision
  7. keyshot7工业产品零基础入门到精通自学教程视频全套设计课程
  8. phpstorm 激活网址
  9. 零售行业RFID应用解析
  10. 舒尔特方格生成 | 注意力训练