2016-10-17面试基础知识小则(1)

1. 保持进程同步的方法?

原子操作、信号量机制、自旋所、管程等;

2.java类加载的过程?

 1). 加载。首先通过类的名字获得类的二进制流;将该二进制流中的静态存储结构转化为方法运行时的数据结构;在内存中生成该类的Class对象,作为该类的数据访问入口。

 2). 验证。保证Class文件的字节流中的信息不回危害到虚拟机

 3). 准备。为类的静态变量分配内存并将其初始化为默认值

public static int value=123;//在准备阶段value初始值为0 。在初始化阶段才会变为123 。
 4). 解析。符号引用到直接引用的转化动作。

 5). 初始化。

java类加载机制:

虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成可以被虚拟机直接使用的java类型。

java类的加载器;1). 启动加载器(Bootstrap ClassLoader);2)扩展类加载器(extensions ClassLoader);3)系统类加载器(System ClassLoader);用户自定义加载器

3. 数据库引擎以及他们的区别

首先常见的数据库的引擎包括MYISAM、INNODB,在数据库中通过命令show engines查询引擎

 1). MyISAM适合:做很多count的计算;插入不频繁,查询频繁;没有事务

 2). InnoDB适合:可靠性要求比较高,或者要求事务;表更新和查询都相当频繁

4. 数据库中的小知识点

   数据库的对象——表格、视图、用户自定义函数,触发器,存储过程

   外键——用来建立两个表格之间关系的约束,这种关系涉及一个表格中的主键字段与另一个表格里的一系列项链的字段,这些练剑的字段就是外键

   IN和Exists的区别:主要在于三值逻辑的判断上。Exists总是返回true或者是false(当Not Exists时返回False);而对于In,除了True和False值外,还有可能对Null值返回Unknown;

   子查询中select *

                 from .....

     where  <子查询>

 group by....having <子查询>

   在数据库查询时注意查询的顺序:from—>where—>group by—>having—>select

5. 什么是视图?

首先视图是一种虚拟的表和物理表有相同的功能,可以对视图增、改、查。视图通常是一个表或者是多个表行或者列的自己,对视图的操作不会影响基本表。目的:让我们获得数据更容易(相对于多个表)

使用的场景(1)不希望使用者获得这个表的信息,只暴露部分字段给访问者,所以建立虚表视图

(2)查询的数据来源于不同的表,而查询者希望以统一的方式查询,这样可以建立一个视图,把多个表联合起来通过视图查询,忽略了数据来源于不同的表所带来的差异

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值