面试抽集二

面试抽集二面试抽集二

大家好,又见面了,我是你们的朋友全栈君。

nginx的权重配置

1、轮询(默认)
2、weight
3、ip_hash
4、fair(第三方)
5、url_hash(第三方)

springboot的自动配置

SpringBoot启动的时候加载主配置类(@SpringBootApplication),开启了自动配置功能 @EnableAutoConfiguration

redis有几个库

Redis默认支持16个数据库(可以通过配置文件支持更多,无上限),可以通过配置databases来修改这一数字

redis做缓存的场景

1.全页面缓存
2. 排行榜
3. Session 存储
4. 队列
5. 发布/订阅

maven的打包方式、常用命令

打包:
使用maven-jar-plugin和maven-dependency-plugin插件打包
使用maven-assembly-plugin插件打包在pom.xml中配置:
使用maven-shade-plugin插件打包在pom.xml中配置:
命令:
1、mvn compile 编译,将Java 源程序编译成 class 字节码文件。
2、mvn test 测试,并生成测试报告
3、mvn clean 将以前编译得到的旧的 class 字节码文件删除
4、mvn pakage 打包,动态 web工程打 war包,Java工程打 jar 包。
5、mvn install 将项目生成 jar 包放在仓库中,以便别的模块调用
6、mvn clean install -Dmaven.test.skip=true 抛弃测试用例打包

thymeleaf是怎么引入页面的

th:include 和 th:replace
include只是加载,replace是替换

jdk1.9的新特性

1.Java 平台级模块系统
2.Linking
3.JShell : 交互式 Java REPL
4.改进的 Javadoc
5.集合工厂方法
6.改进的 Stream API
7.私有接口方法
8.HTTP/2
9.多版本兼容 JAR

ActiveMQ执行流程

mq执行需要开启mq服务器
MQ就是我主线程可能要发送一个短信,但是这个短信不是自己的程序,如果放到主程序里面,这个短信发送失败,我整个程序都无法执行下去了.所以我们将发送短信这个功能抽取出来,在主线程中使用mq,一旦我需要发送短信的时候就创建一个生产者,创建完毕主线程就继续执行,抽取出来的功能使用监听,一旦监听到主线程生产了一条信息,就立刻执行消费将短信发送出去

用过哪些IO流,具体点

字节流的抽象基类:InputStream和OutputStream;
字符流的抽象基类:Reader和Writer。

线程的调度是抢占式的还是协作式

ava虚拟机都确保在不同的优先级之间使用抢占式线程调度,也就是说,当一个优先级低的线程正在裕兴,而一个高优先级线程准备运行时,虚拟机或早或晚暂停这个优先级低的线程,让高优先级来运行。这样高优先级线程就抢占了低优先级线程。

死锁的产生

1、互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用
2、不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。
3、请求和保持,即当资源请求者在请求其他的资源的同时保持对原有资源的占有。
4、循环等待,即存在一个等待队列:P1占有P2的资源,P2占有P3的资源,P3占有P1的资源。这样就形成了一个等待环路。

介绍一下什么是MVC

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式

Model(模型)表示应用程序核心(比如数据库记录列表)
View(视图)显示数据(数据库记录)
Controller(控制器)处理输入(写入数据库记录)

并行与并发的区别

并行是指同一时刻同时做多件事情
并发是指同一时间间隔内做多件事情

守护线程的特征

  • a.线程属性isDaemon的状态为true的。
  • b.当jvm应用中没有运行的用户线程时,守护线程会结束运行。
  • c.将线程变为守护线程,通过设置线程的方法 setDaemon(true)即可,但该方法必须在start()方法之前执行才可以,启动后的线程,不能中途改变线程类型
  • d.如果使用线程池框架ExecuteService,则守护线程会被改变成用户线程,线程的优先级也会被设置成普通线程的优先级。ExecuteService主要是用来管理线程的,不能创建线程。
  • e.守护线程具有传递性,当线程设置成守护线程了,那么它的子线程也是守护线程。

springboot的内置容器

内置的容器有三个分别是Undertow、Jetty、Tomcat

Java里面如何实现对象的深克隆

浅克隆:浅复制仅仅复制所考虑的对象,而不复制它所引用的对象
深克隆:深复制把要复制的对象所引用的对象都复制了一遍

父子类的异常处理

  • 1、对于子类构造器:
    1.由于无法捕获父类构造器异常,所以必须抛出大于或等于父类构造器抛出的异常
    2.可以新增其它异常
  • 2、对于子类方法:
    1.可以选择不抛出异常
    2.抛出异常则必须遵从父类方法抛出的异常(异常类型小于等于父类异常,因为在向上造型为父类类型时,调用此方法,会出现父类无法处理的异常类型)
    3.不可抛出新的异常(原因同上)
    4.当子类方法同时重写了父类和接口中的方法时,则不能抛出异常(除非接口和父类抛出的异常一样,此时可抛出这类异常,原因同第2点一样)

什么是Java序列化,如何实现Java序列化

