自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 Spring-AOP源码深度剖析:如何创建代理对象,Java百度云

AbstractAutowireCapableBeanFactory#initializeBean(java.lang.String, java.lang.Object,org.springframework.beans.factory.support.RootBeanDefinition)/** * * 初始化Bean 包括Bean后置处理器初始化 Bean的一些初始化方法的执行init-method Bean的实现的声明周期相关接口的属性注入 */protected Obje

2021-08-11 20:20:59 90

原创 Spring 从入门到精通系列 12,高级Java工程师面试宝典

* @param sourceName 转出账户名称 * @param targetName 转入账户名称 * @param money 转账金额 */public void transfer(String sourceName, String targetName, Float money) { //1. 根据名称查询转出账户 Account source = accountDao.findAccountByName(sou.

2021-08-11 20:19:52 90

原创 Spring MVC(2),Redis-RESP协议与AOF持久化有什么关系

(5) 页面跳转同步通知页面的路径(return_url)http://localhost:8080/alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp4.测试运行测试用的支付宝买家账户可以在"沙箱账"这个页面可以找到:支付成功后,验签结果:问题解决由于我们使用的是沙箱测试环境,测试环境和正式上线的环境的网关是不一样的,如果配置错误,会出现,appid错误的问题。配置如下:源代码下载链接: https://pan.baidu.com/s

2021-08-11 20:17:38 137

原创 Spring MVC(1),亚信科技Java笔试题

其实,说得简单点,当优秀的框架逐渐成为趋势、成为标准之时,开发者的学习成本降低了,同时也减少了开发者的重复编码工作,简化开发,加快开发进度,降低维护难度。“三大框架”谈到框架之时,我相信你的脑海中会迅速出现一个词语——“三大框架”,每个 JavaWeb 学习者对该词肯定都印象深刻。开始接触 Java 开发框架时,这个词语也就随之深刻在脑海中,因为周围的开发者乃至自己都会时常提到它。“三大框架”已成为大家接受的叫法,在进入公司后,随着开发经验的增长,“三大框架”被提到得越来越少了。伴随着可使用的优秀框架

2021-08-11 20:16:33 801 4

原创 Spring Cloud原理详解,Java基础面试宝典

咱们来考虑第一个问题:订单服务想要调用库存服务、仓储服务,或者积分服务,怎么调用?订单服务压根儿就不知道人家库存服务在哪台机器上啊!他就算想要发起一个请求,都不知道发送给谁,有心无力!这时候,就轮到Spring Cloud Eureka出场了。Eureka是微服务架构中的注册中心,专门负责服务的注册与发现。咱们来看看下面的这张图,结合图来仔细剖析一下整个流程:如上图所示,库存服务、仓储服务、积分服务中都有一个Eureka Client组件,这个组件专门负责将这个服务的信息注册到Eure

2021-08-11 20:15:24 150 1

原创 Spring Cloud 终于改了,为什么要用日期来做版本号,华为工程师面试经历

如果你和很多素不相识的人协同开发某个项目,那么使用一个严谨的版本命名方式是一个合适的选择,恰巧 CalVer 就是选择之一。该项目是否具有较大或不断变化的范围?大型系统和框架,如 Ubuntu 和 Twisted。没有实际边界的实用工具集合,如 Boltons。该项目是否对时间敏感?是否有其他的外部变化驱动项目新版本的发布?业务需求,例如 Ubuntu 的支持计划。安全更新,例如 certifi 对证书更新的需求。政治变化,例如 pytz 对时区变化的处理。如果你

2021-08-11 20:14:20 168

原创 linux内核设计与实现,Java面试题及答案汇总(二

19. Collection 和 Collections 有什么区别?java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set。Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作

2021-08-10 16:41:55 98

原创 linux内核源码详解,【Spring AOP

AOP 的概念:本质就是 Spring 的动态代理开发,通过代理类为原始类增加额外功能。好处:利于原始类的维护注意:AOP 编程不可能取代 OOP,AOP 是 OOP 编程的补充。AOP 编程的开发步骤原始对象额外功能 (MethodInterceptor)切入点组装切面 (额外功能+切入点)详情可参见之前的博客:Spring 动态代理开发详解切面的名词解释切面 = 切入点 + 额外功能几何学:面 = 点 + 相同的性质AOP 的底层实现.

2021-08-10 16:40:48 67

原创 linux内核架构和底层原理pdf,为什么分布式一定要有Redis?

使用 Redis 有什么缺点单线程的 Redis 为什么这么快Redis 的数据类型,以及每种数据类型的使用场景Redis 的过期策略以及内存淘汰机制Redis 和数据库双写一致性问题如何应对缓存穿透和缓存雪崩问题如何解决 Redis 的并发竞争 Key 问题为什么使用 Redis我觉得在项目中使用 Redis,主要是从两个角度去考虑:性能和并发。当然,Redis 还具备可以做分布式锁等其他功能,但是如果只是为了分布式..

2021-08-10 16:39:45 119

原创 linux内核教程,如何避免自己写的代码成为别人眼中的一坨屎!

* 冗余注释; * 糟糕的注释; * 注释掉的代码;唯一真正好的注释是你想办法不去写的注释:不要有循规式注释,比如setter/getter注释;不要添加日志式注释,比如修改时间等信息(git可以做的事情);注释一定是表达代码之外的东西,代码可以包含的内容,注释中一定不要出现;如果有必要注释,请注释意图(why),而不要去注释实现(how),大家都会看代码;适当添加警示注释;二、命名尽可能使用标准命名方法,比如设

2021-08-10 16:38:38 64

原创 Linux-网络协议栈你明白吗?带宽(1),百度Java面试题

网络配置如何看?要想知道网络的配置和状态,我们可以使用 ifconfig 或者 ip 命令来查看。这两个命令功能都差不多,不过它们属于不同的软件包,ifconfig 属于 net-tools 软件包,ip 属于 iproute2 软件包,我的印象中 net-tools 软件包没有人继续维护了,而 iproute2 软件包是有开发者依然在维护,所以更推荐你使用 ip 工具。学以致用,那就来使用这两个命令,来查看网口 eth0 的配置等信息:虽然这两个命令输出的格式不尽相同,但是输出的内容基本相同,.

2021-08-10 16:37:29 96

原创 Linux 配置全面讲解(安装JDK,Java开发工程师笔试题目

mkdir a 创建 a目录mkdir -p a/b 创建 a目录,并在a目录里创建b目录mkdir -m 777 c 创建一个权限为777的C目录rmdir 删除目录(如果目录里有文件,则不能用此命令)复制代码2.4 Vi/vim创建/查看/编辑文件命令行:Esc切换到命令行模式。编辑模式:按i,在光标前开始编辑按a,在光标后开始编辑按o,在当前行的下一行开始编辑按u, 撤销之前的操作底行模式:按 shift+:冒号。:q! 不保存退出:wq 保存退出:/world 从当前光

2021-08-10 16:36:18 131

原创 Linux 配置全面讲解(安装JDK(1),Java基础全套视频教程

-f 指定文件名-z 调用gzip压缩命令进行压缩-t 查看压缩文件的内容-x 解开tar文件tar –cvf n.tar ./* 压缩当前目录下的所有文件和目录,文件名为n.tartar –xvf n.tar 解压压缩包中的文件到当前目录(如果长时间未解压成功 Ctrl+C推出)tar –cvzf m.tar.gz ./* 压缩文件tar -zxvf m.tar.gz 解压m.tar文件到当前目录复制代码2.9 grep命令grep root /etc/passwd 在文件中查找关键字

2021-08-10 16:35:13 108

原创 Leetcode--Java--15,Java面试必备的集合源码详解

### [](https://gitee.com/vip204888/java-p7)思路1. 双指针。 双指针需要有序,先将数组排序,保证指向的值 i < j < k ![在这里插入图片描述](https://img-blog.csdnimg.cn/35df36e62bf54423af8e2de0ea050b9d.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aH...

2021-08-10 16:34:05 120

原创 SpringCloud-Stream实战快速入门,Java面试题及答案整理

它定义了一个OUTPUT类型的Binding,名称为output,当不通过@Output指定Binding的名称时,默认会使用方法名作为Binding的名称。Sink内置接口Sink的定义如下,它定义了一个INPUT类型的Binding,名称为input,当不通过@Input指定Binding的名称时,默认会使用方法名作为Binding的名称。在一个接口中可以同时定义多个Binding,只需要定义多个@Input或@Output标注的方法。Processor接口同时继承了Source和Sink接口,.

2021-08-09 17:31:14 128

原创 SpringCloud-Alibaba之Nacos集群、持久化,腾讯后台开发

享学课堂特邀作者:老顾转载请声明出处!前言前面的系列文章已经介绍了Nacos作为注册中心和配置中心,以及Nacos的基本使用方式。但之前的文章中都是基于单机模式部署的,生产环境不可能是单机部署的,所以本文介绍一下Nacos的集群部署。之前在Nacos控制台配置的一下信息,默认Nacos使用嵌入式cmdb数据库实现数据的存储。所以,如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储。安.

2021-08-09 17:30:03 120

原创 SpringCloud-Alibaba之Nacos配置中心,【干货

创建配置文件名为bootstrap.yml,注意是bootstrap,而不是application。原因如下Nacos同springcloud-config一样,在项目初始化时,要保证先从配置中心进行配置拉取,拉取配置之后,才能保证项目的正常启动。springboot中配置文件的加载是存在优先级顺序的,bootstrap优先级高于application必须的配置项spring.application.name,关联nacos的dataID。spring.cloud.nacos.discover

2021-08-09 17:28:54 689

原创 SpringBoot的幕后推手,别再说你不会JVM性能监控和调优了

ApplicationContext context = new FileSystemXmlApplicationContext("config-file-path") DemoService service = context.getBean(DemoService.class); service.doSomething();}}我相信每一个使用Spring框架构建的独立的Java应用,通常都会存在类似`context.getBean(...)`的代码,其实这行...

2021-08-09 17:27:45 75

原创 SpringBoot整合Redis,怎么实现发布-订阅(1),疯狂膜拜

然后使用发布/订阅模式,订阅主题为:keyevent@0:expired 的消息,则表示订阅数据库索引为 0 的 key 过期事件,监听所有的库则为:keyevent@*:expired2、绑定消息处理器/** * 消息监听器适配器,绑定消息处理器 * <p> * 可以配置多个 listenerAdapter,监听不同的通道 */ @BeanMessageListenerAdapter listenerAdapter(RedisMessageListener receiver

2021-08-09 17:26:39 69

原创 springboot整合mybatis拦截器分页(1),温故而知新

ymlspring: application: name: spring-cloud-dynamic datasource: #类型 type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/f2f?useUnicode=true&character

2021-08-09 17:25:30 133

原创 SpringBoot整合Mybatis及自动装配源码分析,MySQL系列

connection-timeout: 30000 # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒 minimum-idle: 5 # 最小连接数 maximum-pool-size: 20 # 最大连接数 auto-commit: true # 自动提交 idle-timeout: 600000 ...

2021-08-09 17:24:17 174

原创 【数据结构与算法 12,springmvc面试题高级

本文简单介绍二分查找、插值查找、斐波那契查找。查找算法分类:1、静态查找和动态查找2、无序查找和有序查找二、二分查找1、基本思想也称为折半查找,属于有序查找算法。用给定值value先与中间结点的关键字比较,中间结点把线形表分成两个子表,若相等,则查找成功;若不相等,再根据K与该中间结点关键字的比较结果确定下一步查找哪个子表,这样递归进行,直到查找到或查找结束发现表中没有这样的结点。2、复杂度分析最坏情况下,关键字比较次数为log2(n+1),且期望时间复杂度O(log2n);3、大话数据

2021-08-08 21:14:50 56

原创 【恋上数据结构,Java-SSM框架相关面试题整理

static int coins(int n) { if (n < 1) return -1; // 处理非法数据 int[] dp = new int[n + 1]; // 递推(自底向上)过程 for (int i = 1; i <= n; i++) { int min = dp[i - 1]; // 由于下面两行是必然执行的, 直接这么写就行了 // int min = Integer.MAX_VALUE; // if (i >= 1) min =.

2021-08-08 21:13:45 59

原创 【恋上数据结构(2),40张图文详解,我就不信你还参透不了并发编程

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200426132803952.png)哈希函数的个数 k:布隆过滤器的实现===========================================================================Guava: Google Core Libraries For Java(谷歌核心库中Java实现)https://mvnrepository.com/artifact/co

2021-08-08 21:12:41 84

原创 【恋上数据结构(1),Java面试题及答案整理

====================================================================================思考:如果要经常判断 1 个元素是否存在,要怎么做?很容易想到使用哈希表(HashSet、HashMap),将元素作为 key 去查找时间复杂度:O(1),但是空间利用率不高,需要占用比较多的内存资源如果需要编写一个网络爬虫去爬10亿个网站数据,为了避免爬到重复的网站,如何判断某个网站是否爬过?很显然,HashSet、Ha

2021-08-08 21:11:32 137

原创 【干货,Java自学书籍推荐

从上面我们可以看到,Override类中使用了@Target元注解和@Retention元注解来定义整个注解,@Target表示需要注解的目标,@Retention则是标明当前注解的信息可以保留到Java的什么阶段,而除了这两个元注解以外,还有两个元注解@Documented和@Inherited,@Documented用来表示当前的注解信息是否包含到文档中,@Inherited注解则是和注解之间的继承有对应的关系,那么这些元注解具体有什么作用,以及具体有哪些参数可以选择呢?接下来我们便分别学习一下@T

2021-08-08 21:10:22 79

原创 【嵌入式实验,跪了

实验2.4 使用 gdb 调试应用程序实验2.5 使用 code::blocks 进行图形化编程三.预备知识=========================================================================Linux 使用等。四.实验设备及工具(包括软件调试工具)======================================================================================硬件:ARM

2021-08-08 21:09:09 559

原创 【实习,【干货

我把 top_global.inc文件导出了…顺便转成了简体,放在这里有需要时查询:SCHEMA dsGLOBALS #执行作业 DEFINE g_clienttype LIKE type_t.chr1 #A:GMA/W:GWC/D:GDC DEFINE g_sessionkey LIKE type_t.chr20 #TT Session Key=TIME+PID DEFINE g_parentsession LIKE type_

2021-08-08 21:08:06 99

原创 【实习之T100开发,阿里、百度等大厂技术面试题汇总

一、添加 性别[下拉框]、入职日期1、r.t 数据表增加字段2、设计器更新基础数据、重新产生基础数据3、设计器修改界面并上传4、重新下载程序代码,修改azzi600系统分类码,设置下拉框设置录入信息时显示的初值5、修改完成,上传程序、执行程序二、【整单操作】下加按钮 - 审核后修改身份证1、规格上 - 新增项目2、设计器 - 下载程序 - 检查产生Action代号,然后上传程序3、azzi903 将Action从 弹出..

2021-08-08 21:07:02 221

原创 kafka入门到精通文档,《SpringCloud超级入门(3)

}自动创建客户端-------一个最基本的 Starter 包定义好了,但目前肯定是不能使用 UserClient,因为我们没有自动构建 UserClient 的实例。接下来开始构建 UserClient,代码如下所示。@Configuration@EnableConfigurationProperties(UserPorperties.class)public class UserAutoConfigure {@Bean@ConditionalOnProperty(

2021-08-07 08:52:23 73

原创 kafka入门书籍,trutle画图之可显示任意数字的晶体数码管设计

Hello!你好哇,我是灰小猿!一个超会写bug的程序猿!今天和大家分享一个关于使用Python绘制晶体数码管管的项目,目的是能够使用该程序会,任意的绘制出数字,先来看一个绘制数字0~9的效果:晶体数码管绘制顺序=========晶体数码管的绘制,是采用trutle库来进行绘制,数码管的绘制顺序如下:从图中可以看出,绘制起点在数码管的中部左侧,在这七段数码管中,无论每一段是否被绘制出来,画笔都会按照上方的顺序绘制完这七段。晶体数码管绘制函数=========from turtle im

2021-08-07 08:51:07 174

原创 kafka从入门到精通,还不懂大数据和算法?这份BAT大厂大数据(1)

这次主要介绍在信息流推荐中,腾讯是如何做内容理解克服上述问题的。主要包括:项目背景、兴趣图谱、内容理解、线上效果。阿里妈妈:电商预估模型的发展与挑战内容提纲:1.电商数据个性化预估的特性2.阿里妈妈模型迭代路径3.Where to Go优酷DSP广告投放系统架构实践随着RTB网络在线展现广告交易模式的兴起,各大公司都纷纷搭建自己的DSP ( Demand-Side Platform)广告投放系统进行获客。优酷在近几年也搭建DSP系统,并且在持续迭代。在这一过程中 ,经历哪些技术探索?

2021-08-07 08:49:54 62

原创 jvm优化面试题,35K成功入职:蚂蚁金服面试Java后端经历

二、 现场面:背景了解:为什么要选择编程这条路何时开始编程如何进行自学阅读过那些书籍项目考察项目运行过程中成员是否曾就某一点发生争执?作为Leader你是如何解决的?具体事例?项目最终实现效果项目具体部分使用的设计模式并简述选择理由项目有何需改进之处并初拟改进方案想问的问题技术面中项目占了相当一部分时间,项目中从技术到个人团队领导能力,从完成执行能力到思想灵活度,都是面试官希望得到的信息。因此,必须对自己的项目多方面展开准备,项目回顾的过程中需不断思考改进方案和具体措施。.

2021-08-07 08:48:34 554

原创 Java黑马程序员全套,mysql-排它锁之行锁(3)

– 同理,会出现等待START TRANSACTION;update x set num = 2 where num = 2;– 事务D– 等待START TRANSACTION;insert into x values(3, 3);## Gap锁(Gap Lock)在MySQL中select称为快照读,不需要锁,而insert、update、delete、select for update则称为当前读,需要给数据加锁,幻读中的“读”即是针对当前读。RR事务隔离级别允许存在幻读,但I

2021-08-07 08:47:15 81

原创 Java黑马百度云,史上最全SpringMVC教程,从零开始带你深入♂学习

领取资料**1. 轻量级,简单易学2. 高效 , 基于请求响应的MVC框架3. 与Spring兼容性好,无缝结合4. 约定优于配置5. 功能强大:RESTful、数据验证、格式化、本地化、主题等6. 简洁灵活**SpringMVC快速入门============================================================================一、新建一个Moudle,右键添加框架支持,点击Web应用程序[](https://gitee.c

2021-08-07 08:45:52 317

原创 Java黑马百度云,Java 万字长文基础知识总结(下

你需要找到⼀个⽂件,但是又记不得它的确切位置或路径。grep可以帮助你解决这个问题。你可以使用grep命令,根据给定的关键字帮助找到⽂件。$ grep user /etc/passwd9.cat作为用户,你常常需要查看来自脚本的⼀些⽂档或代码。同样,其中⼀个Linux基本命令是cat命令。它会为你显示⽂件里面的⽂本。$ cat CMakeLists.txt10.poweroff有时候,你需要直接从终端来关机。这个命令就能完成这项任务。别忘了在命令的开头添加sudo,因为它需要根权限才能执⾏pow

2021-08-07 08:44:32 435

原创 Java高级面试最新,Arthas:问题排查神器(1)

为什么 CPU 又升高了,到底是哪里占用了 CPU ?运行的多线程有死锁吗?有阻塞吗?程序运行耗时很长,是哪里耗时比较长呢?如何监测呢?这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?有什么办法可以监控到 JVM 的实时运行状态?Arthas 的命令、功能在其官方文档有详细介绍,下文将介绍一下近期几个使用场景。场景 1:定位压测时的.

2021-08-07 08:43:14 312

原创 Java高级程序员面试笔试,MySQL规范与性能优化

**「理由:」*** 主键一般都要加上的,没有主键的表是没有灵魂的 * 创建时间和更新时间的话,还是建议加上吧,详细审计、跟踪记录,都是有用的。 阿里开发手册也提到这个点,如图![](https://img-blog.csdnimg.cn/20201216202546370.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ib...

2021-08-07 08:41:50 117

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除