- 自我介绍
- 讲项目以及项目中遇到的技术
- 项目中用到的应用层传输协议 --http
- 还知道别的协议吗 ----https 区别是 http+ssl=https
- 讲一下springmvc路径映射的原理
- 线程池中有哪些重要的参数 线程池execute()方法的执行过程
- 如果有一个线程有异常了会影响线程池的执行吗 --不会
- 线程池如何处理这种异常 这种异常能接住吗
- 数据库的隔离级别 mysql默认哪种 —可重复读
- 可重复读是怎么实现的
- 数据库索引是什么结构
- 为什么要用数据库索引
- 索引会失效吗 会在什么情况下失效
- 写一下 从一张账户表中 找出钱最多的100个人的账户id 的sql语句
- 局部变量中有一个hashmap hashmap中存了一个对象 这个在jvm中是怎么存储的
- java的集合类 介绍一下
- 红黑树是一个什么样的数据结构
- 算法题 递归倒序一个字符串
- 两个线程一个执行i++ 一个执行i-- i 初始值为1 如何交替打印0 1 0 1
- 问题15
jvm的内存分区分为 程序计数器、本地方法栈、虚拟机方法栈、堆、方法区
其中程序计数器和本地方法栈和虚拟机方法栈是线程独立的,堆和方法区是线程间共享的。
每个方法的执行对应着一个方法的栈帧从入栈到出栈 。
方法区中存储的都是程序中永远唯一的元素。这也是方法区被线程共享的问原因。所以方法区中会:
存储常量:被static final修饰的成员变量,
存储静态变量 被static修饰的成员变量
八种基本类型的静态变量会在方法区中开辟空间,并将对应的值存在方法区中
引用类型的静态变量如果没有分配对象,会将引用存在方法区中,并为其指定默认值null。若分配了对象,那么对应的引用存在方法区,对应对象在堆中分配。
对于成员变量和局部变量:成员变量就是方法外部,类中定义的变量;局部变量就是方法或者语句块中定义的变量,局部变量必须初始化。
局部变量存储在栈内存中,栈内存中的局部变量随着方法的结束而消失,成员变量存储在堆中,由垃圾回收器回收。对于基础类型的局部变量,引用和值都存在栈中。
所以针对问题15 hashmap的引用会存在栈中 对象会存在堆中。
- 问题14
mysql 中order by 语句可以对某列进行排序 默认是以升序进行排序 如 a-z 若要以降序进行排序 使用desc关键字
所以 此问题的答案是 select name from User order by money desc limit 1,100;
若有多个列同样可以进行排序
select name from User order by money desc ,name limit 1,100 ;
desc 只对直接位于其前面的关键字有效
与desc相反的是asc关键字 按升序排序 但因为升序是默认排序 所以没什么用处