列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。
可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。

ArrayList和LikedList分别用于哪些产品,为什么

ArrayList底层的实现是数组,所以用下标访问的速度比较快,但是插入和删除元素,会有移动元素的开销,所以速度比LinkedList差。
LikedList底层是链表实现的,所以插入和删除元素时间复杂度较LinkedList好,但是随即访问需要遍历元素,所以效率比ArrayList差。

讲一下什么是Aop

切面是一种新的模块化机制,用来描述分散在对象、类或方法中的横切关注点(crosscutting concern)。

mybatis 里面#{}、与${}的区别

使用#{}意味着使用的预编译的语句
使用${}时的sql不会当做字符串处理

mybatis里面的对象

1、SqlSessionFactoryBuilder:负责构建SqlSessionFactory,并且提供了多个build()方法的重载
2、SqlSessionFactory:创建SqlSession实例的工厂
3、SqlSession:用于执行持久化操作的对象

如何解决get,post的乱码问题

get:通过new String的方法进行字节转码
post:对请求直接进行转码或者设置字符集过滤器

spring注入bean的方式

构造方法注入
setter注入
基于注解的注入

svn与git的区别

1.svn是集中式版本控制系统,git是分布式版本控制系统
2.svn是直接与服务器进行交互,git是将文件存到本地然后再推送到服务器
3.svn必须在连网的情况下工作,git可以不连网开发
4.svn易发生冲突,git相对于svn不易发生冲突
5.svn适用于多项目并行开发,git适用于单项目开发
6.svn保存的是文件,git保存是源数据

怎么通过shiro来解决权限控制

第一种“anon”为匿名可访问,配置后,当前设置的请求则不再拦截任何人可以访问。
第二种“authc”为登录(认证)后可访问,配置后,当前请求会被拦截,验证当前请求者为登陆成功状态才会放行(可访问)。
第三种“roles[admin]”为指定角色可以访问,配置后,当前请求会被拦截,只为拥有指定角色的用户放行。
第四种“perms[user:add:*]”为指定全蝎可以访问,配置后,当前请求会被拦截,只为拥有指定权限的用户放行

在权限管理,用户与角色有什么关系

一个用户授权拥有某个角色。
一个用户可拥有多个角色。

对与数据加密有哪些了解

不可逆加密:Hash加密算法/散列算法/摘要算法。
可逆加密:有对称加密和非对称加密。

  • 对称加密:【一个秘钥:文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥】
  • 非对称加密:【两个密钥:公开密钥(publickey)和私有密钥,公有密钥加密,私有密钥解密】
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106475.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vscode 快捷键绑定

    vscode 快捷键绑定最近迷上了vscode,用它开发.netcore程序十分方便,智能提示也很好用,插入智能提示的选项是enter键或者tab键,可惜我以前习惯使用vs写c#,习惯用空格做智能提示的选择,多方查找资料甚至准备采用开发一个vscode插件的方式解决,后来无意间查看官方文档,利用vscode的快捷键绑定功能是可以做到的。打开vscode,进入文件->首选项->键盘快捷方式查看’tab’的功能,其中就有一项:

    2022年5月18日
    39
  • Python3.X出现AttributeError: module ‘urllib’ has no attribute ‘urlopen’错误[通俗易懂]

    研究用Python写爬虫,下载一个网页。报错代码如下importurllibdefgetHtml(url):page=urllib.urlopen(url)html=page.read()returnhtmlhtml=getHtml(“http://www.baidu.com”)print(html)运行时报错:Attribute

    2022年4月12日
    79
  • spdlog使用示例「建议收藏」

    spdlog使用示例「建议收藏」////Copyright(c)2015GabiMelman.//DistributedundertheMITLicense(http://opensource.org/licenses/MIT)//spdlogusageexample/*参考文献https://blog.csdn.net/haojie_superstar/article/details/89383433?ops_request_misc=&request_id=&biz_id=102

    2022年6月23日
    39
  • LeetCode[5]-最长回文子串_回纹什么意思

    LeetCode[5]-最长回文子串_回纹什么意思给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。示例 1:输入:s = “aab”输出:[[“a”,”a”,”b”],[“aa”,”b”]]示例 2:输入:s = “a”输出:[[“a”]] 提示:1 <= s.length <= 16s 仅由小写英文字母组成题解暴搜class Solution {public: vector<vector<st

    2022年8月9日
    5
  • ubuntu12.04 安装配置jdk1.7

    ubuntu12.04 安装配置jdk1.7

    2021年12月14日
    46
  • chmod命令详细用法

    chmod命令详细用法指令名称:chmod使用权限:所有使用者使用方式:chmod[-cfvR][–help][–version]modefile…说明:Linux/Unix的档案调用权限分为三级:档案拥有者、群组、其他。利用chmod可以藉以控制档案如何被他人所调用。参数:mode:权限设定字串,格式如下:[ugoa…][[±=][rwxX]…][,…],其中…

    2022年6月24日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号