在顺序不改变的情况下,将字符串中的大写字母移动到尾部,如ndsWsG==>ndssWG
public class Demo01 {
public static void main(String[] args) {
String str = "jskGdjkBsk";
StringBuilder max = new StringBuilder();
StringBuilder min = new StringBuilder();
byte[] bytes = str.getBytes();
for (int i = 0; i < bytes.length; i++) {
if ('A' <= bytes[i] && 'Z' >= bytes[i]) {
max.append(new String(new byte[]{bytes[i]}));
}else min.append(new String(new byte[]{bytes[i]}));
}
String s1 = new String(max);
String s2 = new String(min);
System.out.println("小写"+s2);
System.out.println("大写"+s1);
System.out.println("结果:"+s2+s1);
}
}
不足:
- api不记得,在选择题浪费时间过多,编程题应该先把思路写出来。
面试
Spring什么时候实例化bean,首先要分2种情况
- 第一:如果你使用BeanFactory作为Spring Bean的工厂类,则所有的bean都是在第一次使用该Bean的时候实例化
- 第二:如果你使用ApplicationContext作为Spring Bean的工厂类,则又分为以下几种情况:
- 如果bean的scope是singleton的,并且lazy-init为false(默认是false,所以可以不用设置),则ApplicationContext启动的时候就实例化该Bean,并且将实例化的Bean放在一个map结构的缓存中,下次再使用该Bean的时候,直接从这个缓存中取
- 如果bean的scope是singleton的,并且lazy-init为true,则该Bean的实例化是在第一次使用该Bean的时候进行实例化
- 如果bean的scope是prototype的,则该Bean的实例化是在第一次使用该Bean的时候进行实例化
SSM与三层架构的对应关系
SSM,即SpringMVC,Spring与Mybatis的统称。
1.SpringMVC:作为view的实现者,它的controller作为整个应用的控制器,完成用户请求的转发和对用户的响应。
2.Mybatis:作为Dao的实现者,完成数据库的增伤改查等功能。
3.Spring:是整个应用的大管家,整个应用中所有的bean的生命周期行为,都是由Spring来管理的,就是说整个应用中所有的对象的创建,初始化,销毁,以及对象之间关联的关系维护,都是由Spring来进行管理。
如何在面试中介绍自己的项目
- 校招如何介绍自己的项目经验 https://zhuanlan.zhihu.com/p/96054353
- 如何向面试官介绍你的项目:https://zhuanlan.zhihu.com/p/121136858
分页如何实现
多个Tomcat部署在同一个电脑上或者服务器上
Servlet的生命周期
- init():仅执行一次,在装载servlet对象的时候初始化servlet对象
- service():核心方法,处理相关业务,一般HttpServlet中会有get,post两种处理方式。在调用doGet,doPost方法的时候,会构造servletRequest和servletResponse对象作为入参。
- destory():在停止servlet并释放资源