java基础知识(考试用)

什么是重载,构造器是否可以重载
可以

什么是默认构造器,它是从哪里来的
无参构造器 编译器自动创建。

this代表什么:当前对象的引用

this的    作用:
a。调用本类当前的属性和方法
b。调用重载的构造器


创建对象的过程是怎么样对的
答:类由一个抽象的蓝图变化为一个具体的对象,同时对象的属性已经赋值

什么是默认构造器:
没有参数的构造器

默认构造器从哪里来:
编译器给我们自动添加的,当我们定义了一个或者多个构造器时,这个默认的构造器就不在自动添加。

第七章
什么是包,包的作用?
包可以是类、接口和子包的集合
包允许将类组合成较小的单元 
有助于避免命名冲突 
包允许在更广的范围内保护类、数据和方法 

如何导入一个包的类?
包名.路径名
使用import关键字引入其它包中的类

什么是封装?
隐藏(管理)一个类的实现细节(属性和方法)    


.访问权限操作符有哪些,他们的访问权限有哪些?
private ,default, protected, public
private只能用在同一类中,default用在同一类中和同一包中的类
protected 用在同一类中和同一包中的类、不同包中的子类
public所有的类中都能使用,不同类中的子类也能用
public > protected > friendly > private

什么是方法重写
对从父类中继承来的方法进行改造,在子类继承父类时发生

方法重写的规则
a 要有继承(子类于父类之间发生的)
b 方法名称相同
c 参数列表相同
d 返回值类型匹配
e 子类覆盖方法的访问权限要不小于父类中被覆盖方法的访问权限

作用
a 对父类方法的改进
b 扩展性

怎样向上转型
子类转换为父类,自动转换

向上转型的结果:
向上转换损失了子类新扩展的属性和方法,仅可以使用从父类中继承的属性和方法


什么是多态?
同一类型对象(父类类型)相同的行为(被重写的行为)不同表象-----多态性

多态形成的条件?
要有继承,或实现;要有重写;父类引用指向子类对象

static可以修饰哪些成员?
属性、代码块、方法。

static修饰成员的特点?
a。 类名.直接访问
b。 类加载时加载

final修饰哪些成员?
类;变量;方法

final修饰的成员的特点?
a 手动初始化后不能被修改
b 方法不能被重写
c final类不能被继承,方法能被继承


什么是抽象方法?
   只有方法声明,没有方法实现的方法

抽象方法定义的语法:
  [访问权限修饰符]  abstract  返回值类型    抽象方法名 (参数列表) ; 

什么是抽象类?
  是抽象方法和非抽象方法的集合

创建抽象类的语法:
  [访问权限修饰符]  abstract   class   类名 { } 

抽象类的作用:
   用来被继承的

什么是接口
类的行为规范或者行为协议

定义接口的语法:
[访问权限修饰符]  interface   接口名 {     
                    接口的成员
}


接口成员的特点:
a 属性--共有的静态的常量
b 方法--共有的抽象方法;

接口的作用:
用来被实现的


第八章   

什么是异常
一种可逆的错误,可以解决的问题

什么是错误
不可逆,无法解决问题

Java中异常可以分为哪两大类
a 检查性异常:能够被编译器检测出的异常,必须处理,否则无法通过编译。;
b 非检查异常:可以正常通过编译,在程序运行时发生的异常(BUG)

他们的区别
若系统运行时可能产生该类异常,则必须写出相应的处理代码,否则无法通过编译

若系统运行时可能产生该类异常,则不必在程序中声明对该类异常的处理,就可以编译执行

ClassNotFoundException是什么异常
检查性异常:找不到类文件

NullPointerException是什么异常
非检查性异常:空指针异常(访问空的引用 )

ArrayIndexOutOfBoundsException是什么异常
非检查异常:数组越界异常
 

第九章
Objiect的特点
唯一一个没有父类的类
是所有类的父类

Objiect类的方法有哪些
public boolem equals(Object obj);
public int hashCode();
public String toString()

Object的enquals方法的作用
比较引用类型的内存地址是否相等

