携程Java后端(一)

  • 交换两个变量的值,不借助第三个变量

  1. 栈实现

    int exchange(int x,int y) 
    { 
     stack S; 
     push(S,x); 
     push(S,y); 
     x=pop(S); 
     y=pop(S); 
    }

     

  2. 位运算(异或)

通过异或运算能够使数据中的某些位翻转,其他位不变。这就意味着任意一个数与任意一个给定的值连续异或两次,值不变。

int a=10,b=12; //a=1010^b=1100;
a=a^b; //a=0110^b=1100;
b=a^b; //a=0110^b=1010;
a=a^b; //a=1100=12;b=1010;
  • JDK、JRE、JVM区别与联系

联系:

利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用

----在JDK下面的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。

区别:

  1. JDK是用于java程序的开发,而JRE则是只能运行class而没有编译的功能,即一个是开发环境,一个是运行环境
  2. JVM并不代表就可以执行class,JVM执行.class还需要JRE下的lib类库的支持,尤其是rt.jar
  • AOP和IOC用到的设计模式(不是携程的,自己面试阿里的时候问的,想到就直接记录这里)

AOP靠代理模式实现

IOC 参考链接:https://blog.csdn.net/zmh458/article/details/99685031

  1. 工厂模式---Spring使用工厂模式可以通过 BeanFactory 或 ApplicationContext 创建 bean 对象。
  2. 单例模式---Spring 中 bean 的默认作用域就是 singleton(单例)的。
  3. 策略模式---一个类的行为或其算法可以在运行时更改,相当于一堆算法族的封装  应用:(1)代码中获取Rescource实例 (2)依赖注入

  4. 装饰者模式---可以在运行时扩充一个类的功能

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值