栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java面试题第一季

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java面试题第一季

Java面试题

一、自增变量二、单例模式

1、饿汉模式2、懒汉模式 三、类初始化和实例初始化

1、示例代码2、解释原理 十一、Mybatis实体类属性名和表中字段名不一致十二、Linux 常用服务类相关命令

1、centos62、centos7 十二、Git分支


一、自增变量
二、单例模式 1、饿汉模式 2、懒汉模式
三、类初始化和实例初始化 1、示例代码
public class Son extends Father {
    private int i = test();
    private static int j = method();   //
    Son() {
        //super()   默认存在,一定会调用父类构造器
        System.out.print(" 7 ");
    }
    static {
        System.out.print(" 6 ");	   //
    }
    {
        System.out.print(" 8 ");
    }
    @Override
    public int test() {
        System.out.print(" 9 ");
        return 1;
    }
    public static int method() {
        System.out.print(" 10 ");
        return 1;
    }
    public static void main(String[] args) {
        Son son1 = new Son();		//
        System.out.println();		//每次创建对象调用一次
        Son son2 = new Son();		//
    }
}

public class Father {
    private int i = test();				
    //谁创建的对象,谁就负责调用对应方法,比如子类重写了test()
    //那就子类test()调用
    private static int j = method();	//
    static {
        System.out.print(" 1 ");		//
    }
    Father() {
        System.out.print(" 2 ");		
    }
    {
        System.out.print(" 3 ");
    }
    public int test() {
        System.out.print(" 4 ");
        return 1;
    }
    public static int method() {
        System.out.print(" 5 ");
        return 1;
    }
}

2、解释原理
类初始化过程
1、一个类要创建实例需要先加载并初始化该类
    1)、main方法所在的类要先加载和初始化
2、一个子类要初始化需要先初始化父类
3、一个类的初始化就是执行方法
    1)、由静态类变量显示赋值代码和静态代码块组成
    2)、静态类变量显示赋值代码和静态代码块代码从上到下顺序执行
    3)、方法只执行一次
实例初始化
1、可能重载多个,有几个构造器就有几个
2、首行super(),即对应父类
   非静态实例变量和非静态代码块从上到下顺序执行
   对应构造器后执行
3、每次创建实例对象,调用对应构造器 ,执行对应
对象多态性
1、子类重写父类,通过子类对象调用的一定是子类重写过的方法
2、非静态方法默认调用对象是this
3、this对象在构造器或者说方法中就是正在创建的对象

非静态方法前面其实有一个默认的this
this在构造器表示正在创建的对象
因为正在创建son对象,所以test()执行的是子类重写的方法

十一、Mybatis实体类属性名和表中字段名不一致

例:数据库为last_name 实体类为lastName

1、sql语句起别名


	select last_name lastName from ...

2、开启驼峰命名规则

//将数据库的下划线映射为驼峰命名
//last_name -> lastName

3、Mapper映射文件中使用resultMap来自定义映射规则



	//映射主键
	
	
	...


十二、Linux 常用服务类相关命令 1、centos6
service 服务名 start
service 服务名 stop
service 服务名 restart
service 服务名 reload
service 服务名 status

1、查看服务的方法 /etc/init.d/服务名
2、通过 chkconfig 命令设置自启动
3、查看服务 chkconfig --list | grep XXX

chkconfig --level 5 服务名 on

2、centos7
systemctl start   服务名(xxxx.service)
systemctl restart 服务名(xxxx.service)
systemctl stop    服务名(xxxx.service)
systemctl reload  服务名(xxxx.service)
systemctl status  服务名(xxxx.service)

#查看服务的方法 /usr/lib/systemd/system
#查看服务的命令
systemctl list-unit-files #all
systemctl list-unit-files | grep service_name #one
systemctl --type service

#通过systemctl命令设置自启动

自启动   systemctl enable service_name
不自启动 systemctl disable service_name

十二、Git分支

1、创建分支

git branch 
git branch -v 查看分支

2、切换分支

git checkout 
git checkout -b   一步完成创建并切换

3、合并分支

git checkout master     先切换到主分支
git merge <被合并的分支>

4、删除分支

git checkout master
git branch -D 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/732393.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号