==和equals的区别
equals()只能比较引用类型,"=="既能比较引用类型又能比较基本类型。
equals()方法从Object类继承,即比较对象引用的值
一般都被子类方法覆盖,不再比较引用的值
"=="运算符:比较基本数据类型:相当于算术等号
比较引用数据类型:比较引用的值,不能被覆盖。


什么是包装类
java中基本数据类型对应的引用类型

包装类和基本数据类型的关系
对应的关系

什么是自动包装箱,什么是自动拆箱
自动将基本数据类型转换成包装类;( int i=100;
        Integer it1=i;)

自动将包装类转换成基本数据类型(Integer it2=new Integer(2);
        int i2=it2;)

sprng boot课程


  
ioc是什么
控制反转(一种程序设计思想),创建对象的过程反转了
类名 变量名=new 构造器();//常规情况下创建了对象,程序员自己动手创建
创建对象的过程反转了:不再是自己创建对象,ioc容器创建并管理对象。

ioc的作用
a 提高效率
b 易于维护和扩展
c 解耦


怎么使用ioc
在项目中引入spring依赖(jar包)
配置spring容器

beanFactory applicationContext的作用
都是ioc容器;管理javabean

beanFactory和applicationContext的区别---(可能考试)
beanFactory:尽可能晚的创建,适用对内存要求较高的程序
applicationContext:尽可能早的创建对象


什么是javabean
一个java对象,被容器加载并管理的对象
实例化javaBean
javaBena实例的初始化,即通过ioc注入其依赖性

javabean的生命周期是----可能考试
实例化bean

(Javabean实例的初始化,即通过ioc注入其依赖性
基于spring应用对Javabean实例的使用
ioc容器销毁javabean实例)

什么是bean之间的依赖
用于创建bean实例的构造器参数及属性值,bean之间的关系,即协协作(或者依赖)

javabean如何实现延迟加载
在XML配置文件中,延迟初始化将通过<bean>元素中的lazy-int属性来进行控制(bean lazy-int=“ture”)。


什么是依赖注入
将调用者为完成某个功能所依赖的实现类,在程序运行期间,由容器自动填充给调用者,这个就是依赖注入的核心。


依赖注入的方式有哪三种?
构造函数注入:    – 所需信息通过构造函数参数注入
属性注入:所需信息通过属性的set方法注入
接口注入:实现接口,所需信息通过接口定义的方法注入。如EJB方式。


AutoWrite注解和Resource注解的作用
都可以进行依赖注入

AutoWrite和Resource的区别是
a 来源不同 :AutoWrite是Spring注解,Resource是jdk注解
b 查找依赖的方式不同:AutoWrite默认按类型装配,Resource默认按名称装配

当一个接口有两个及以上个数的实现类时怎么使用AutoWrite实现依赖注入
@qulifier直接指定依赖对象的名称。

当一个接口有两个及以上个数的实现类时怎么使用Resource实现依赖注入
使用name属性指定依赖对象的名称


spring中组件注解有哪些?
dao层组件:@Repository
service层组件:@Service
控制层组件:@Controller
通用组件:@Component

@service\@repository\@componemt的含义
@Service:业务层组件;
@Repository:数据访问层组件;
@Component:通用组件,

如何使用组件注解
a 在组件对应的类上使用@注解名称----标注组件类
b 使用组件扫描标签扫描组件----让组件注解无效,把组件对象放入Spring对象管理

什么是切面
横切的业务(支线任务)

什么是切入点
一个匹配链接点的逻辑表达式

什么是织入
根据目标对象创建代理对象的过程

基注注解的aop编程的实现步骤
a 使用@aspect定义切面类
b 在aspect定义Pointcut和advice
c 启用AspectJ对源数据注解的支持(添加sechma)
d 将Aspect类和目标对象配置到IOC容器中。


=====搭建maven项目
1. 配置maven本地仓库及柜内镜像(阿里云 清华云)
2. new--project--maven--maven--atype-webApp
3.选择maven根目录
4.补全项目结构--scr--main--java\resources
5.在项目设置中设置文件夹属性--java(source)\resources(resources)
6.pro.xml 带入mybatisjar的坐标。


什么是mybatis
一种持久框架,orm关系映射型框架(把实体类和SQL语句之间建立了映射关系,半自动)

