![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 75
普通网友
这个作者很懒,什么都没留下…
展开
-
SpringBoot---JSR 303后台校验流程规范
长度检查@Size(min=, max=) 验证对象(Array,Collection,Map,String)长度是否在给定的范围之内@Length(min=, max=) Validates that the annotated string is between min and max included.日期检查@Past 验证 Date 和 Calendar 对象是否在当前时间之前@Future 验证 Date 和 Calendar 对象是否在当前时间之后@Pa原创 2022-05-05 18:27:25 · 167 阅读 · 0 评论 -
Spring Cloud构建微服务架构(四)分布式配置中心
Spring Cloud Config也提供本地存储配置的方式。我们只需要设置属性spring.profiles.active=native,Config Server会默认从应用的src/main/resource目录下检索配置文件。也可以通过spring.cloud.config.server.native.searchLocations=file:F:/properties/属性来指定配置文件的位置。虽然Spring Cloud Config提供了这样的功能,但是为了支持更好的管理内容和版本控制的功能原创 2022-05-05 18:21:05 · 658 阅读 · 0 评论 -
【leetcode刷题】63
我们可以不考虑输出结果的顺序。[](()Solution------------------------------- 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 --------------------------------------昨天看大佬直播,学到一个小技巧,我们可以通过看题目给的数据范围来推断可以使用的算法本题暴力法肯定可以做,也肯定超时,所以考虑使用set去重的思想将第一个集合放入s.原创 2022-05-04 14:46:01 · 497 阅读 · 0 评论 -
【Java数据结构】二叉搜索树增
parent = cur;cur = cur.left;}}//parentif(parent.val > key) {parent.left = node;}else {parent.right = node;}return true;}④操作-删除==========删除操作较为复杂,但理解了其原理还是比较容易设待删除结点为 cur, 待删除结点的双亲结点为 parent1. cur.left == null1. cur 是 root,则 roo原创 2022-05-04 14:44:05 · 126 阅读 · 0 评论 -
【Java成王之路】第十三篇
public int age;public String wing;public void eat(){ System.out.println("eat()");}public void fly(){ System.out.println("fly");}定义了两个类,一个是Dag类,一个是Bird类对比一下上述的两个类:我们会发现它们之间有一些共性,我们就可以把他们相同的地方抽象出来重新定义一个类.原创 2022-05-04 14:42:10 · 211 阅读 · 0 评论 -
【Elasticsearch】学习笔记-p5
},“sort”: [{“FIELD”: “desc” // 排序字段、排序方式ASC、DESC}]}排序条件是一个数组,也就是可以写多个排序条件。按照声明的顺序,当第一个条件相等时,再按照第二个条件排序,以此类推例子:酒店数据按照用户评价(score)降序排序,评价相同的按照价格(price)升序排序[](()1.2 地理坐标排序地理坐标排序略有不同。语法:GET /indexName/_search{“query”: {“match_all”: {}},“sort”原创 2022-05-04 14:39:48 · 85 阅读 · 0 评论 -
【039期】头条面试
}// move the accessed node to the head;this.moveToHead(node);return node.value;}public void set(String key, int value) {DLinkedNode node = cache.get(key);if(node&nb原创 2022-05-04 14:38:06 · 627 阅读 · 0 评论 -
【 k8s 概念 + 实操
Pod是Kubernetes创建或部署的最小/最简单的基本单位,一个Pod代表集群上正在运行的一个进程。一个Pod封装一个应用容器(也可以有多个容器),存储资源、一个独立的网络IP以及管理控制容器运行方式的策略选项。Pod代表部署的一个单位:Kubernetes中单个应用的实例,它可能由单个容器或多个容器共享组成的资源。[](()Kubernetes中的Pod使用主要方式Pod中运行一个容器。“one-container-per-Pod”模式是Kubernetes最常见的用法; 在这种情况下,原创 2022-05-04 14:35:38 · 1065 阅读 · 0 评论 -
《数据结构》在线课程使用指南
(一)思路:(二)成绩组成建议六、提供服务PTA平台注册《数据结构》在线课程使用指南(2020)====================一、简介课程覆盖“绪论、线性表与队列、字符串、数组与广义表,树与二叉树、图、查找、排序”等几个章节。开课平台为超星(学银在线),学校与老师可以使用方式有:SPOC与MOOC。课程链接:[https://www.xueyinonline.com/detail/214864236](()PTA在线平台:[https://pint..原创 2022-05-04 14:33:10 · 1142 阅读 · 0 评论 -
《剑指offer》之从上往下打印二叉树
创建队列Queue queue = new LinkedList();添加元素queue.offer(“a”);出队列//返回第一个元素,并在队列中删除queue.poll()//返回队列头部的元素,如果队列为空,则抛出一个NoSuchElementException异常queue.element()//返回队列头部的元素, 如果队列为空,则返回nullqueue.peek()主要可能就用到这几个方法啦。下面来看题目[](()题目==========================原创 2022-05-04 14:31:26 · 58 阅读 · 0 评论 -
“真正的机器人测试” - 淘宝泛终端机器人自动化测试实践
通过机器人对系统进行黑盒测试,类似的做法在国外Axiz机器人也有尝试。▐ 为什么要UEE设备端到端自动化测试E:满足深度用户体验评测的诉求(Experience)更高精度:随着深度用户体验提升的需求日益增加,端侧的性能和体验优化会精确到ms级别,因此需要找到进一步提升用户体验指标度量精度的方法。多设备间交互测量:随着多端交互的场景越来越多。不光是APP之间,设备层面APP和PC乃至IoT之间交互的场景也不断出现,需要度量多APP多设备之间的交互性能及用户体验,需要度量多设备多系原创 2022-05-04 14:28:58 · 245 阅读 · 0 评论 -
“真正的机器人测试” - 淘宝泛终端机器人自动化测试实践
通过机器人对系统进行黑盒测试,类似的做法在国外Axiz机器人也有尝试。▐ 为什么要UEE设备端到端自动化测试E:满足深度用户体验评测的诉求(Experience)更高精度:随着深度用户体验提升的需求日益增加,端侧的性能和体验优化会精确到ms级别,因此需要找到进一步提升用户体验指标度量精度的方法。多设备间交互测量:随着多端交互的场景越来越多。不光是APP之间,设备层面APP和PC乃至IoT之间交互的场景也不断出现,需要度量多APP多设备之间的交互性能及用户体验,需要度量多设备多系原创 2022-05-04 14:27:20 · 1709 阅读 · 0 评论 -
源码分析Dubbo网络通信篇NettyServer、HeaderExchangeServer
1.1.1 AbstractServer构造方法public AbstractServer(URL url, ChannelHandler handler) throws RemotingException {super(url, handler); // @1localAddress = getUrl().toInetSocketAddress(); // @2String bindIp = getUrl().getParameter(Constants.BIND_IP_KEY,原创 2022-05-03 17:37:56 · 116 阅读 · 0 评论 -
洛谷——P2077 红绿灯
--------------------------------------------------- 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 --------------------共 N_N_ 行,每行一个正整数,为这辆车通过每个十字路口的最早时间。[](()输入输出样例输入 #1复制5 32 4 3 23 4 3 4 32 3 2 3 1输出 #1复制57111416[](()说明/提示原创 2022-05-03 17:36:15 · 168 阅读 · 0 评论 -
死锁的概念、死锁的产生条件、死锁的预防和死锁的避免
概念来说就是在两个或者多个并发进程中,如果每个进程持有某种资源而又等待其它进程释放它或它们现在保持着的资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。通俗的讲,就是两个或多个进程无限期的阻塞、相互等待的一种状态。举一个很详细的例子2个人一起吃饭但是只有一双筷子,2人轮流吃(同时拥有2只筷子才能吃)。某一个时候,一个拿了左筷子,一人拿了右筷子,2个人都同时占用一个资源,等待另一个资源,这个时候甲在等待乙吃完并释放它占有的筷子,同理,乙也在等待甲吃完并释放它占有的筷子,这样就陷..原创 2022-05-03 17:32:13 · 651 阅读 · 0 评论 -
根据struts的增删改查
junit${junit.version}testjavax.servletjavax.servlet-api${servlet.version}providedcom.fasterxml.jackson.corejackson-databind${jackson.version}com.fasterxml.jackson.corejackson-core${jackson.version}.原创 2022-05-03 17:30:29 · 95 阅读 · 0 评论 -
来来来,今天教你-Java-是如何发起-http-请求的
import java.io.PrintWriter;import java.net.URL;import java.net.URLConnection;import java.util.List;import java.util.Map;public class HttpRequest {/**向指定URL发送GET方法的请求@param url 发送请求的URL@param param 请求参数,请求参数应该是 name1=value1&原创 2022-05-03 17:28:53 · 193 阅读 · 0 评论 -
最坏的不是面试被拒,而是没面试机会,以面试官视角分析哪些简历至少能有面试机会
第四,在项目经验比较少的情况下(比如毕业生或实习生或初级开发),如何挖掘项目经验。其它内容,比如如何在面试中叙述项目经验,以及如何表现,本文不管。好了,正文开始。1 别用万能简历来投递不同的工作用最简单的言辞说简历的筛选标准:不满足条件的简历会过滤掉。虽然这看似废话,但我还真得说,因为在投简历时,不少候选人还真会往枪口上撞。此话怎讲?一般在职位描述里,会写清楚本职位的具体要求,这里其实是非常仔细的,就相当于考纲,人事或技术面试官就按这个筛选简历,乃至做后面的面试。比如在某个职位介绍原创 2022-05-03 17:26:36 · 119 阅读 · 0 评论 -
最全153道Spring全家桶面试题,你都碰到过哪些?
24、自动装配有什么局限?25、什么是基于注解的容器配置26、如何在 spring 中启动注解装配?27、@Component, @Controller, @Repository, @Service 有何区别?28、@Required 注解有什么用?29、@Autowired 注解有什么用?30、@Qualifier 注解有什么用?31、@RequestMapping 注解有什么用?32、spring DAO 有什么用?33、列举 Spring DAO 抛出的异常。34、spring J原创 2022-05-03 17:24:28 · 161 阅读 · 0 评论 -
最新版SpringBoot开发实战:阿里技术官从基础到项目综合实战pdf
使用MyBatis可以非常灵活地实现SQL,同时有非常实用的MyBatis Generator代码生成工具和简单方便的分页插件PageHelper帮助开发者完成工作。综合使用基于XML的Mapper文件和注解的方式,可使dao层代码的开发更加高效。但是,由于MyBatis毕竟还是“半自动化”的ORM框架,在一些简单通用的场景下(例如,没有复杂条件查询),我们更加愿意去使用“自动化”的ORM框架。第5章 Spring Boot集成JPA数据库层开发使用Spring Data JPA可以用极简的.原创 2022-04-29 18:54:38 · 1340 阅读 · 0 评论 -
最全二叉树:完整详解二叉树的遍历以及完全二叉树等6种二叉树
2)然后先序遍历左子树3)然后先序遍历右子树还是举例说明,先序遍历下图如果按照先序(根左右)遍历,结果将为: ABDFECGHI2.3 中序遍历(左根右)1)先中序遍历左子树2)然后是根结点3)然后中序遍历右子树还是举例说明,中序遍历同一颗二叉树按照中序遍历(左根右),结果为: DBEFAGHCI2.4 后序遍历1)后序遍历左子树2)后序遍历右子树3)然后访问根节点还是举例说明,后序遍历同一颗二叉树按照后序遍历(左右根)结果为:DEFBHGICA[]原创 2022-04-29 18:50:16 · 992 阅读 · 0 评论 -
暴打力扣:王者级《数据结构与算法笔记
基础篇微服务架构模式是从SOA架构模式演变过来, 比SOA架构模式力度更加精细,让专业的人去做专业的事情(专注),目的是提高效率,每个服务与服务之间互不影响,微服务架构中每个服务必须独立部署、互不影响,微服务架构模式体现轻巧、轻量级、适合于互联网公司开发模式。这部分重点分析讲解,内容如下:微服务环境搭建篇服务治理篇—NacosNacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。这部分深入了解分析使用原创 2022-04-29 18:48:35 · 64 阅读 · 0 评论 -
数据库 高频面试题
| DQL(数据查询语言) | 用于查询数据库数据 | SELECT || DDL(数据定义语言) | 用于操作数据库对象,如数据库和表等 | CREATE、DROP、ALTER || DML(数据管理语言) | 用于操作数据库对象中所包含的数据 | INSERT、UPDATE、DELETE || TCL(事务控制语言) | 用于管理数据库,如管理权限和数据更改 | GRANT、COMMIT、CALLBACK |[](()1.1 数据查询语言查询的结果是一个虚拟的表格,且在进行查询之前需要指定库原创 2022-04-29 18:45:09 · 117 阅读 · 0 评论 -
推荐系统粗排&召回相关性优化的最新进展
看到三篇干货满满&&很实用的相关性优化paper,先上论文大餐。https://arxiv.org/pdf/2002.03932.pdfGoogle的paper(How to pretrain?),主要是讲怎么样更好的设计pretrain任务,用于问答任务。https://arxiv.org/pdf/2004.12832.pdfStanford的paper(How to late fusion?),主要是讲怎么样更好的让query和doc进行late fusion,用于召回侧&a原创 2022-04-29 18:43:16 · 185 阅读 · 0 评论 -
接口规范文档
3)复杂链路的异步调用4)瞬时高峰的削峰处理。缺点:1)系统可用性降低2)系统复杂度提高3)一致性问题1.4. apollo1.4.1. 技术描述因为如今程序功能越来越复杂,程序的配置日益增多:各种功能的开关、参数配置、服务器地址、数据库链接等。对于配置的期望值越来越高:配置修改后实时生效、灰度发布、分环境、分集群管理配置、完善的权限、审核机制等。所以传统的配置文件越来越无法满足开发人员的需求。于是就有了 Apollo。Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管原创 2022-04-29 18:41:29 · 632 阅读 · 0 评论 -
排序算法:归并排序
例子==下面通过一个例子来看看归并排序是怎么工作的,原数组如下。第一步:分解首先将数组分解成两部分,即19、15、37为一组,12、25为一组,为了区分,我们起个名字叫“第一层”,如下图:第二步:分解继续分解,19、15为一组,37为一组,12为一组,25为一组,这四组为“第二层”,如下图:第三步:分解继续分解,此时只剩下19、15这一组可以分解,分解成19、15,这两组为“第三层”,如下图:第四步:归并由于所有组都已经分解成只有1个元素,开始进行归并,从“高层”开始归并,即先归原创 2022-04-29 18:39:43 · 561 阅读 · 0 评论 -
找工作再也不愁之面试题全覆盖-项目相关
用户端使用用浏览器中的localStorage保存token通过axios的拦截器,给每次请求的请求头都加上token服务端收到token,就能在Redis中找到对应的数据[](()三方登录流程讲一下1.用户发起微信登录请求2.后端获取请求二维码的连接,重定向到扫码界面3.用户使用微信扫一扫并同意授权4.后端回调获取授权码,并将授权码作为参数,重定向到前端跳转页面5.前端将授权码返回后端,后端根据授权码获取token6.后端根据token获取openId7.根据openId查询微信用户表原创 2022-04-29 18:37:32 · 105 阅读 · 0 评论 -
我的人生没有面试季,半路出家程序员也能一往无前
后来发现Java比较热门,就去了培训机构学习了半年的时间,出来找工作的时候,不是我挑工作,而是只有公司要我,我就去上班。刚从事这份工作的时候,什么都不会,学到的东西在实际工作中用的不多,很多东西都是靠百度,这样的日子过了一年半,那会感觉目前的薪资已经满足不了我的现状。刚好我听了享学课堂的公开 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 课,感觉很有收获,立刻就申请成为了会员,**18年10月到19年2月初,学习了4个月,2原创 2022-04-29 18:33:17 · 106 阅读 · 0 评论 -
我用了一万字,介绍了一下Redis五种类型底层实现
Redis 字符串是以字节数组形式存在的,是一个带长度信息的字节数组;Redis 字符串长度不能超过 512M 字节;Redis 的字符串有两种存储方式,在长度特别短时,使用 emb 形式存储 (embeded),当长度超过 44 时,使用 raw 形式存储。具体表现于 redisObject 对象的 encoding 属性;Redis 扩容时,字符串长度小于 1M 之前,加倍扩容。当超度超过 1M 之后,每次只扩容 1M;[](()二、hash================..原创 2022-04-29 18:31:22 · 117 阅读 · 0 评论 -
微信开发:对接JS-SDK微信内置地图获取当前位置
nonceStr : data.noncestr,//生成签名的随机字符串signature : data.signature,//签名jsApiList : [//需要调用的JS接口列表‘chooseImage’, ‘uploadImage’, ‘downloadImage’,‘previewImage’, ‘openLocation’, ‘getLocation’,‘scanQRCode’, ‘checkJsApi’, ‘onMenuShareTimeline’,‘onMenuShareAp原创 2022-04-28 16:41:52 · 1190 阅读 · 0 评论 -
微信小程序开发资源汇总
[wechatCode-complete](() - webstorm 插件(代码提示)[wxapp](() - sublime plugin[minapp](() - vscode 插件(支持 原生/mpvue/wepy 框架)[vscode 插件(代码提示)](()[WePY Plugin For IntelliJ Platform](() - 让PhpStorm/WebStorm全面支持WePY的开发,包括API(原生/WePY)和组..原创 2022-04-28 16:40:06 · 1089 阅读 · 0 评论 -
强烈推荐十几款IDEA开发必备的插件,实测非常好用
一套 RESTful 服务开发辅助工具集,完美代替postman。(该插件在IDEA 2020版本未适配,可用Restfultool代替)根据 URL 直接跳转到对应的方法定义 ( or Ctrl Alt N );提供了一个 Services tree 的显示窗口;一个简单的 http 请求工具;在请求方法上添加了有用功能::复制生成 URL,复制方法参数…其他功能::java 类上添加 Convert to JSON 功能,格式化 json 数据 ;[](()3、Ea原创 2022-04-28 16:38:13 · 4081 阅读 · 0 评论 -
学透这份java进阶笔记,才知道为什么能一起斩获几十家大厂offer一定是有原因的
在我看到这份目录的时候,心情十分激动,能拥有这样一套笔记,无论是平时的查缺补漏,还是面试突袭,都能有一套完美的参考资料,真正做到精通一个知识点就画个圈,再也不用在十几本书中翻来翻去了。通过寻找,在我的软磨硬泡下(其实免费获取方式很简单,后台私信【资料】就好了!),终于要来了这一份大神级的笔记。由于内容实在太长,这里就先给大家分享分享一部分内容吧!JVM===(1) 基本概念:JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆和一个存储方法域原创 2022-04-28 16:34:33 · 103 阅读 · 0 评论 -
如果当时这20道题能答好,现在应该已经被录取了(记一次面试的亲身经历 2020-8-27
二、数据库一般会采取什么样的优化方法?1、选取适合的字段属性为了获取更好的性能,可以将表中的字段宽度设得尽可能小。尽量把字段设置成not null执行查询的时候,数据库不用去比较null值。对某些省份或者性别字段,将他们定义为enum类型,enum类型被当做数值型数据来处理,而数值型数据被处理起来的速度要比文本类型块很多。2、使用join连接代替子查询3、使用联合union来代替手动创建的临时表注意:union用法中,两个select语句的字段类型要匹配,而且字段个数要原创 2022-04-28 16:32:22 · 92 阅读 · 0 评论 -
如何优雅实现属性的动态注入
我们先建一个entry类。用于对象存储。我这里 创建一个BaseDateBean 的类@Setter@Getterpublic class BaseDateBean {private String startTime;private String operator;private String code;private String testNumber;private String iphoneCardCode;private String sampleNumber;pri原创 2022-04-28 16:29:59 · 119 阅读 · 0 评论 -
大专生出身,做Java程序员真的没有春天吗?冲刺拼多多终拿下Offer
###拼多多二面自我介绍什么是工厂模式?如何实现单链表的增删操作?让我说意思JVM的分为哪几块?由于提及到了内存溢出,面试官问我内存溢出和内存泄漏的区别?这里问完我就去问了数据库,4大特性是啥,举个例子?数据的隔离级别有啥,每个隔离级别举个例子?分布式锁的实现知道到哪些?你更推荐哪一种锁?Redis的持久化操作有哪些?如何利用redis处理热点数据sleep 方法和 wait 方法有什么区别?synchronized 和 ReentrantLock 的区别线程 B 怎么知道线程 A原创 2022-04-28 16:18:04 · 3039 阅读 · 0 评论 -
多线程详解第1讲:线程简介
线程简介1、多任务2、多线程3、普通方法调用和多线程4、程序.进程.线程5、Process与Thread6、本章核心概念[](()线程简介[](()1、多任务![在这里插入图片描述](https://img-blog.csdnimg.cn/20210422222920920.png?x-oss-process=im 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 age/w...原创 2022-04-28 16:16:23 · 58 阅读 · 0 评论 -
处理Java程序中的内存泄漏
如果程序执行一段时间后抛出一个`java.lang.OutOfMemoryError,内存泄漏肯定是一个很大的疑点。那么什么时候内存泄漏应该成为一个问题?完美主义程序员会回答这个问题全部需要调查和纠正内存泄漏。然而,在得出这个结论之前,还有几个其他的问题需要考虑,包括程序的生命周期和泄漏的大小。考虑垃圾收集器在应用程序生命周期中可能永远不会运行的可能性。无法保证JVM何时或是否会调用垃圾收集器——即使程序显式调用System.gc()。通常,垃圾收集器不会自动运行,直到程序需要比当前可用内存更多的内存。此原创 2022-04-28 16:14:49 · 592 阅读 · 0 评论 -
基于计算机底层基础设计一个高性能的单机管理主机的心跳服务
传输层协议的选择宕机判断算法的设计=========这个心跳服务最关键是判断宕机的算法。如果采用暴力遍历所有主机的方式来找到超时的主机,在面对只有几百台主机的场景是没问题,但是这个算法会随着主机越多,算法复杂度也会上升,程序的性能也就会急剧下降。所以,我们应该设计一个可以应对超大集群规模的宕机判断算法。我们先来思考下,心跳包应该有什么数据结构来管理?心跳包里的内容是有主机上报的时间信息的,也就是有时间关系的,那么可以用「双向链表」构成先入先出的队列,这样就保存了心跳包的时序关系。由于采.原创 2022-04-23 23:08:43 · 135 阅读 · 0 评论 -
基于消息中间件RabbitMQ实现简单的RPC服务
因此,实现一个最简单的 RPC 服务,只需要 Client、Server 和 Network,本文就是利用消息中间件 RabbitMQ 作为 Network 载体传输信息,实现简单的 RPC 服务。简单原理可如下图所示:即:当 Client 发送 RPC 请求时,Client 端是消息生产者,Server 端是消息消费者;当 Server 返回结果时,Server 端是消息生产者,Client 是消息消费者;发送和返回使用不同的队列。接下来我们通过代码,详细展示一个计算斐波那契数列的 RPC 服务。原创 2022-04-23 23:07:03 · 123 阅读 · 0 评论