
阿里巴巴
文章平均质量分 90
Python进阶者。
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试高频算法难题:数组中的第K个最大元素
面试高频算法难题:数组中的第K个最大元素目是什么意思呢?比如给定的无序数组如下:如果 k=6,也就是要寻找数组中的第6大元素,这个元素是哪一个呢?显然,数组中第一大的元素是24,第二大的元素是20,第三大的元素是17 …第6大的元素是9。让我想想啊……对了,我可以先把无序数组排序,然后数出排序后的第k个元素!方法1:排序法这是最容易想到的方法,先把无序数组从大到小进行排序,排序后的第k个元素,自然就是数组中的第k大元素。先进行排序的话,算法时间复杂度是O(nlogn),性能有些差,有原创 2021-07-01 17:03:25 · 329 阅读 · 0 评论 -
Java应用诊断工具】「BTrace」基本概念和原理的介绍(1)
Java应用诊断工具】「BTrace」基本概念和原理的介绍(1)系列文章「BTrace」基本概念和初步介绍(1)「BTrace」安装介绍和使用原理(2)- 未完成「BTrace」实战代码进行调试使用(3)- 未完成「BTrace」运行时异常原因分析(4)- 未完成背景说明(痛点分析)线上遇到了问题?服务上线出问题,想增加打印日志怎么办?线上怀疑某个接口慢,想打印接口耗时怎么办?线上某个接口报错,想看看调用的参数和谁调用了怎么办?线上出错了,想看某个对象的数据怎么办?线上出错了,原创 2021-07-01 16:32:20 · 336 阅读 · 0 评论 -
Java多线程实战 synchronized 锁升级过程
Java多线程实战| synchronized 锁升级过程前言在 JDK 1.6之前,synchronized 还是一个重量级锁,是一个效率比较低下的锁,但是在JDK 1.6后,Jvm为了提高锁的获取与释放效率对(synchronized)进行了优化,引入了 偏向锁 和 轻量级锁 ,从此以后锁的状态就有了四种(无锁、偏向锁、轻量级锁、重量级锁),并且四种状态会随着竞争的情况逐渐升级,而且是不可逆的过程,即不可降级,也就是说只能进行锁升级(从低级别到高级别),不能锁降级(高级别到低级别),意味着偏向锁升级原创 2021-07-01 16:31:30 · 252 阅读 · 0 评论 -
HashMap中的hash算法中的几个疑问
HashMap中的hash算法中的几个疑问HashMap中哈希算法的关键代码//重新计算哈希值static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);//key如果是null 新hashcode是0 否则 计算新的hashcode}//计算数组槽位 (n - 1) & hashHashMap的细原创 2021-07-01 16:30:40 · 345 阅读 · 0 评论 -
aop+反射实现电话号加密
aop+反射实现电话号加密背景线上项目涉及大量查询接口中,存在电话号明文展示不合规的问题。如果对每个接口返回结果中电话号相关字段修改相关代码逻辑,则工作量较大花费时间多。因此设计电话号加密注解,减少工作量。1. 引入依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.1原创 2021-07-01 16:29:19 · 168 阅读 · 0 评论 -
2021最新Spring Security知识梳理
2021最新Spring Security知识梳理一、SpringSecurity 框架简介Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。 正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控制),一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorizat原创 2021-07-01 16:27:38 · 739 阅读 · 0 评论 -
Spring源码环境-5.2.2.RELEASE版本
Spring源码环境-5.2.2.RELEASE版本前言该文章不包括Gradle的安装,并且在源码构建过程中需要翻404,否则容易失败。下载源码如果下载源码时卡住或失败,需要翻过404,或者参考该文章(推荐):www.jianshu.com/p/c72473ad9…git clone [email protected]:spring-projects/spring-framework.git<!--切换tag-->cd spring-frameworkgit checkout v5.2原创 2021-06-23 14:30:22 · 579 阅读 · 0 评论 -
Spring源码分析(一):从哪里开始看spring源码(系列文章基于Spring5.0)
Spring源码分析(一):从哪里开始看spring源码(系列文章基于Spring5.0)一、概述对于大多数第一次看spring源码的人来说,都会感觉不知从哪开始看起,因为spring项目源码由多个子项目组成,如spring-beans,spring-context,spring-core,spring-aop,spring-web,spring-webmvc等,整个项目结构如图:可能有人会觉得,既然spring是一个IOC容器或者说是一个bean的容器,那么应该从spring-beans看原创 2021-06-23 14:29:36 · 407 阅读 · 0 评论 -
Spring源码分析和总结
Spring源码分析和总结Spring源码分析和总结我以下呢 就模拟一个请求 从代码上 简单说说 SpringMVC一个请求得流程先来个图image当一个请求(request)过来,进入DispatcherServlet中,里面有个方法叫 doDispatch方法 里面包含了核心流程源码如下:image然后往下看:(DispatcherServlet.java)imagemapperHandler是 ** HandlerExecutionChain (处理器调用链) **类Han原创 2021-06-23 14:28:49 · 775 阅读 · 0 评论 -
spring源码分析从零到学会调优(一)
spring源码分析从零到学会调优(一) 第一,什么是spring 其实spring是一个公司,而spring公司旗下有很多产品:spring framework,spring boot,spring cloud等等还有续许多产品,如图: 而spring framework是spring公司旗下非常重要的一个主流项目,面试官会问原创 2021-06-23 14:27:28 · 130 阅读 · 0 评论 -
Spring源码分析——源码分析环境搭建
Spring源码分析——源码分析环境搭建1.在Windows上安装Gradle gradle工具类似于maven,用于项目的构建,此处主要用于构建spring源码,以便我们将spring源码导入eclipse。开发环境Java:JDK8(必须是JDK或JRE7以上,使用java -version查看当前电脑java版本)操作系统:Windows安装步骤下载最新的Gradle压缩包:Gradle官网:https://gradle.org/,当前最新版本下载地址:h原创 2021-06-23 14:26:38 · 212 阅读 · 0 评论 -
Spring源码分析
Spring源码分析一、Spring依赖注入有三种实现方式:1.构造器注入2.Setter注入3.FactoryBean接口注入二、Spring三种配置方式:1.XML2.注解3.Java的配置三、Spring初始化过程:1.初始化beanFactory,加载BeanDefinition的核心类和方法2.初始化bean一个普通分支3.Aop的实现原理这个在getBean里面的AbstractAutowireCapableBeanFactory.initializeBean();里面原创 2021-06-23 14:25:51 · 142 阅读 · 0 评论 -
一个线程协同问题,解法多种,趁还没被玩坏赶快开动小脑瓜解决掉他,你应该没问题吧??
###前言不知道大家有没有感觉,小学初中读的一些书,看的一些文章,到现在都印象深刻,反倒是高中学的知识,高考后就慢慢消散,直到遗忘。我想说的是,记得初中学过鲁迅的《藤野先生》,里面有一段话,大意是:久了不联系,有时候想联系,却又无从下笔,到最后就更是不了了之了。我找了下原文:将走的前几天,他叫我到他家里去,交给我一张照相,后面写着两个字道:“惜别”,还说希望将我的也送他。但我这时适值没有照相了;他便叮嘱我将来照了寄给他,并且时时通信告诉他此后的状况。我离开仙台之后,就多年没有照过相,又因为状况也原创 2021-05-23 22:34:30 · 197 阅读 · 0 评论 -
3年Java开发经验如何要到30W年薪?
3年Java开发经验如何要到30W年薪?这个问题可能很多人会说这只是大企业或者互联网企业工程师才能拿到。也许是的,小公司或者非互联网企业拿两万的不太可能是码农了,应该已经转管理。还有区域问题,这个不在我的考虑范围内,因为这方面除了北上广深杭,其他的地方一般也很难达到。还有人提到这个水平不止2w,其实工资是跟面试表现有关的,也跟其他综合水平有关,比如你是985,top10,或者研究生学历,也或者懂点node,懂点大数据等等,或者表达能力强,击中面试官痛点都会加分。如果你达到我说的水准,起薪就是2w,有其他原创 2021-05-22 20:06:23 · 860 阅读 · 1 评论