mybatis框架的优势
1.基于SQL语法,简单易学。
2.能了解底层组装过程。  
3.SQL语句封装在配置文件中,便于统一管理与维护,降低了程序的耦合度。
4.程序调试方便。

mybatis和jdbc的优点
减少了代码量
最简单的持久化框架
架构级性能增强
SQL代码从程序代码中彻底分离,可重用
增强了项目中的分工
增强了移植性

mybatis框架分层?
API接口层
数据处理层
基础支撑层

mybatis框架的工作流程---(可能的考点)
(1)加载配置并初始化
(2)接收调用请求
(3)处理操作请求
(4)返回处理结果


mapper代理开发规范
a 在mapper.xml中namespace等于mapper接口地址
b mapper.java接口中的方法输入和mapper.xml中的setname的id一致
c mapper.java接口中的方法输入参数类型和mapper.xml中的setname的parameterType指定的类型一致
d mapper.java接口中的方法和返回值类型和mapper.xml中statement的resulttype指定的类型一致

=========任务使用mapper代理开发dao层,完成参数查询,增加,修改,删除(逻辑删除)========

1. 在TuserMapper接口中定义方法
2. 在TuserMapper映射文件中配置sql语句
3. 调用先获取sqlSessionFactory,sqlSession TuserMapper tuserMapper=sqlSession.getMapper(TuserMapper.class);//获取代理对象


什么是mybatis逆向工程
一个根据数据库表自动生成Mybatis执行所需要的代码(mapper.xml mapper.java、pojo)的插件

怎么使用逆向工程
a.引入jar
b.配置配置文件
c.调用

什么是动态sql,实现原理
根据sql标签的条件动态的拼接sql的过程
实现原理:ognl表达式

where标签的特点
a.会在写入where元素的地方输出一个where
b.如果所有的条件都不满足,那么MyBatis就会查出所有的记录
c.如果输出后是and开头的,MyBatis会把第一个and忽略
d.如果是or开头的,MyBatis也会把它忽略
e.在where标签中不需要考虑空格的问题,MyBatis会智能的加上
set标签的特点
当update语句中没有使用if标签时,如果有一个参数为null,都会导致错误。当在update语句中使用if标签时,如果前面的if没有执行,则会导致逗号多余错误。使用set标签可以在包含的语句前输出一个set,然后如果包含的语句是以逗号结束的话将会把该逗号忽略。

resultType属性的作用
resultType是直接表示返回类型的(对应着我们的model对象中的实体)

resultMap属性的作用
指的是外部map的引用----自定义的结果集类型


什么是一对一关联查询
在查询数据过程中,数据来自两张或者以上的表,每张表的数据都存在一一(主外键关联)对应的关系

Torde(订单)---Tuser(用户)
一个订单对应一个用户


一对一关联查询时在mapper中使用的标签是哪些
assosicition


一对一关联查询实现步骤
创建pojo类
配置映射文件
配置结果集映射
定义接口方法
测试


一对多关联查询
一个实体类关联多个实体,一个用户对应多个订单

mybatis如何实现一对多关联查询?
a.pojo类----在一的一方添加多方的引用(list集合)
list<Torder>   lsit;作为一个属性---get/set

b.配置文件---resultMap<connection>
a.创建实体类
b.定义接口方法
c.配置映射文件
d.测试

什么是mybatis关联查询的延迟加载
当我们使用到关联的对象时才查询该关联对象,不使用就不查询

mybaits mybatis关联查询的延迟加载的优点:
提高效率

实现mybatis延迟加载的步骤
a.配置延迟加载的开关----mybatis的全局配置  settings
b.配置关联的结果集(assiocition/connection)----colum关联的列  select关联的查询
c.在主查询中使用结果集
d.测试

什么是mybatis的一级缓存,作用
sqlsession----数据库会话(一次数据库链接)级别缓存
作用:减轻数据库压力
什么时候查询缓存:如果在同一个会话中,多次查询相同的数据时,第二次开始都是查询的缓存

什么是mybatis的二级缓存
超出sqlsession的缓存(全局),第三方的缓存
ehcache\mongDb\redis

mybatis继承ehcache的步骤
a.pom导包:
b.配置mapper中cache中的type为ehcache对cache接口的实现类
      <cache type="ong.mybatis.caches.ehcacahe.EhcacheCache"></cache>
