面试内容总结

查看springboot面试总结文档和回答

String,Stringbuffer,Stringbuilder区别
类 | 线程安全 | 性能 | 资源占用
String 安全 低 高
StringBuffer 安全 中 中
StringBuilder 不安全 高 低

HashMap,TreeMap,不可重复,非线程安全
ArryList, LinkedList,有序,可重复,非线程安全
在这里插入图片描述
JDK8 stream基于集合流的处理:

分组: Map<Integer, List<Person>> ageGroupMap = persons.stream()
     .collect(Collectors.groupingBy(Person::getAge))
     
过滤:List<String> list2 = list.stream().filter(s -> s.startsWith("a"))
    .collect(Collectors.toList());
    
统计:long count = list.stream().filter(x -> x > 5).count();
求和:Optional<Integer> sum = list.stream().reduce((x, y) -> x + y);

切片:List<String> list =list.stream().limit(3).collect(Collectors.toList());

排序:List<Integer> list2=list.stream().sorted().collect(Collectors.toList());

映射(元素):List<String> names = persons.stream().map(Person::getName)
    .collect(Collectors.toList());
    
映射(引用): userList.stream().peek(user -> user.setName("peek: " +  
               user.getName())).collect(Collectors.toList());

去重:List<String> list2 =list.stream().distinct().collect(Collectors.toList());

Postman/ApiPost:
接口测试工具,url+请求方式(post)+请求头(token)+请求体(表单和json格式)

GIT/SVN: 代码管理工具(代码共享,历史记录)
第一次拉代码:clone
提交代码,add->commit->pull->解决冲突->push

Poi:
文档导入导出框架.比如excel,通过流方式读取获得wordsheet,获取sheet,row,cell,最终list
例子:百万excel数据导入后入库,批量(1000条)+事务(实现类头部)

分页:PageHelper方法使用了静态的ThreadLocal参数,分页参数和线程是绑定的.PageHelper.startPage(int pageNum, int pageSize)相当于开启分页,提升开发效率和便于维护

上传:FileUpload

swagger:定义API规范,自动生成API文档, 集成测试工具

验证码:Kapcha

其他框架:

Redis: Key-Value数据库
安装:下载压缩包,直接解压,通过startup和shutdown启动关闭服务
使用:配置yml文件+RedisTemplate创建工具类+直接使用工具类

weblogic和tomcat区别:
weblogic支持JavaBean,热部署,集群机制,分布式,管理和配置,tomcat不支持这些

maven配置:构建和管理Java项目的工具,使用一个配置文件(pom.xml)来定义项目的依赖关系和构建设置
config–>settins.xml文件

<localRepository>/path/to/local/repo</localRepository>

在这里插入图片描述

<mirror>
     <id>nexus-aliyun</id>
     <mirrorOf>*</mirrorOf>
     <name>Nexus aliyun</name>
     <url>http://maven.aliyun.com/nexus/content/groups/public</url>
 </mirror>

weblogic部署:WebLogic是一个Java EE应用服务器,用于部署和运行Java应用程序。下面是WebLogic部署的一般步骤:1 安装WebLogic 2 创建域 3 部署应用程序:域创建后,使用WebLogic的管理控制台或命令行工具来部署应用程序。4 配置数据源 5 启动服务器 6 监控和管理

tomcat部署:轻量级的应用服务器
1 下载和安装Tomcat
2 配置Tomcat conf–server.xml文件

--conf--server.xml文件 改端口
<Connector executor="tomcatThreadPool"
               port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />  
--改乱码conf--> logging.properties
java.util.logging.ConsoleHandler.encoding = UTF-8   

3,启动和关闭

Nginx部署:代理服务器(https://blog.csdn.net/weixin_43239880/article/details/130841067)
1 下载和安装Nginx;
2 配置nginx.conf
– 配置注解

#nginx进程数,建议设置为等于CPU总核心数。
worker_processes  1;
# 事件区块开始
events {
    #单个进程最大连接数(最大连接数=连接数*进程数)
    #根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行。每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为。
    worker_connections  1024;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
    #include:导入外部文件mime.types,将所有types提取为文件,然后导入到nginx配置文件中
    include       mime.types;
     #默认文件类型
    default_type  application/octet-stream;
    #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
    #sendfile指令指定 nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptime。
    sendfile        on;
      #长连接超时时间,单位是秒
    keepalive_timeout  65;
    # 第一个Server区块开始,表示一个独立的虚拟主机站点
    server {
        # 提供服务的端口,默认80
        listen       80;
        # 提供服务的域名主机名
        server_name  localhost;
        #对 "/" 启用反向代理,第一个location区块开始
        location / {
            root   html;  #服务默认启动目录
            index  index.html index.htm; # 默认的首页文件,多个用空格分开
        }
         # 错误页面路由
        error_page   500 502 503 504  /50x.html; # 出现对应的http状态码时,使用50x.html回应客户
        location = /50x.html { # location区块开始,访问50x.html
            root   html;  # 指定对应的站点目录为html
        }
    }
}


2.1 查看Nginx版本号
./nginx -v
2.2 启动Nginx
./nginx
2.3 关闭Nginx
./nginx -s stop
2.4 重新加载Nginx
./nginx -s reload
2.5 重启Nginx
./nginx -s reopen
2.6 优雅停止Nginx
./nginx -s quit
2.7 测试配置文件是否正确
./nginx -t

3,关闭和启动

NACOS部署:Nacos是一个用于动态配置管理和服务发现的开源平台,可以帮助实现微服务架构中的配置管理和服务注册与发现。下载和安装Nacos ,配置Nacos,启动Nacos,配置动态配置,配置服务注册与发现
特点:服务注册与发现,配置管理,消息通知,服务健康监测,分布式任务调度,集群部署,权限管理,监控和统计

token认识:
在这里插入图片描述
前端 获取token存下来,后续放入请求头传递给后台验证
后台 返回token给前端,并存下来(reids/map),后续获取前端请求头并验证

数据库:
大数据查询优化(亿万数据查询)
索引+分区+逻辑+数据分析器

视图:固定数据虚拟表,可以使用CREATE VIEW语句创建视图
特点:数据封装,数据过滤,数据聚合,数据安全性,数据重用

CREATE VIEW my_view AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

存储过程:类似方法/函数传参返回结果,效率高.
特点:封装业务逻辑,提高性能,数据一致性,访问控制,批处理操作,错误处理

CREATE OR REPLACE PROCEDURE my_procedure (param1 IN NUMBER, param2 OUT VARCHAR2)
IS
  -- 声明变量
  var1 NUMBER;
BEGIN
  -- 执行SQL操作
  SELECT column INTO var1 FROM table WHERE condition;

  -- 逻辑操作
  IF var1 > param1 THEN
    param2 := 'Greater';
  ELSE
    param2 := 'Smaller';
  END IF;
END;

存储过程创建后,可以通过调用存储过程的名称和参数来执行它,例如:

DECLARE
  result VARCHAR2(10);
BEGIN
  my_procedure(10, result);
  DBMS_OUTPUT.PUT_LINE('Result: ' || result);
END;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摘星_goddess

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值