
栈江湖-技术笔记
文章平均质量分 57
栈江湖-技术笔记
栈江湖
Java丨互联网丨技术管理丨AI丨阿里云专家博主丨掘金优秀作者
展开
-
面试题,什么是倒排索引
倒排索引是先通过分散的内容片段定位到相视度高的内容,再由内容定位到这条记录,所以称为倒排索引,带有倒排索引的文件称为倒排文件。通俗的讲倒排索引就好比书的目录,通过目录咱们可以准确的找到相应的数据。下面对lucene倒排索引的结构与算法进行介绍。数据由数据索引、数据内容组成,正常情况是通过数据索引来定位内容就像sql查询一样。原创 2022-11-17 11:47:46 · 309 阅读 · 0 评论 -
五笔会消亡吗
T--------31 禾竹一撇双人立, (“双人立”即“彳”) 反文条头共三一。P--------45 之字军盖建道底, (即“之、宀、冖、廴、辶”) 摘礻(示)衤(衣)。C--------54 又巴马,经有上,勇字头,丢矢矣, (“矣”去“矢”为“厶”)D--------13 大犬三羊古石厂,羊有直斜套去大 (“羊”指羊字底“?B--------52 子耳了也框向上,两折也在五二里, (“框向上”即“凵”)(“幼”去“力”为“幺”)G--------11 王旁青头戋(兼)五一,(“兼”与“戋”同音)原创 2022-11-28 14:53:11 · 367 阅读 · 0 评论 -
面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来...
那浏览器就会在一个 HOST 上建立多个 TCP 连接,连接数量的最大限制取决于浏览器设置,这些连接会在空闲的时候被浏览器用来发送新的请求,如果所有的连接都正在发送请求呢?持久连接:既然维持 TCP 连接好处这么多,HTTP/1.1 就把 Connection 头写进标准,并且默认开启持久连接,除非请求中写明 Connection: close,那么浏览器和服务器之间是会维持一段时间的 TCP 连接,不会一个请求结束就断掉。一个支持持久连接的客户端可以在一个连接中发送多个请求(不需要等待任意请求的响应)。转载 2022-11-17 09:48:30 · 192 阅读 · 0 评论 -
下一代手机应该会是折叠屏
看到最近不少折叠手机都推出来了,相信下一代手机应该是了。我们来看一看手机的发现史。原创 2022-11-22 09:14:04 · 216 阅读 · 0 评论 -
关于mysql的一些知识点及面试问题
建一个联合索引(col1,col2,col3),实际相当于建了(col1),(col1,col2),(col1,col2,col3)三个索引。slow_query_log_file = /data/slow-query.log # 慢查询日志存放路径与名称。log-queries-not-using-indexes = on # 列出没有使用索引的查询语句。long_query_time = 5 # 查询时间超过5s的查询语句。keyjen:使用的索引的长度。table:显示这一行的数据是关于哪张表的。原创 2022-11-22 17:32:26 · 335 阅读 · 0 评论 -
SpringBoot自动装配源码分析
我们可以看到@SpringBootApplication注解的实现其实是一个注解组合,除了几个基本的注解外,最核心的就是@EnableAutoConfiguration。selectImports方法是自动装配的核心实现,主要是读取META-INF/spring.factories文件,加载需要装配的配置类集合。getAutoConfigurationEntry实现加载的方法,进入后可以看到它使用的是getCandidateConfigurations。原创 2022-11-15 09:16:07 · 327 阅读 · 0 评论 -
Java设计模式很难吗,这篇带你熟悉设计模式
可以发现,设计模式好像都是类似的。越看越感觉都着不多。其实都是类似面向接口编程的一种体现,只不过侧重点不一样或者说要体现的结果不一样。适配器模式(原功能不变,增加新功能)、装饰器模式(装饰原功能)、代理模式(控制原功能)策略模式侧重点在一个事的不同实现方式抽离出来,而状态模式是一个事的不同状态抽离出来(开始、进行中、结束),每次状态完成自己的业务逻辑。原创 2022-11-22 18:41:00 · 451 阅读 · 0 评论 -
盘一盘那些年我们使用的Java
我是一个80后,当年在大学时代使用的是Java5,当时是大三的时候学校有了编程课,最开始学的是汇编语言、VB、C++然后再是Java。2)国内的阿里、腾讯、京东、百度、美团等等企业都有使用Java,并且在大力发展自己的Java框架或中间件。如果这些数据是准的那Java程序员的人数还是比较惊人的。3)中小型公司因为缺少自主研发的能力,基本上后台的编程语言都用的 Java,因为 Java 有着丰富的类库,开箱即用。6)Java在国内,在全球的生态相信是巨大的,有多少主机运行着Java环境相信这数据也是惊人的。原创 2022-11-25 10:13:30 · 369 阅读 · 0 评论 -
全球约有 150 亿台设备在运行 Java,收费后还能用吗?
可以看到jdk-8u202就是所有jdk中最后一个免费的版本,他的前一个版本是jdk-8u201。那是不是我们就下载jdk-8u202呢?这就是另一个说知识。转存失败重新上传取消以下是jdk版本的一个小常识Java SE 重要补丁更新 (CPU) 包含安全漏洞修复和重要漏洞修复。Java SE CPU 版本号采用奇数编号。Java SE 补丁集更新 (PSU) 包含相应 CPU 中的所有修复以及其他非重要修复。原创 2022-12-01 14:24:31 · 1184 阅读 · 0 评论 -
国内联盟链Bass
百度超级链(XuperChain)技术是百度拥有完全自主知识产权的区块链技术,已有240余篇专利,涉及创新的超级节点架构、链内并行技术、可回归侧链技术及平行链管理等区块链底层技术。智臻链,是属于京东科技旗下的区块链品牌,拥有京东自主知识产权,其在数据账本、共识协议、密码算法、存储等方面引入新的研究成果和工程架构,解决处理性能、伸缩性、扩展性、安全性等基础和关键的技术问题,建立创新性的技术架构和应用方案。原创 2022-11-14 12:03:33 · 965 阅读 · 0 评论 -
Processon一款免费好用的画图工具
Processon一款免费好用的画图工具,免费在线流程图思维导图专业强大的作图工具,支持多人实时在线协作,可用于原型图、UML、BPMN、网络拓扑图等多种图形绘制原创 2022-11-09 09:27:16 · 1683 阅读 · 0 评论 -
支付宝大整改,花呗、借呗退出江湖
这系列广告里,蚂蚁花呗主要翻车在过分鼓励超前消费,超前消费是个非常敏感的话题,透支型消费对于不少人来讲都不是值得骄傲和提倡的事情,蚂蚁花呗却将其过度美化,将其展现成一件对所有人都好的事,有误导人的嫌疑。在支付宝整改公告中,“借呗”和“花呗”被统统要求改名,“花呗”改名“银行信用购”,“借呗”则改名为“银行信用贷”。众所周知,自15年上线以来,身为受众最广的超前消费渠道,蚂蚁花呗成了当代许多年轻人的“救命稻草”,资料显示,80%的年轻人都开通了花呗,蚂蚁花呗堪称“年轻人的第一笔贷款”。转载 2022-11-18 14:08:33 · 24678 阅读 · 0 评论 -
还分不清java内存模型与java运行时数据区吗?
总结:java内存模型和java运行时数据区的关系:主内存对应着java堆和方法区,工作内存对应着java栈。原创 2022-11-07 18:26:26 · 112 阅读 · 0 评论 -
微信支付、微信公众号接口认证方案
p.s.你会发现好像都有oauth2的影子,如果你的系统没有上oauth2框架可以考虑结合微信支付或者微信公众号的方式做一个接口认证。b、api key(API v3密钥)即AES-256-GCM 对称加密密钥。通过摘要验证判断请求来源微信(Token配置在微信平台,固而判断来源)d、微信支付平台证书即平台的公钥证书用于加密业务接口的敏感报文。发起请求的商户(包括直连商户、服务商或渠道商)的商户号mchid。4)使用带Authorization的HTTP请求,调用业务接口。2)开发一个Token验证接口。原创 2022-11-11 18:22:03 · 1480 阅读 · 0 评论 -
Java GC概念有点多,就感觉有点乱,如何梳理
在Java虚拟机中GC是一个重要的部分,我们可以看到在GC中有不少概念GC种类、GC收集算法、GC收集器、引用计数算法、可达性分析算法。原本就比较难懂这概念一多就有点乱了。下面一个图从总体上梳理了一下它们之间的相互关系。1)整个垃圾回收可以分成两步:1、先判断对象是否存活;2、再回对象。2)在整个垃圾回收各概念之间的关系。原创 2022-11-10 11:36:57 · 156 阅读 · 0 评论 -
盘一盘目前有哪些在拥抱Java17生态
我们来梳理下有多少中间件或框架拥抱Java17。原创 2022-11-24 10:50:27 · 711 阅读 · 0 评论 -
为什么大家还在使用java8
1、2019年1月Oracle宣布Java8开始收费了,JDK 8u211版本(包含)开始收费了。感觉这也是最主要的一个原理。4、Oracle必尽是个商业公司与之前的Sun理念不一样,高斯林及sun的元老们也慢慢离开了Oracle公司。2、从Java9开始,基本就是每半年一个版本,这个更新速度,导致很多企业没法跟随。因为迁移升级都有成本。目前很多企业还在使用JDK8,当然现在Oracle推出的免费版本JDK17相信这种局面应该会有所改变。3、从Java8后续升级的很多版本拥有的新功能大部分都用不上。原创 2022-11-23 15:36:17 · 4740 阅读 · 0 评论 -
总是不能很好的区分单体服务、SOA、微服务区别怎么办
单体服务: 比如一个企业刚创业也就2~3个人,大家在一个办公区座着办公;SOA: 当企业发展到一定时期,人员多了大概有100来人了,这时大家再座在一个办公区座着办公就比较乱了,特别是销售部门、财务部门、人事部门很多见不了光得关在小房间去,这样就出现一个个隔离的办公室,把职能不同的岗位分离出来;微服务: 当企业进一步发展,人员扩充到上千人,这时就得开分公司了,并且分公司可能分布在全国各地。原创 2022-11-17 11:32:11 · 133 阅读 · 0 评论 -
面试官:MySQL explain你会关注哪些字段
在包含 union 或者 union all 的大查询中,如果各个小查询都依赖于外层查询的话,那除了最左边的那个小查询之外,其余的小查询的 select_type 的值就是 dependent union。显示查询可能使用哪些索引来查找,可能应用在这张表中的索引,一个或多个,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询实际使用。子查询中的第一个 select(不在 from 子句中),并且取决于外层查询。在有子查询的语句中,最外层的select查询就是primary。原创 2022-11-30 15:58:03 · 2026 阅读 · 0 评论 -
这次面实习生,我又拿出了这30道Redis面试题,有个妹子支支吾吾了半天。。
以下文章来源于菜农曰 ,作者菜农这次面实习生,我又拿出了这30道题,有个妹子支支吾吾了半天。。mp.weixin.qq.com/s?__biz=MzIxNzQwNjM3NA==&mid=2247517365&idx=1&sn=37b0fc4c7165b1e18d6dedcdf27cc305&chksm=97f88a7ca08f036aa282ad181bd57f0d73832f3001062e74eb9679db627a7d392696e9600dd0&scene=126&sessionid=166900转载 2022-11-21 14:26:29 · 304 阅读 · 0 评论 -
Java计算机网络篇-websocket
一般客户端向服务器发送请求后服务器会回应响应。但服务器不会主动向客户端发送请求。响应式的方式可以解决此类问题。当然传统的方式也可以达到相同的效果比如:轮询、http长连接。原创 2022-11-03 11:04:26 · 430 阅读 · 0 评论 -
Java计算机网络篇-TCP
TCP三次握手的关键在于,序列号seq的交换确认,因为对于客户端和服务端来说,双方序列号的确认是可靠传输的关键。1、2步握手只能确定发送方发和收正常,并不能确定接收方也是发和收正常,增加了第3次握手,才能保证接收方也是发和收都正常。由于服务器端回复已经响应完毕,此时客户端并不是立刻就收完了,所以服务器处于半关闭状态,等客户端完全处理完,收到通知后才完全关闭,固为4次。小明:好的,我听到了,我看看收完了没。小明:好的,已经收完了,你关闭吧。S:好的,我准备好了,你发吧。小红:好的,已经关闭了。原创 2022-11-03 11:02:45 · 207 阅读 · 0 评论 -
Java计算机网络篇-HTTPS
几个概念1、文中的使用非对称加密对称密钥就是2、https通讯全过程TCP三次握手->建立SSL连接(验证双方证书身份、获取对称密钥)->建立https连接(使用对称密钥加密通讯)3、https单向身份认证一般来说就是客户端验证服务器https证书是否是合法有效的。https双方身份认证就是客户端验证服务器身份,服务器也验证客户端的身份,一般在安全要求 比较高的双方接口对接时,验证双向的身份。原创 2022-11-03 10:57:33 · 398 阅读 · 0 评论 -
Java计算机网络篇-HTTP
相对HTTP1.x性能上有所提升,采用了二进制分帧、多路复用、头部压缩等提升性能技术目前很多平台已开始使用HTTP2.0,如 知乎、淘宝、百度、谷歌、 github、掘金 等,可以打开F12看到协议这列为"h2"原创 2022-11-03 10:55:13 · 101 阅读 · 0 评论 -
Java技术体系-技术总纲
可以发现,设计模式好像都是类似的。越看越感觉都着不多。其实都是类似面向接口编程的一种体现,只不过侧重点不一样或者说要体现的结果不一样。原创 2022-09-22 18:01:40 · 467 阅读 · 0 评论 -
我已经不用 try catch 处理异常了 太辣鸡了
Document转载 2022-02-28 17:03:11 · 206 阅读 · 0 评论 -
全网最全的keytool证书生成、证书管理命令
# 1.生成根证书密钥库->root.jkskeytool -genkeypair -keyalg RSA -dname "CN=localhost" -alias root -keystore root.jks -keypass 123465 -storepass 123465# 2.生成用户证书密钥库->server.jkskeytool -genkey -keyalg RSA -dname "cn=hankserver,ou=cysignet,o=none,l=china,st.原创 2022-02-21 15:06:40 · 3324 阅读 · 0 评论 -
比MongoDB快12.7倍,比 ElasticSearch快500 倍以上,RedisJson到底是个啥
RedisJSON* is faster than MongoDB and ElasticSearch on direct read, write, and update workloads.More concretely, when combining throughput and latency results, and given the context of benchmark details outlined further on this blog:RedisJSON* is 5.4x t.原创 2022-02-15 15:57:58 · 1306 阅读 · 0 评论 -
Spring Cloud要被Spring Cloud Alibaba代替?
确切的说应该是Spring Cloud Netflix(SCN)与Spring Cloud Alibaba(SCA)。SCN、SCA这两者都是Spring Cloud的一种实现,Spring Cloud是他们的根基、规范。早期Spring Cloud组件使用的是Netflix产品或者说是Netflix的实现,后面这家公司停更了,当然Spring Cloud官网也提示了其实的代替品。也就是SCN停更,SCA也发展起来了,再加上alibaba把Dubbo也与SCA集成,再加上中文社区 文档 国内资源自然原创 2022-02-11 15:03:49 · 834 阅读 · 0 评论 -
Jenkins publish-over-ssh 插件搜索不到了?
相信大家用jenkins做远程部署会用的publish-over-ssh插件,但现在去搜索这个会发现不见了,是什么原因呢?我去是官网的plugins里搜索一下大概意思就是说publish-over-ssh存在安全问题,下架了。。。。。。。。那如果你还是想用它怎么办,可以到国内的镜像站直接下载.hpi丢到jenkins的数据目录的plugins里然后重启插件就出来了。step1一般没自己设置直接用jenkins.war启动(java -jar jenkins.war),插件目.原创 2022-02-11 12:12:55 · 2129 阅读 · 0 评论 -
2022年信创会火起来吗?
麒麟、鸿蒙2021年相信大家都非常的熟悉了,那与我们的主题信创有什么关系了,究竟什么是信创呢?如果换个说法国产化相信大家应该就知道了。国际形式的变化在一断加快国家自主技术的创新与倔起。本人是做电子签章行业的,电子签名技术也从原本的RSA256->RSA1024->RSA2048->SM2更新到国产的SM2算法。那什么是信创?信创,即信息技术应用创新产业,通俗来讲,信创就是要在核心芯片、基础硬件、操作系统、中间件等领域实现国产化,信创产业是数据安全、网络安全的基础,也是“新基建”的重要内原创 2022-02-09 10:18:29 · 1043 阅读 · 0 评论 -
缓存数据库一致性问题的总结
在没有事务与锁的情况下,我们不是保证缓存数据库强一致性,我们只是让缓存与数据库更一致。三个经典的缓存模式 Cache-Aside Pattern(旁路缓存) Read-Through/Write through(读写穿透) Write behind(异步写入) 解决方法一般我们使用缓存都是用旁路缓存的模式,但也会在模式上引用很多方法: 先删除缓存,再更新DB 延时双删 异步删除 使用这些方法或以让缓存与数据库更加的一致如果想进一原创 2022-01-27 14:50:37 · 1142 阅读 · 0 评论 -
最近Log4j2被爆高危漏洞,漏洞如何复现,原理是什么呢?
漏洞描述安全公告编号:CNTA-2021-0033安全公告编号:CNTA-2021-00322021年12月10日,国家信息安全漏洞共享平台(CNVD)收录了Apache Log4j2远程代码执行漏洞(CNVD-2021-95914)。攻击者利用该漏洞,可在未授权的情况下远程执行代码。目前,漏洞利用细节已公开,Apache官方已发布补丁修复该漏洞。CNVD建议受影响用户立即更新至最新版本,同时采取防范性措施避免漏洞攻击威胁。一、漏洞情况分析Apache Log4j是一个基于Java的日志记原创 2021-12-16 12:03:43 · 1676 阅读 · 0 评论 -
简单理解SpringBoot自动装配
SpringBoot是什么?springboot是为了简化spring使用的脚手架SpringBoot有什么功能?内嵌容器tomcat jetty,简化java应用运行依赖使用starter配置,简化maven配置自动装配bean,简化bean装配SpringBoot自动装配是什么?springboot自动装配bean到ioc容器SpringBoot自动装配原理是什么?springboot中有个启动类用SpringBootApplication,类中有一个main方法,m原创 2021-11-17 14:42:07 · 142 阅读 · 0 评论 -
2021 chrome 更新跨域规则,将对网站造成影响
chrome 更新跨域规则,将对网站造成影响在 chrome v94 之后,之前没有问题的网站接口请求现在出现了错误:Access to Css stylesheet at ‘http:xx’ from origin ‘http://xx‘ has been blocked by CORS policy: The request client is not a secure context and the resource is in more-prevate adddress spaceloc.转载 2021-11-17 14:22:13 · 1444 阅读 · 2 评论 -
Java面试题:TCP三次握手如果失败会发生什么?
正常情况下会发生TCP三次握手,如果三次握手其中某次失败会怎么样呢?第一次握手:客户端发送失败,客户端、服务器端都不会申请资源。第二次握手:服务器端回应客户端传输失败,客户端不会申请资源,服务器端申请了资源,但收不到客户端第三次握手时发送的请求,过一段时间释放资源。第三次握手:客户端回应服务器端传输失败,服务器端没有收到客户端回应,服务器端会多次发送回应给客户端,如果还是没有收到客户端的客户端回应,则释放资源,服务器端会发送RTS报文并主动关闭防止syn洪泛攻击。syn洪泛攻击..原创 2021-10-28 12:17:39 · 3731 阅读 · 0 评论 -
深入理解Java面试题-接口幂等性
一. 什么是接口幂等性幂等性原本是数学上的概念,用在接口上就可以理解为:同一个接口,多次发出同一个请求,必须保证操作只执行一次。它是系统服务对外的一种承诺(注意不是一种实现),接口服务提供方承诺只要调用接口成功了,外部多次调用对系统的影响是一致的。举一个最常见的例子,用户购买商品后支付扣款成功,但是此时网络发生了异常,导致返回结果失败。因为没收到返回结果,用户就会再次点击付款按钮,就会多付了一笔钱,一旦用户发现余额少了,开发人员就等着被祭天吧,这就是没有保证接口的幂等性。需要强调一点是,声明为幂等转载 2021-10-26 17:36:33 · 489 阅读 · 0 评论 -
Java热门技术题20211026
JVM调优,基本思路(一)0、查进程命令:top jps1、查JVM情况gcjstat -gc pid(年轻代、年老代大小及使用大小及GC情况,单位byte) jstat -gcutil pid(年轻代、年老代使用百分比+ gc情况)堆jmap -heap pid(堆中各区使用情况及大小)jmap -histo pid(堆中对象的统计信息)jmap -dump(内存dump 生成堆转储快照dump文件,通过Jvisualvm MAT查看)3、查线程jstack原创 2021-10-26 12:07:57 · 116 阅读 · 0 评论 -
java多线程,主线程启动多个子线程后主线程如何知道所有子线程都执行完成
java多线程,主线程启动多个子线程后主线程如何知道所有子线程都执行完成?答案:使用 CountDownLatch测试入口@RestController@RequiredArgsConstructorpublic class ThreadController { private final ThreadPoolTaskExecutor pool; @GetMapping("/task/{total}") public String doTask(@PathVari原创 2021-05-28 14:15:39 · 794 阅读 · 0 评论 -
超全的面试知识点总结(研发体系知识点)
一、基础1.1 操作系统1.1.1 基本知识略1.1.2 常见Linux命令目录文件内容搜索系统类网络cdcp/scpvi/vimfind: find . -name xxkillnetstat -anotlsmvcatgrep: ps -efgrep xxlsof: lsof-i:portmkdirrmtailwhereistoppwdta.原创 2021-05-18 19:45:46 · 1001 阅读 · 0 评论