c.在类路径下配置ehcache.xml的配置文件
              <----磁盘缓存位置----->
         <diskStore path="D:\develop\ehcache">
d.被缓存的实体类要序列化
-----public class Tuser implements Serializable
e.测试--1 两个session\2  session、关闭才会写入缓存

第一章
1.什么是SpringMVC
Spring MVC是一个基于MVC的web框架,Spring MVC 分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制。

2、SpringMVC框架的工作流程?
(1)首先用户发送请求——>DispatcherServlet
(2)DispatcherServlet——>HandlerMapping
(3)DispatcherServlet——>HandlerAdapter
(4)HandlerAdapter——>处理器
(5)DispatcherServlet——> ViewResolver
(6)DispatcherServlet——> View
(7)由DispatcherServlet返回响应给用户

3、SpringMVC组件有哪些?
前端控制器、处理器映射器、处理器适配器、处理器Handler、视图解析器、视图View

4.SpringMVC项目搭建步骤
(1)maven导包
(2)新建springMVC.xml
(3)在web.xml中配置disparcharServlet
(4)在web-info导入lib
(5)新建controller---new ModeAndView---返回一个视图
(6)在SpringMVC..xml中配置映射规则<bean class=helloController>

什么是自定义异常?
为了区别不同的异常通常根据异常类型自定义类
一定是某个异常类的子类
自定义一个类 继承异常类

java中异常的处理方法有哪些
自行处理try---catch--finaly
回避(抛出异常)throws

springmvc如何处理自定的异常
springmvc提供全局异常处理器(一个系统只有一个异常处理器)进行统一异常处理


springmvc处理自定的异常的步骤
定义自定义异常类
定义异常处理器
配置异常处理器
编写异常信息文件
异常类应用

什么是springmvc的拦截器
一种拦截请求的工具


拦截器的作用
对处理器进行预处理和后处理。

怎么实现一个自己的拦截器
自定义一个类  实现拦截器接口

拦截器的三个方法是什么作用
a.执行前处理
b.执行时处理
c.执行后处理

form中表单的文件域是什么
<input type ="file" name="uphoto">

表单中文件上传时的编码属性是什么
编码属性 encotype=“mulltipart”

springmvc文件上传的步骤
a.导入jar包
b.创建虚拟目录
c.配置解析器
d.编写controller代码
e.编写页面代码

什么是json
是一种轻量级的数据交互格式,键值对形势的数据格式(key1:value1,key2:vaule2)

什么是ajax
页面刷新技术,异步请求,httpXmlRequest

@responsebody注解的作用
将java对象转换成json输出到页面,作用在controller方法的返回值上
将方法的返回值以特定的格式写入到esponse的body区域,进而将数据返回给客户端

@requestbody注解的作用
将页面传递到方法的参数,转换成java对象
springmvc实现json数据交互的步骤
a.导包
b.配置<mvc:cannotation-driven/>
c.在juery中编写ajax,对controller发起请示
controller的方法中使用@requestbody将java对象转换成json。
在页面的ajax的jssuccess回调函数中使用json。

1.bootstarp美化页面
a.在项目中webapp中添加css\js、font文件夹
b.<linl rel="stylesheet" href="css/bootstrap.css">
c.在标签上写class样式

使用模态框实现添加
a.给按钮绑定jquery事件,开发模态框
b.模态框编写表单 action method enctype name
c.controller requestMapping接收请求 方法的形参绑定参数Tuser Ttuservice.add---转发到查询列表的请求//allTuser

springMVC删除功能
a.<a href="http//localhost:8081.my_mb_060321/rm?uid=${tuser.uid}">
<input type="button" calss"btn btn-danger rm" value="删除修改">
b.在controller创建路径为rm的方法,形参绑定uid===
c.tuservice.remoce()---.impl--->tusermapper.rm<tuserMapper>updelete tuser set isdelete=1 where uid=#(uid)


什么是restful风格
软件架构风格

restful风格的url的特点
简洁、动作+资源    get请求+/tuser 查询
post+/tuser 注册

@RequestMapping(vaule="/findltemsByid/{id}"):

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值