java淘气三千问

.
.
.
.
这篇博客持续更新统计面试问题 致力于帮助日常coding

.
.
.
.
这篇博客持续更新统计面试问题 致力于帮助日常coding
🐴🐴🐴?JAVA基础🐴🐴🐴?
🐴🐴🐴java并发详解(大体介绍理论)
https://www.cnblogs.com/wxd0108/p/5479442.html
java并发实战(包含基本所有并发实战)
https://github.com/Wasabi1234/Concurrency-Progamming-Tuitor
🐴🐴🐴Collections.singletonList方法的使用(与new list的区别)
singleton适合单一元素 分配内存小 list最小10
🐴🐴🐴java8
http://www.runoob.com/java/java8-new-features.html
https://blog.csdn.net/u014470581/article/details/54944384
🐴🐴🐴java8stream
https://blog.csdn.net/young4dream/article/details/76794659
https://juejin.im/post/5ce66801e51d455d850d3a4a#h23map
🐴🐴🐴java8localdatetime
https://blog.csdn.net/weixin_33897722/article/details/85075499
https://blog.csdn.net/wsywb111/article/details/79815481
🐴🐴🐴java8localdatetime JACKSON返回为数组
https://blog.csdn.net/m0_37779838/article/details/98958321
🐴🐴🐴java8localdatetime mybatis报错null java.sql.SQLFeatureNotSupportedException
修改druid版本到1.1.21
🐴🐴🐴java8中的default关键字
https://blog.csdn.net/qq_35835624/article/details/80196932
🐴🐴🐴Java位移运算符
https://blog.csdn.net/qq_41892229/article/details/82874928
🐴🐴🐴Java实现缓存并定时清理
https://blog.csdn.net/wab719591157/article/details/78029861
https://blog.csdn.net/cbmb111/article/details/80556749#commentBox
单例定时启动
https://blog.csdn.net/u013905744/article/details/82251470
🐴🐴🐴Java构造方法、成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的?
https://www.cnblogs.com/shsxt/archive/2018/09/28/9719898.html
🐴🐴🐴谈谈java中字节byte有负数的现象 汉字 getBytes()中有负数
https://blog.csdn.net/csdn_ds/article/details/79106006
负数处理
https://blog.csdn.net/dsn727455218/article/details/85339934
转16进制string
https://my.oschina.net/xiaominmin/blog/1599022
🐴🐴🐴JAVA文件读取和写入
https://blog.csdn.net/alexwym/article/details/81078417
🐴🐴🐴?业务方面🐴🐴🐴?
🐴🐴🐴SPRING/SPRINGBOOT2.0🐴🐴🐴
🐴🐴🐴拦截返回的resposebody 使用 ResponseBodyAdvice/request
会在返回body前拦截,interceptor拦截不到body因为已经流输出
https://blog.csdn.net/educast/article/details/82863570
https://blog.csdn.net/touzizhuo03/article/details/79608856(指定包)
使用threadlocal记录body(不推荐)
https://blog.csdn.net/u013979547/article/details/53449788
https://www.jianshu.com/p/5d3a1e0935a5
🐴🐴🐴简单的日志系统
https://blog.csdn.net/qq_34495753/article/details/78931627
logback
https://www.cnblogs.com/zhangjianbing/p/8992897.html
🐴🐴🐴SPRINGBOOT访问静态资源(类似webinfo webapp)
resourse文件夹下 直接创建 upload 通过localhost:8080/upload/xxx.png来访问
(可能需要在拦截器中配置注册路径)
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {//配置图片访问路径
registry.addResourceHandler("/static/**").addResourceLocations(“classpath:/static/”);
}
🐴🐴🐴读文件
https://blog.csdn.net/zkfvip_001/article/details/90447655
🐴🐴🐴springboot部署war包
https://blog.csdn.net/u010598360/article/details/78789197/
🐴🐴🐴tomcat部署去项目名
https://blog.csdn.net/coolcoffee168/article/details/52582770
🐴🐴🐴上传 批量上传 使用MultipartFile/LINUX下需要修改权限等配置
https://www.jb51.net/article/145827.htm
🐴🐴🐴上传图片压缩至指定大小 3种实现 采用google Thumbnails
1设定经验系数 缩小尺寸及质量
https://blog.csdn.net/wjsxybr0409/article/details/81068442
2逐次递减 尺寸及质量 直到合适大小
https://blog.csdn.net/worstezreal/article/details/79746214
3直接缩减至指定尺寸(1500经验尺寸)
https://blog.csdn.net/qq_20112609/article/details/65440553
https://www.cnblogs.com/linkstar/p/7412012.html
🐴🐴🐴File转换为MultipartFile
https://blog.csdn.net/loveer0/article/details/84108692
🐴🐴🐴BufferedImage与byte[]互转
https://blog.csdn.net/xiazdong/article/details/6929975
🐴🐴🐴@PathVariable和@RequestParam的区别
PathVariable baidu.com/#{id} id是
RequestParam baidu.com?id=xxx 隐式request传输
ResponseBody在返回数据 不是页面时使用
RequestBody 请求参数为对象(Json)形式
🐴🐴🐴@RequestParam@RequestBody 请求上的区别
https://www.jianshu.com/p/4981911d5e15
🐴🐴🐴mybatis三种批量插入方式对比
https://blog.csdn.net/m0_37981235/article/details/79131493
🐴🐴🐴mybatis查找的结果集对象中包含类对象和集合的用法
https://blog.csdn.net/zhenwei1994/article/details/81569398
https://my.oschina.net/kevin2kelly/blog/2254073
🐴🐴🐴Spring MVC不能直接接收list类型参数的问题
https://blog.csdn.net/yufeiyanliu/article/details/53738583
🐴🐴🐴mybatis foreach 批量更新
https://blog.csdn.net/xyjawq1/article/details/74129316/
🐴🐴🐴mybatis foreach 批量容易出现的问题
https://my.oschina.net/zjllovecode/blog/1818716
🐴🐴🐴MyBatis 通用 Mapper4 不稳定
https://github.com/abel533/Mapper/wiki
🐴🐴🐴MyBatis PLUS
https://mp.baomidou.com/guide/wrapper.html#or
https://dushen.iteye.com/blog/2406248
🐴🐴🐴MyBatis <!ASSOCIATION>
https://blog.csdn.net/qq_20610631/article/details/81671997
🐴🐴🐴[Mybatis-Plus] 调用MP自带方法 报错 Invalid bound statement
https://blog.csdn.net/fuwei52406/article/details/83374625
🐴🐴🐴事务 抛出异常会回滚
https://www.cnblogs.com/jpfss/p/9151308.html
🐴🐴🐴JAVA定时任务3种比较
https://blog.csdn.net/liu1pan2min3/article/details/51540470
🐴🐴🐴springMVC拦截器返回错误信息给前端
https://blog.csdn.net/qq_37585236/article/details/81781563
🐴🐴🐴springBOOT+SHIRO
https://blog.csdn.net/u013615903/article/details/79259048
MVC
https://blog.csdn.net/J_Bang/article/details/78233724
🐴🐴🐴代理(静态代理/动态代理InvocationHandler )为目标对象的增强 及松耦合
https://blog.csdn.net/yansihai94/article/details/78418503
https://www.cnblogs.com/zhouyeqin/p/7208367.html
🐴🐴🐴调用web api的三种方式 httpClient/feign/restTemplate
https://www.jianshu.com/p/cfe867af2ebf
🐴🐴🐴url后拼接参数调用
template.postForObject(“http://xxxx:8300/openapi/v1/openapi.htm?param={param}”,null, String.class,req);
req为key为param的map
或使用httpclient的URIBuilder/或直接拼接
🐴🐴🐴静态方法中调用@autowired变量 采用@postConstruct
https://www.cnblogs.com/chenfeng1122/p/6270217.html
🐴🐴🐴捕获controller层外的异常 如拦截器 filter shiro权鉴
https://segmentfault.com/q/1010000010484036
后端可以尝试通过HandlerInterceptorAdapter或AOP机制进行日志记录
或者在同一个filter 的afterCompletion 捕捉

🐴🐴🐴 AOP🐴🐴🐴
🐴🐴🐴AOP
https://blog.csdn.net/kiss_xiaojie/article/details/80380548
https://www.cnblogs.com/xiaoxi/p/5981514.html
🐴🐴🐴AOP获取方法注释/json参数 AspectJ Weaver/JOINPOINT
https://blog.csdn.net/u010180738/article/details/84504007
https://gitee.com/dev_gx/codes/95d07cvw4yj38eq6kihot18
🐴🐴🐴整合swagger2
https://www.jianshu.com/p/645c140d4ab5
https://www.jianshu.com/p/12f4394462d5
🐴🐴🐴 RESTFUL🐴🐴🐴
🐴🐴🐴RESTFUL实现
https://blog.csdn.net/chenxiaochan/article/details/73716617
🐴🐴🐴RESTFUL服务中POST/PUT/PATCH方法的区别
https://blog.csdn.net/iefreer/article/details/10414663
🐴🐴🐴批量操作 RESTFUL API的实现
/user get方法 get单挑
/user/batch get方法 批量get
/users get方法 批量get
批量查 可以用in 里 嵌套foreach
https://www.cnblogs.com/a8457013/p/7825154.html
https://segmentfault.com/q/1010000001616176
https://www.npmjs.com/package/restful-api
🐴🐴🐴RESTFUL HTTP POST PUT 幂等性
https://www.cnblogs.com/sexintercourse/p/5890603.html
https://www.cnblogs.com/kungfupanda/p/5525675.html
POST PUT不带body
🐴🐴🐴RateLimiter限流
https://www.cnblogs.com/yeyinfu/p/7316972.html

🐴🐴🐴RestTemplate+header
https://www.cnblogs.com/hujunzheng/p/6018505.html
🐴🐴🐴WebClient访问请求 使用方法/对比resttemplate
https://blog.csdn.net/iteye_13139/article/details/82726588
https://blog.csdn.net/get_set/article/details/79480233
https://blog.csdn.net/get_set/article/details/79506373

🐴🐴🐴 REDIS🐴🐴🐴
🐴🐴🐴缓存穿透
缓存并发
缓存失效
(分布式保证sql缓存一致性)
(更新和读取缓存 最佳实现)
(热点缓存解决方案)
http://www.spring4all.com/question/177
🐴🐴🐴jedis spring配置
https://blog.csdn.net/zhulier1124/article/details/82193182
🐴🐴🐴redis docker集群
https://www.runoob.com/docker/docker-redis-cluster.html

🐴🐴🐴?mysql🐴🐴🐴?
🐴🐴🐴mysql常用命令
https://www.cnblogs.com/bluealine/p/7832219.html
🐴🐴🐴mysql数据库执行导入sql文件
https://www.cnblogs.com/wangzun/p/6889247.html
🐴🐴🐴mysql配置
url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8&useAffectedRows=true
serverTimezone是mysql8.0需要的参数,useAffectedRows设置之后update返回影响的条目数,allowMultiQueries允许batch批量操作
🐴🐴🐴mybatis map返回null值配置
config配置https://my.oschina.net/zhangguangxi/blog/1825505
properties配置写法
https://blog.csdn.net/lizexing1/article/details/78464230
🐴🐴🐴mySQL 授权
https://www.cnblogs.com/xzlive/p/9546964.html
https://www.cnblogs.com/xyabk/p/8967990.html
🐴🐴🐴启动报错,提示MySQL is not running, but PID file exists
https://blog.csdn.net/x917998124/article/details/79376498
🐴🐴🐴mysqll启动https://www.cnblogs.com/XiOrang/p/linux%E4%B8%8Bmysql%E7%9A%84%E5%90%AF%E5%8A%A8%E4%B8%8E%E5%85%B3%E9%97%AD.html
🐴🐴🐴?微信小程序开发🐴🐴🐴?
🐴🐴🐴登陆解密
总体流程按官方文档 大致是2个入口 第一个入口处理前端请求的code,生成sessionkey和openId存redis
第二个入口处理前端 根据openId请求的原始数据和加密数据还有解密偏移量iv。根据openId找sessionkey加上iv一起解密加密数据。
https://www.cnblogs.com/nosqlcoco/p/6105749.html
解密(其实不需要解密,前端的rawdata里就有需要的数据)
https://blog.csdn.net/wujin274/article/details/76604964

🐴🐴🐴?LINUX🐴🐴🐴?
🐴🐴🐴PuTTY实现Windows向Linux上传文件
https://www.linuxidc.com/Linux/2016-08/133991.htm
🐴🐴🐴基本进程查询
https://baijiahao.baidu.com/s?id=1617448120776344096&wfr=spider&for=pc

🐴🐴🐴?多线程🐴🐴🐴?
🐴🐴🐴ScheduledExecutorService类 scheduleWithFixedDelay() 和 scheduleFixedRate() 区别
https://blog.csdn.net/Butingnal/article/details/12775277

https://blog.csdn.net/m0_37240709/article/details/78499542?tdsourcetag=s_pctim_aiomsg
🐴🐴🐴ScheduledExecutorService 定时任务运行原理
https://www.jianshu.com/p/a39a89d28375
🐴🐴🐴详细介绍DelayQueue、ArrayBlockingQueue、LinkedBlockingQueue,priorityBlockingQueue
https://www.cnblogs.com/WangHaiMing/p/8798709.html
🐴🐴🐴实现一个定时处理的缓存
https://blog.csdn.net/cbmb111/article/details/80556749#commentBox
https://blog.csdn.net/wab719591157/article/details/78029861
单例
https://blog.csdn.net/u013905744/article/details/82251470
🐴🐴🐴AtomicReference
https://segmentfault.com/a/1190000015831791?utm_source=tag-newest
🐴🐴🐴AtomicLong和LongAdder的区别
https://blog.csdn.net/yao123long/article/details/63683991
🐴🐴🐴并发cas理论以及aba问题(cas乐观锁反复重试,aba可以被带stamp的类解决)
https://www.cnblogs.com/javalyy/p/8882172.html
🐴🐴🐴synchronized(this)、synchronized(class)与synchronized(Object)的区别
https://blog.csdn.net/luckey_zh/article/details/53815694
🐴🐴🐴Semaphore 的使用思路
https://www.cnblogs.com/klbc/p/9500947.html
🐴🐴🐴Future FutureTask
http://www.cnblogs.com/dolphin0520/p/3949310.html
🐴🐴🐴ForkJoinPool
https://my.oschina.net/JackieRiver/blog/2051829
https://www.cnblogs.com/lixuwu/p/7979480.html
🐴🐴🐴可重入与不可重入锁
同一线程加锁后,再次访问是否能获取

🐴🐴🐴?面试问题🐴🐴🐴?
🐴🐴🐴抽象类与接口的区别
http://www.importnew.com/12399.html
🐴🐴🐴JAVA 关联 聚合 组合 依赖
https://www.cnblogs.com/wanghuaijun/p/5421419.html
🐴🐴🐴JAVA 形参 实参 操作修改
http://www.cnblogs.com/binyue/p/3862276.html

🐴🐴🐴?高可用 高并发 架构设计🐴🐴🐴?
🐴🐴🐴全球异地多活架构设计(一): Why and How(解决高可用,响应速度,流量分摊)
https://blog.csdn.net/u012422829/article/details/83718296
🐴🐴🐴饿了么异地多活技术实现
https://zhuanlan.zhihu.com/p/33430869
https://blog.csdn.net/mes8y62b6ogv207/article/details/79786961
🐴🐴🐴异地多活高可用架构设计方案
https://www.cnblogs.com/jaychan/p/9242325.html?utm_source=debugrun&utm_medium=referral
https://blog.csdn.net/javahongxi/article/details/79500861
🐴🐴🐴分布式全局唯一ID生成策略
https://www.jianshu.com/p/9d7ebe37215e
🐴🐴🐴分布式锁
https://blog.csdn.net/xlgen157387/article/details/79036337
🐴🐴🐴?代码提交🐴🐴🐴??
idea提交到github
https://blog.csdn.net/qq686867/article/details/80003094
第一次pull ±-allow-unrelated-histories
git提交到github
https://www.cnblogs.com/cxscode/p/8325064.html
🐴🐴🐴?NETTY🐴🐴🐴??
🐴🐴🐴NIO BIO AIO
http://www.imooc.com/article/265871
https://www.jianshu.com/p/8b3af5bf4ce1
https://segmentfault.com/a/1190000012976683
https://www.cnblogs.com/diegodu/p/6823855.html
🐴🐴🐴拆包 LengthFieldBasedFrameDecoder
https://www.jianshu.com/p/a0a51fd79f62
🐴🐴🐴?kafka🐴🐴🐴??
🐴🐴🐴kafka🐴🐴🐴
kafka
https://blog.csdn.net/qq_41490913/article/details/105189009

🐴🐴🐴?遇到的BUG🐴🐴🐴??
🐴🐴🐴IDEA缓存bug
mysql tablename不可以是order 要不然语句会出错
🐴🐴🐴JUNIT多线程提前结束问题
需要在主程序中sleep一段时间等待线程结束
🐴🐴🐴interceptor失效问题
使用@EnableMvc标签-WebMvcConfigurer和WebMvcConfigurationSupport冲突,mvc和springboot自带配置类冲突,导致失效
https://blog.csdn.net/java_future_or/article/details/83270659
🐴🐴🐴long型转json丢失精度问题
https://blog.csdn.net/zhuanhui0116/article/details/83186187
🐴🐴🐴java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [net.sf.ehcache.store.disk.Segment$1]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
原文链接:https://blog.csdn.net/Architect_CSDN/article/details/80436147
https://blog.csdn.net/zl544434558/article/details/49095591
🐴🐴🐴解决Tomcat org.springframework.jmx.export.UnableToRegisterMBeanException
https://blog.csdn.net/qq_38361800/article/details/91492812
🐴🐴🐴淘宝druid报错:javax.management.InstanceNotFoundException: com.alibaba.druid:type=DruidDataSourceStat
https://www.cnblogs.com/gradven/p/6323195.html
🐴🐴🐴IDEA/ECLIPSE打包获取项目字节乱码问题
https://blog.csdn.net/khz_222/article/details/86429941
https://my.oschina.net/960823/blog/1546267
🐴🐴🐴?额外的开发🐴🐴🐴??
🐴🐴🐴steam第三方登陆
https://weibo.com/p/1001603922680121320645#_loginLayer_1556179880133
🐴🐴🐴steam API
https://developer.valvesoftware.com/wiki/Steam_Web_API#Calling_Service_interfaces
🐴🐴🐴OPEN DOTA API
https://docs.opendota.com/#section/Introduction
🐴🐴🐴shiro+jwt 微信小程序权鉴
https://www.cnblogs.com/ealenxie/p/10031569.html
https://github.com/EalenXie/shiro-jwt-applet
🐴🐴🐴py fabric 运维脚本
https://blog.csdn.net/freeking101/article/details/81103945
🐴🐴🐴?docker🐴🐴🐴??
🐴🐴🐴DOCKER基本操作
.https://blog.csdn.net/sihai12345/article/details/88767819
https://www.cnblogs.com/winter1519/p/9696808.html
https://www.runoob.com/docker/docker-command-manual.html

**

🐴🐴🐴?分布式问题🐴🐴🐴?

**
🐴🐴保证mq消息不被重复消费🐴🐴
md5消息 /或者查看消息id是否被消费
🐴🐴限流 降级 熔断🐴🐴
主要实现为hystrix
限流为 配置 semaphore.maxConcurrentRequests,coreSize,maxQueueSize和queueSizeRejectionThreshold设置信号量模式下的最大并发量、线程池大小、缓冲区大小和缓冲区降级阈值。
这个时候我们连续多次请求/user/command/timeout接口,在第一个请求还没有成功返回时,查看输出日志可以发现只有第一个请求正常的进入到user-service的接口中,其它请求会直接返回降级信息。这样我们就实现了对服务请求的限流。

熔断 三种状态 closed open/half open 之间切换
在配置文件中我们开启了熔断,并且以5秒为度量周期,当5秒内请求超过4个错误超过50%时,就会开启熔断器,所有的请求都会直接降级,如果5秒内的请求不够4个,就算有三个请求且全部失败也不会开启熔断器。10秒后熔断器进入半打开状态会让一部分请求向服务端发起调用,如果成功关闭熔断器,否则再次进入熔断状态。

降级 服务不可达 feign fallback

https://blog.csdn.net/chenxyz707/article/details/80913725
🐴🐴CAP🐴🐴
https://github.com/donnemartin/system-design-primer/blob/master/README-zh-Hans.md#%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1%E4%B8%BB%E9%A2%98%E4%BB%8E%E8%BF%99%E9%87%8C%E5%BC%80%E5%A7%8B

🐴🐴MQ 有哪些常见问题?如何解决这些问题?🐴🐴
MQ 的常见问题有:

消息的顺序问题
消息的重复问题
https://zhuanlan.zhihu.com/p/64921607
消费顺序‘
https://www.cnblogs.com/helios-fz/p/12119727.html
https://www.cnblogs.com/aspirant/p/11450898.html

🐴🐴保证接口幂等性🐴🐴
https://www.cnblogs.com/aspirant/p/11628654.html
🐴🐴分布式事务一致性🐴🐴
http://blog.csdn.net/congyihao/article/details/70195154

🐴🐴🐴🐴积累的问题🐴🐴🐴🐴
🐴🐴IO多路复用 poll epoll select kqueue🐴🐴
https://wenchao.ren/2019/07/Select%E3%80%81Epoll%E3%80%81KQueue%E5%8C%BA%E5%88%AB/
🐴🐴组合索引🐴🐴
abc代表了a,ab,abc 节约空间
https://blog.csdn.net/dennis211/article/details/81450829
https://blog.csdn.net/nakiri_arisu/article/details/79702461
🐴🐴设计模式六大原则🐴🐴
https://www.cnblogs.com/az4215/p/11489748.html
🐴🐴布隆过滤器🐴🐴 可以不准确的判断是否有这个key 防止渗透
https://www.jianshu.com/p/2104d11ee0a2
🐴🐴JDK8 CONCURRENTHASHMAP 扩容🐴🐴
https://www.cnblogs.com/lfs2640666960/p/9621461.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值