Spring Boot

阿里秋招内推1.2.3面面经(Java后台)

女生的网名这么多〃 提交于 2020-12-17 15:35:34
【每日一语】生活并没有那么复杂,要是你喜欢,大可以说我是在探索生命。——《本杰明•巴顿奇事》 offer已经算是有了,回馈牛客,在牛客网上我也学习到了很多大家分享出来的东西,是时候把自己秋招的面经分享出来积累人品了,最近在做一个人生中最重要的决定,希望结果是好的,攒人品!攒人品!攒人品!重要的话要说三遍!!! 一面,全程一个小时左右: 一上来先说自己实习做的项目,然后面试官开始问项目细节,然后又开始说学校里做的项目,这两个加起来就快四十分钟了,因为每个人项目不一样就不介绍跟项目关系太大的,说几个通用型问题1:为什么你的缓存更新策略是先更新数据库后删除缓存,讲讲其他的情况有什么问题 2:两个线程打印 1.2.3.4 打印到100怎么实现,这里刚开始说的是加锁用生产者消费者来做,后来说了semaphore,感觉后面的才是面试官想要的答案。 3:spring的aop的实现方式,aspectj和jdk动态代理,cglib动态代理,讲了下实现的原理 4:hashmap实现原理,把知道的都说出来。 二面,在周二,也是一个多小时,一来还是说的实习项目,然后直接问问题 1.缓存的使用策略和从底层数据库开始往上各个层级中缓存的使用,把你知道的都说出来,这个问题刚开始有点懵逼,后来就从数据库底层原理开始说起,然后讲了缓存的各种使用策略,和这些策略避免的什么问题,这里讲了好久,边说边被追问

【JAVA】向 Callable / Runnable 内部传递参数,在 SpringBoot 中使用

