java面试

  1. java 类继承关系中初始化顺序:
public class TestAda {

    private String sa = "hello";

    {
        System.out.println("==" + sa);
    }

    public void test() {
        System.out.println("sa:::" + sa);
    }

    static {
        System.out.println("Static-A");

    }

    TestAda() {
        System.out.println("cont-A");
    }

}


public class TestBda extends TestAda {

     private String bb = "world";

     {
     System.out.println("==" + bb);
     }

     public void test() {
     System.out.println("bb:::" + bb);
     }

    static {
        System.out.println("Static-B");

    }

    TestBda() {
        System.out.println("con-B");
    }

    public static void main(String[] args) {
        TestBda bd = new TestBda();
        bd = new TestBda();
        bd.test();
    }

}


输出结果:

Static-A
Static-B
==hello
cont-A
==world
con-B
==hello
cont-A
==world
con-B
bb:::world



jmx
MVC MVP MVVM
事务隔离级别  @transactional
    五大隔离级别  脏读  幻读  重复读
    七大传播行为
tomcat 配置文件
linux 查看cpu
redis持久化到数据库
MVC整个流程
数据库优化
日志文件处理
散列
map实现类
JVM堆内存
多线程
AOP
webservice 权限控制
加密算法 md5
js继承
设计模式

算法
   排序算法  查询算法
字符串

java 排序
单例

git命令

秒杀系统设计
12306系统设计

LindedList: 链表结构  插入快查询慢
ArrayList:动态数组结构 查询快插入慢



hashmap 碰撞取数据
    equals 方法

Hashtable
Synchronized Map
ConcurrentHashMap
    分段锁

不用字符串方法去重

spring 是否是线程安全
       spring是单例模式(懒汉式)

ApplicationContext   context = new ClassPathXmlApplicationContext("applicationContext.xml"); 
content.getBean();      

java继承类初始化关系

stringbuffer 两个对象赋值问题

值传递引用传递
    首先要说明的是java中是没有指针的,java中只存在值传递,只存在值传递!!! 
    然而我们经常看到对于对象(数组,类,接口)的传递似乎有点像引用传递,
    可以改变对象中某个属性的值。但是不要被这个假象所蒙蔽,
    实际上这个传入函数的值是对象引用的拷贝,即传递的是引用的地址值,所以还是按值传递。

rabbitmq 队列阻塞(队列满了怎么解决)
    增加消费速度

多线程同步方案(转账)
分布式情况保证线程同步
    代码同步 数据库同步(并发情况 设置数据库表字段版本号 查询时数据大于等于版本号才能提交)

redis存储哪些类型的数据
  五种数据类型:string(字符串),hash(哈希),
  list(列表),set(集合)及zset(sorted set:有序集合)。

mongodb :文件越来越大是否会出现文件积压问题
          mongo会通过(2倍)扩容解决问题

数据库分页:
  mysql   select * from table_name limit 0,5  
          select * from table_name limit 5  
          select * from table_name limit 10,5  

  oracle  
  SELECT * FROM  (  SELECT A.*, ROWNUM RN  FROM (SELECT * FROM TABLE_NAME) A  WHERE ROWNUM <=40)  WHERE RN >= 21 

数据库优化:
   索引
   明确列字段
   in  exists
   查询顺序
   数据库引擎

查看端口占用命令
    netstat -anp|grep 8080

netty

spring boot cloud

Linux 安装部署软件和系统相关命令
      linux安装mysql

http协议组成:
http属于哪一层:

OSI分层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
TCP/IP模型:应用层、传输层、网络层、网络接口层
应用层协议(常用):HTTP、RTSP、FTP
传输层协议:TCP、UDP

static 方法中不能用 this 调用本类的方法 
java中类的方法池中都有一个隐含的参数this,他表示本对象的引用
但是static方法是没有这个隐含参数的,因为static方法和类的实例无关
它只在类装载的时候初始化
this 表示这个类的当前实例,而静态方法不依赖于该类的任何实例,因此方法内不能引用 this

“`

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值