面试总结

快速排序

public class Quick{
    public  void sort (int arry[],int low,int high){
        int l=low;
        int h=high;
        int key=arry[low];
        while(l<h){
            while(l<h&&arry[h]>=key){
                h--;
            }
            if(l<h){
                int temp=arry[h];
                arry[h]=arry[l];
                arry[l]=temp;
                l++;
            }
            while(l<h&&arry[l]<=key){
                l++;
            }
            if(l<h){
                int temp=arry[h];
                arry[h]=arry[l];
                arry[l]=temp;
                h--;
            }
        }
    if (l>low) {
        sort(arry,low,l-1);
    }
    if (h>high) {
        sort(arry,l+1,high);
    }
}

汉诺塔

 class Hanoi{
    public void hanoi(int n,char origin,char assist,char destination){
        if (n==1) {
            move (origin,destination);
        }
        else{
            hanoi(n-1,origin,destination,assist);//初始n-1移动到借用塔
            move (origin,destination);//剩下一个移动到目标
            hanoi(n-1,assist,origin,destination);//借用塔n-1移动到目标
        }
    } 
    private void move (char origin,char destination)
    {
        System.out.println("Direction:" + origin + "--->" + destination);
    }
    public static void main(String[] args){
        Hanoi hanoi=new Hanoi();
        hanoi.hanoi(3,'A','B','C');
    }
}

单例模式

class Singleton{
    private static volatile Singleton single=null;
    public static Singleton getInstance(){
        if(single==null){
            synchronized (Singleton.class){
                if (single==null) {
                    single=new Singleton();
                }
            }
        }
        return single;
    }
}

数据库事务

数据库事物的概念

事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。
事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。

四个特征:
原子性:原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
一致性:如果事务执行之前数据库是一个完整的状态,那么事务结束后,无论事务是否执行成功,数据库仍然是一个完整的状态。(数据库的完整状态:当一个数据库中的所有的数据都符合数据库中所定义的所有约束,此时可以称数据库是一个完整的状态。)
隔离型:多个用户并发访问数据库时,一个用户的事务不能被其他用户的事务所干扰,多个并发事务之间数据要相互隔离。
持久性:指一个事务一旦被提交,他对数据库的影响是永久性的。
例子:

账户A给账户B转100元,账户A执行减100元操作,账户B因为故障无法执行加100元操作,此时事物失败,操作回滚,账户A减去的100元重新加了回去。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值