[亡魂溺海] 提交于 2020-12-17 15:25:18
文章目录 1. oracle articles 中的例子 2. 在 SpringBoot 中调用 1. oracle articles 中的例子 oracle 文章:分解和合并:Java 也擅长轻松的并行编程! 简单例子 by Julien Ponge: import java . util . * ; import java . util . concurrent . * ; import static java . util . Arrays . asList ; public class Sums { // Callable,有返回值 static class Sum implements Callable < Long > { // 传入参数: from 和 to private final long from ; private final long to ; // 从带参的构造器这里获得传入的参数:from 和 to Sum ( long from , long to ) { this . from = from ; this . to = to ; } // 返回Long类型的自加结果 @Override public Long call ( ) { long acc = 0 ; // 从0开始的自加循环,从from计数到to for ( long i = from

Apache shiro 权限绕过漏洞汇总

生来就可爱ヽ(ⅴ<●) 提交于 2020-12-17 14:13:25
声明 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。 雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。 No.1 简述 前段时间太忙了,忙到很多东西,只是记录了笔记,没有成文,刚好最近阶段又出来了shiro权限绕过漏洞,因此本文将这三个权限绕过的洞进行对比,他们的编号分别是 CVE-2020-1957、CVE-2020-11989、CVE-2020-13933 。 No.2 漏洞细节 1、CVE-2020-1957 原理 首先在 admin 位置下断点,可以看到,我们网络请求,是先经过 shiro 处理之后,再转发到 springboot 进行路由分发工作。 这里直接定位到 shiro 处理 url 的方法位置: WebUtils# getPathWithinApplication public static String getPathWithinApplication(HttpServletRequest request) { String contextPath = getContextPath(request); String requestUri =

总结:Spring boot之@EnableAutoConfiguration

你说的曾经没有我的故事 提交于 2020-12-17 13:17:26
一、@EnableAutoConfiguration的作用 简单点说就是Spring Boot根据依赖中的jar包,自动选择 实例化 某些配置,配置类必须有@Configuration注解。 说白了,还是实例化对象,只是实例化的是非main类之外的包。 另外,我们也可以按照自动装配的规范自己定义装配的类。 二、@EnableAutoConfiguration和 @Configuration 的区别 @Configuration:表示作用的类是个配置类。我们平时也会写配置类,比如我们系统中的DataSourceConfig类,但是由于这个类是在Starter对应的子目录下,会自动加载,所以 @EnableAutoConfiguration就作用不到了。 @EnableAutoConfiguration:是一个加载Starter目录包之外的 需要Spring自动生成bean对象(是否需要的依据是"META-INF/spring.factories"中org.springframework.boot.autoconfigure.EnableAutoConfiguration后面是有能找到那个bean) 的带有@ Configuration注解的类。 三、@EnableAutoConfiguration案例 1、Kafka自动装配 我们会发现,当我们在application

Java Spring Boot VS .NetCore (八) Java 注解 vs .NetCore Attribute

和自甴很熟 提交于 2020-12-17 08:28:45
继续前面的章节,这里我介绍下注解,其实Java注解跟.NetCore的特性标签类似,下面我们通过代码来说明 Java自定义注解 首先我先说下Java注解需要使用的注解 @Target(value = ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented Taget:指定注解在什么地方生效,作用于什么对象上,参数很多这里把源码拉出来了,每一个的意思就不过多介绍,一看就明白 public enum ElementType { /** 类、接口(包括注释类型)或枚举声明 */ TYPE, /** 字段声明(包括枚举常量) */ FIELD, /** 方法声明 */ METHOD, /** 形式参数声明 */ PARAMETER, /** 构造函数声明 */ CONSTRUCTOR, /** 局部变量声明 */ LOCAL_VARIABLE, /** 注释类型声明 */ ANNOTATION_TYPE, /** 程序包声明 */ PACKAGE, /** * 类型参数声明 * * @since 1.8 */ TYPE_PARAMETER, /** * 使用类型 * * @since 1.8 */ TYPE_USE } public enum RetentionPolicy { /** 注解将被编译器丢弃 */

eclipse上新建Maven项目报错及解决

笑着哭i 提交于 2020-12-17 08:09:02
Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin: 2.6 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar: 2.6 ....... 在新建maven项目后,eclipse上报了这样的错误。 对于这个问题的解决方法有如下几点: 1.删除maven库里面文件:C:\Users\Administrator\.m2\repository\org\apache\maven\plugins这个文件夹下的所有文件( 注意自己maven库的位置 )。 然后重新新建Maven项目。如果没有解决,可以试试下面方法。 2.将项目右键->Maven->Update project。重新更新下项目。 完成后可以测试项目是否成功,这里以springboot Maven项目为例: 可以看到一件运行成功。 如下是测试代码:( 全局捕获异常练习 ) 在网页上运行一把试试: 成功! 来源: oschina 链接: https://my.oschina.net/u

SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程

你说的曾经没有我的故事 提交于 2020-12-17 01:18:55
spring boot 它的设计目的就是为例简化开发,开启了各种自动装配,你不想写各种配置文件,引入相关的依赖就能迅速搭建起一个web工程。它采用的是建立生产就绪的应用程序观点,优先于配置的惯例。 可能你有很多理由不放弃SSM,SSH,但是当你一旦使用了springboot ,你会觉得一切变得简单了,配置变的简单了、编码变的简单了,部署变的简单了,感觉自己健步如飞,开发速度大大提高了。就好比,当你用了IDEA,你会觉得再也回不到Eclipse时代一样。另,本系列教程全部用的IDEA作为开发工具。 你需要: 15分钟 jdk 1.8或以上 maven 3.0+ Idea 打开Idea-> new Project ->Spring Initializr ->填写group、artifact ->钩上web(开启web功能)->点下一步就行了。 创建完工程,工程的目录结构如下: pom文件为基本的依赖管理文件 resouces 资源文件SpringbootApplication程序的入口。 statics 静态资源 templates 模板资源 application.yml 配置文件 pom.xml的依赖: 其中spring-boot-starter-web不仅包含spring-boot-starter,还自动开启了web功能。 说了这么多,你可能还体会不到,举个栗子

精品帖子大汇总

拈花ヽ惹草 提交于 2020-12-17 00:42:36
点击上方 “ java1234 ” ,选择“标星公众号” 优质文章,第一时间送达 1, 这个WEB打印控件略牛逼,还免费 2, 牛!Java微服务版本“仿百度网盘”系统来了 3, 这款图片剪裁开源项目,简直逆天了!!! 4, 这个文档编辑神器,牛逼了,还免费 5, 牛逼爆了,vue版的windows窗体来了 6, 新款SpringBoot在线教育平台开源了 7, SpringCloud,OAuth2的RBAC权限管理系统 8, SSM开源微信小程序商场系统推荐 9, 程序员值得收藏的精选11套后台登录页面和管理页面模版 10, 【精品源码】Html5捕鱼达人源码分享 11, 基于Vue.js 的跨平台解决方案推荐 12, 基于RBAC的SpringCloud分布式权限管理系统 13, vue+websocket+Springboot实现的即时通信开源项目 14, SpringBoot开源在线考试系统推荐 15, 高大上的开源Springboot企业级用户权限系统 16, 牛逼plus的springboot+maven车牌识别开源系统 17, SpringBoot+vue开源移动端&微信小商城系统 18, 基于SpringBoot的文件文档在线预览项目解决方案 19, 略吊!Springboot+vue前后端分离快速开发平台-QuickD 20,

精品帖子大汇总

与世无争的帅哥 提交于 2020-12-17 00:34:18
点击上方 “ java1234 ” ,选择“标星公众号” 优质文章,第一时间送达 1, 这个WEB打印控件略牛逼,还免费 2, 牛!Java微服务版本“仿百度网盘”系统来了 3, 这款图片剪裁开源项目,简直逆天了!!! 4, 这个文档编辑神器,牛逼了,还免费 5, 牛逼爆了,vue版的windows窗体来了 6, 新款SpringBoot在线教育平台开源了 7, SpringCloud,OAuth2的RBAC权限管理系统 8, SSM开源微信小程序商场系统推荐 9, 程序员值得收藏的精选11套后台登录页面和管理页面模版 10, 【精品源码】Html5捕鱼达人源码分享 11, 基于Vue.js 的跨平台解决方案推荐 12, 基于RBAC的SpringCloud分布式权限管理系统 13, vue+websocket+Springboot实现的即时通信开源项目 14, SpringBoot开源在线考试系统推荐 15, 高大上的开源Springboot企业级用户权限系统 16, 牛逼plus的springboot+maven车牌识别开源系统 17, SpringBoot+vue开源移动端&微信小商城系统 18, 基于SpringBoot的文件文档在线预览项目解决方案 19, 略吊!Springboot+vue前后端分离快速开发平台-QuickD 20,