- 博客(56)
- 收藏
- 关注
原创 MyBatis缓存机制的设计
在开头跟大家分享的时候我就说,面试我是没有做好准备的,全靠平时的积累,确实有点临时抱佛脚了,以至于我自己还是挺懊恼的。(准备好了或许可以拿个40k,没做准备只有30k+,你们懂那种感觉吗)如何准备面试?1、前期铺垫(技术沉积)程序员面试其实是对于技术的一次摸底考试,你的技术牛逼,那你就是大爷。大厂对于技术的要求主要体现在:基础,原理,深入研究源码,广度,实战五个方面,也只有将原理理论结合实战才能把技术点吃透。
2024-06-18 19:49:28
775
原创 Java面向对象浅谈
对象就是存在的具体实体,具有明确定义的状态和行为,是面向对象编程的核心,用来描述现实世界中的实体,为计算机应用程序提供实体基础,也是完成特定任务一个封装。继承机制是面向对象程序设计不可缺少的关键概念,是实现软件可重用的根基,是调高软件系统的可扩展性与可维护性的主要途径。在Java中,被继承的类我们称之为父类,也叫基类;继承的类叫子类,也称为派生类或超类;继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能继承已有类的数据属性和行为,当然子类也可以扩展属于自己的新能力。
2024-06-18 18:36:51
453
原创 Java框架 Spring 核心机制
声明式事务管理建立在AOP之上的,动态代理实现其机制(不改变源码,对原有的功能动态扩展)。依赖注入,将相互依赖的对象分离,在Spring配置文件中,描述他们的依赖关系,用到一个对象时注入,而不需要New一个对象。如果说BeanFactory是Spring的心脏,那么ApplicationContext就是完整的躯体了,ApplicationContext由BeanFactory派生而来,提供了更多面向实际应用的功能。包括声明式事务和编程式事务,编程式的,比较灵活,但是代码量大,存在重复的代码比较多;
2024-06-18 17:29:13
805
原创 Java18都在路上了,你还在用Java8吗?
做任何事情都要用心,要非常关注细节。看起来不起眼的、繁琐的工作做透了会有意想不到的价值。当然要想成为一个技术大牛也需要一定的思想格局,思想决定未来你要往哪个方向去走, 建议多看一些人生规划方面的书籍,多学习名人的思想格局,未来你的路会走的更远。更多的技术点思维导图我已经做了一个整理,涵盖了当下互联网最流行99%的技术点,在这里我将这份导图分享出来,以及为金九银十准备的一整套面试体系,上到集合,下到分布式微服务个方向去走, 建议多看一些人生规划方面的书籍,多学习名人的思想格局,未来你的路会走的更远。
2024-06-18 16:13:44
420
原创 docker安装教程(windows和linux[centos8])
使用Linux容器来部署应用程序被称为容器化,容器化具有以下的优点:灵活:即使最复杂的应用也能够被容器化。轻量:容器最大化利用和分享主机的内核。可互换:你可以即时部署更新和升级应用。便捷:你可以在本地构建应用,并部署到容器云,并在任何地方运行。可扩展: 你可以增加和自动分发容器的个数。可堆叠:您可以垂直堆叠服务并即时堆叠服务。win7或win8:下载需利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,
2024-06-18 14:59:15
674
原创 Java编程:动态规划
就写到这了,也算是给这段时间的面试做一个总结,查漏补缺,祝自己好运吧,也希望正在求职或者打算跳槽的 程序员看到这个文章能有一点点帮助或收获,我就心满意足了。多思考,多问为什么。希望小伙伴们早点收到满意的offer!越努力越幸运!金九银十已经过了,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。
2024-06-16 21:03:51
772
原创 IDEA 这个小技巧太实用了。。
注意,因为是临时文件,所以自然只在本地存储,切不可当作多人协作方式使用;其二,临时文件不和项目挂钩,所以它不是存储项目目录下的,有专门的地方进行存储它们,一般是在C盘下的IDEA某个目录下,大家可查看自己临时文件的存储位置。Scratch files(临时文件) 是功能完备,可运行并且可调试的文件,它还支持语法高亮显示,代码补全,以及相应文件类型的所有其他特性。因为临时文件是不跟项目挂钩的,不存储在项目目录中,你在当前项目中创建的临时文件,在打开其他项目时,也是能访问到的。
2024-05-29 13:55:45
342
原创 Hystrix-服务容错处理:什么是Hystrix
系统默认采用线程隔离策略,我们可以通过配置线程池的一些参数,如以下代码所示:public MyHystrixCommand(String name) {super(HystrixCommand.Setter.withGroupKey (HystrixCommandGroupKey.Factory .asKey( “MyGroup”)).andCommandPropertiesDefaults (HystrixCommandProperties.Setter().withExecutionIsola
2024-05-29 13:55:13
561
原创 github上标星70
以上就是这份Java面试突击手册的内容,感兴趣的朋友可以加下方小助理VX来免费领取!需要这份GitHub上贼火的Java面试突击手册的朋友文末自取!
2024-05-29 13:01:08
167
原创 GitHub上标星2
通过本章的学习我们了解到,MyBatis与Spring框架整合后,Spring框架启动时,会扫描指定路径下的Mapper接口,将Mapper接口转换为Spring 中的 BeanDefinition对象,然后将 BeanDefinition对象的beanClass属性修改为MapperFactoryBean,这样Spring框架在所有的Bean配置转换为BeanDefinition对象后,就会根据BeanDefinition对象的beanClass属性创建Bean的实例。下面是本书的内容大纲。
2024-05-29 13:00:37
627
原创 Cobbler部署与配置
root@localhost ~]# sed -i ‘s/^manage_dhcp: false/manage_dhcp: true/g’ /etc/cobbler/settings.yaml #修改此处的值为true,表示让cobbler控制dhcp。url --url=http://192.168.129.135/cobbler/ks_mirror/redhat-8.2-x86_64/ #本机ip。//修改cobbler配置文件,让cobbler控制dhcp。
2024-05-29 12:18:25
611
原创 client-go实战之三:Clientset
git仓库地址(https) | https://github.com/zq2599/blog_demos.git | 该项目源码的仓库地址,https协议 || 项目主页 | https://github.com/zq2599/blog_demos | 该项目在GitHub上的主页 |// 如果输入了kubeconfig参数,该参数的值就是kubeconfig文件的绝对路径,// 如果没有输入kubeconfig参数,就用默认路径~/.kube/config。// 实例化clientset对象。
2024-05-29 12:16:40
693
原创 4000字,详解Python操作MySQL数据库
这一行代码很长,里面涉及到好几个参数,这里为大家一一介绍如下:参数 1 :mysql 服务器所在的主机 IP参数 2 :用户名;参数 3 :密码;参数 4 :连接的 mysql 主机的端口,默认是 3306;参数 5 :连接的数据库名;参数 6 :通信采用的编码方式,默认是’gb2312’,要求与数据库创建时指定的编码一致,否则中文会乱码;3. Python增删改查操作。
2024-05-29 11:29:58
768
原创 4 年 Java 经验,阿里网易拼多多面试总结、心得体会
中间件:常用中间件的核心原理与最佳实践,并对其中的 1 到 2 个有深入的学习,Redis、Kafka(RocketMQ、RabbitMQ)、Dubbo、Zookeeper。首先,简单的聊一下我认为的 4 年经验左右、优秀的 Java 程序员应该具备的技能有哪些,按“专业技能”和“项目”两块,包括但不限于以下内容。下面介绍下一些常见的面试内容,其中的面试题不一定是我真实遇到的,有可能是从别人的面试题中收集的,也有可能是我自己觉得重要的知识点,仅供参考。
2024-05-29 11:29:26
563
原创 2020金九银十面试总结,大厂Java面试必会知识点
165.一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 mysql 数据库,又插入了一条数据,此时 id 是几?77.try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?123.在 hibernate 中 getCurrentSession 和 openSession 的区别是什么?118.在 hibernate 中使用 Integer 和 int 做映射有什么区别?75.final、finally、finalize 有什么区别?
2024-05-29 10:37:27
715
原创 2020最新版Java学习路线图--Java语言进阶重点知识
Object类的toString()和equals()方法。HashSet保证元素唯一的源码分析。TreeSet的自然排序和比较器排序。异常处理方式之try…并发修改异常的产生原因和解决办法。方法的重写(Override)日历Calendar类的使用。Throwable的常用方法。package关键字的作用。类、抽象类、接口之间的关系。System类及其常用方法。Arrays类及其常用方法。异常处理方式之throws。import关键字的作用。static关键字的作用。匿名内部类在开发中的应用。
2024-05-29 10:36:57
419
原创 15道常考SpringBoot面试题整理
YAML是一种人类可读的数据序列化语言。它通常用于配置文件。与属性文件相比,如果我们想要在配置文件中添加复杂的属性,YAML文件就更加结构化,而且更少混淆。可以看出YAML具有分层配置数据。
2024-05-29 00:42:11
468
原创 15年大牛用140多个实战案例深入讲解Java微服务架构实战:SpringBoot +SpringCloud +Docker +RabbitMQ
6.Thymeleaf中可以使用判断、循环逻辑进行处理,也可以利用各种内置操作在页面上实现List、Map、Set、字符串等数据处理,还可以使用日期格式化指令进行日期显示格式的处理。2.SpringCloud微服务的负载均衡采用的是服务名称的管理,即同一个服务名称的微服务会自动注册到同一组微服务信息中,Ribbon中可以利用IRule接口子类配置负载均衡策略。2.SpringCloudConfig 服务端可以在一个仓库中实现多个配置文件的抓取,也可以通过应用仓库自动选择实现多个仓库配置文件的抓取。
2024-05-29 00:41:40
738
原创 1000字总结!2024最新分享阿里(Java岗)面经
这两年除了工作以外,也会坚持写博客,也因此结识了很多优秀的小伙伴,从他们身上我学到了特别多东西,把这次面试分享出来,也是希望可以帮助到更多的人。大家在去面试自己中意的公司之前建议大家先去练练手,我首先去了美团和快手,每次都会带上录音笔,这样可以更快的发现自己的错误并改正,校招看重的是。假设现在一个学生类,有学号和姓名,我现在hashcode方法重写的时候,只将学号参与计算,会出现什么情况?什么是检查异常,不受检查异常,运行时异常?在Java中,什么是是栈的起始点,同时也是程序的起始点?OSI有哪七层模型?
2024-05-29 00:21:59
580
原创 09-Sentinel限流熔断应用实践
WarmUp也叫预热,根据codeFactor(默认3)的值,(阀值/codeFactor)为初始阈值,经过预热时长,才到达设置的QPS的阈值,假如单机阈值为100,系统初始化的阈为 100/3 ,即阈值为33,然后过了10秒,阈值才恢复到100。链路模式只记录指定链路入口的流量。关闭(CLOSED):如果接下来的一个请求小于最大RT,说明慢调用已经恢复,结束熔断,状态由探测(HALF_OPEN)变更为关闭(CLOSED),如果接下来的一个请求大于最大RT,说明慢调用未恢复,继续熔断,熔断时长保持一致。
2024-05-29 00:20:55
719
原创 零基础Java学习之多态
编译时,看“父类”,只能调用父类声明的方法,不能调用子类扩展的方法;运行时,看“子类”,一定是执行子类重写的方法体;//错误,catchMouse()是子类扩展的方法,父类中没有。使用不了子类独有的内容,因为名义上是父类类型,就只能调用到父类中存在的,如果子类有重写。接口,是Java语言中一种引用类型,是方法的集合,其内部封装了抽象方法。多态引用,编译时,看“父类”,只能调用父类声明的方法;System.out.println(“吃鱼”);运行时,看“子类”,一定是执行子类重写的方法体;
2024-05-28 22:18:08
350
原创 来来来!告诉你为什么要用Java开发高频交易系统
在编程语言方面,C++ 似乎是服务器端应用程序的天然竞争者:它速度快,与机器码非常接近,而且一旦针对目标平台进行编译,就可以提供恒定的处理时间。但是,我们做了一个不一样的选择。在过去的 14 年里,我们一直在用 Java 开发外汇算法交易系统,并使用了很棒但价格实惠的硬件。由于团队规模小,资源有限,技术能力强的开发人员难找,所以使用 Java 意味着我们可以快速地改进软件功能,因为 Java 生态系统比 C 语言生态系统的发布速度更快。上午讨论功能改进,下午就可以实现、测试并发布到生产环境。
2024-05-28 21:24:30
612
原创 有个码龄 10 年的程序员跟我说:“他编程从来不用鼠标”,我说:
如何成为编程大佬?那当然是编码的时候手不离键盘,疯狂敲击。毕竟每一次右手离开键盘去触碰鼠标,都是一次浪费时间的操作。成为大佬的第一步,熟记键盘快捷键与常用命令。假设你现在有一块下图所示。快捷键核心以 Windows7 操作系统为准,为啥?因为写博客的时候正在用 Windows 7。快捷键只介绍能让你成为开发大佬的,类似 Ctrl+C、Ctrl+V 这种大家熟知的,一概省略,咱们只来干货。程序员必备 Windows 快捷操作大全。
2024-05-28 21:23:59
353
原创 初识 java(简单易懂入门篇)
其实java和c/c++对内存的的操作就像我们平时吃饭,c/c++是可以自己做饭的,而java就需要点外卖,所以你自己做的饭你想怎么弄都可以,操作性更高了,而java就只好买了不管怎么样只能去吃;具体原理我们在下面分析;就拿指针来说,虽然java没有了指针,操作起来更简单,但是也正是没有了指针,程序员就无法像使用c/c++一样直接去操作内存,所以相同情况下,使用指针的效率会更高一些;“Java 是一门简单的,面向对象,分布式,解释性,健壮的,安全的,结构中立的,便捷的,高性能的,多线程的,动态的语言”
2024-05-28 20:30:59
643
原创 初探Linux--鸟哥私房菜读书笔记
Hard Link 和Symbolic Link的区别:Hard Link是对源文件的inode取了一个新的名称,通过源文件或链接文件都可以访问到inode存储的内容,也就是说源文件和链接文件对应的inode是一样的。也就是说源文件和链接文件的iNode是不一样的,并且当文件删除后,再次访问链接文件会报错找不到源文件的。数据的读取指向他 link 的那个文件的文件名!第一组为“文件拥有者可具备的权限”,以“initial-setup-ks.cfg”那个文件为例, 该文件的拥有者可以读写,但不可执。
2024-05-28 20:30:28
858
原创 【088期】面试官问:MySQL 创建索引需要遵循哪些原则?
mysql会一直向右匹配直到遇到范围查询(>、 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。索引的数目不是越多越好。例如,对一个CHAR(100)类型的字段进行全文检索需要的时间肯定要比对CHAR(10)类型的字段需要的时间要多。
2024-05-28 19:42:41
416
原创 【 k8s 概念 + 实践】使用 Service 暴露应用
我们现在有了一个名为 kubernetes-bootcamp 的运行服务。在这里,我们看到服务接收到一个唯一的集群IP、一个内部端口和一个外部IP(节点的IP)。部署自动为我们的 Pod 创建了一个标签。让我们使用这个标签来查询POD列表。我们得到了服务器的响应。
2024-05-28 19:42:10
456
原创 Terraform入门教程,示例展示管理Docker和Kubernetes资源
Terraform在云计算领域还是有自己的一席之地的,值得了解学习。
2024-05-28 18:32:30
1477
原创 phpstorm运行本地PHP服务器,实现小程序可以访问的PHP后台
1,进入设置页,然后找到 Languages&Frameworks下的PHP,安装箭头所示,点击 …来简单解释下,所有的PHP代码必须以
2024-05-28 17:44:58
812
原创 Oracle RAC在RHEL7多路径配置,超实用
如下需要在 blacklist 添加一行 devnode 信息,删除原有的 blacklist。配置multipath,wwid 的值为上面获取的 scsi_id,alias 可自定义,这里配置 3 块 OCR 盘,2块DATA盘,一块 ARCH 盘。3 激活multipath多路径。
2024-05-28 17:44:26
1813
原创 java双向链表
/把rnode想象为指针,dex为指向的下标,这个地方很容易错,因为当指向最后一个节点时没有判断IF就跳出循环了。//如果是空链表的话插入一个节点,这个节点的pre不能指向上一个节点,必须指空。//特殊情况,当移除节点是最后一个节点的时候。//找到所找下标节点的前一个节点。//往链表的某一个标插入一个节点。//找到了插入节点的上一个节点。//较为复杂通过画图来写代码。//比较复杂,通过画图解决。// 往链表末尾加入节点。然后创建了一个链表类。
2024-05-28 16:59:45
436
原创 Java函数式编程:一种令人懵逼的技术,但是真的很好用
Predicate 一个函数式接口,属于java.util.function包,主要用来对输入的对象按照指定的条件进行。我们先来一个简单的例子,有一个Person类,有name和sex字段,如果sex=男,我就输出“男孩”,简单吧!大家不要对这种函数式接口抱有太大的畏惧心理,要我说,如果没有对应的场景,他就只是一堆代码而已,都是纸老虎!其实也是一个匿名函数,它不去关心接口名,方法名,参数名,而是关心参数类型,参数个数,返回值信息。System.out.println(jack.name + “是男的!
2024-05-28 16:59:14
719
原创 1600+的《Java面试核心》,让你金九银十不慌,吊打面试官
Spring Cloud对比下Dubbo,什么场景下该使用Spring Cloud?Dubbo的主要应用场景?Dubbo框架设计—共划分了10个层:Dubbo的服务调用流程?MySQL锁:悲观锁、乐观锁、排它锁、共享锁、表级锁、行级锁。Dubbo 支持哪些协议,每种协议的应用场景,优缺点?Dubbo 集群的负载均衡有哪些策略Dubbo是什么?Dubbo支持哪些协议,每种协议的应用场景,优缺点?Dubbo 和 Spring Cloud 的关系。Dubbo 和 Spring Cloud 的区别。
2024-05-28 16:06:19
1503
原创 15天学习MySQL计划-多表联查(基础篇)第四天_mysql查询张三和李四的工资
子查询返回的结果是单个值(数字,字符串,日期等),最简单的形式,这种子查询成为标量子查询。对于union查询,就是把多次查询的结构合并起来,形成一个新的查询结构集。子查询返回的结果是一行(可以是多列),这种子查询称为行子查询。相当于查询表1(左表)的所有数据包含表1和表2交集部分的数据。子查询返回的结果是一列(可以是多行),这种子查询称为列子查询。常用的操作符:in,not in,any,some,all。自连接查询,可以是内连接查询,也可以是外连接查询。常用的操作符:=,,in,not in。
2024-05-28 16:05:48
261
原创 LeetCode - Medium - 142
查 - 查看是否存在环,有环的得出快慢指针相遇时所处在节点,进行下一步,没环的直接返回。这用到快慢双指针算法,具体内容可查看。走 - 双指针指向头指针,一指针先走n步,然后两指针齐步走,两指针相等的位置,则环的入口点。方法一:《剑指Offer》No.23的解法。//方法一:《剑指Offer》的解法。//方法二:leetcode优秀回答。方法二:LeetCode优秀的回答。量 - 测量环节点个数n。// 计算环有多少节点。// 判断是否存在环。
2024-05-26 21:44:24
504
原创 2024助我拿到9个Offer的成功秘籍?MySQL高级调优笔记 冲就完了
第二部分 : MySQL体系结构,存储引擎及SQL优化。第四部分 : MySQL 常用工具、主从复制及综合案例。第三部分 : MySQL缓存,参数调整及锁。第一部分 : MySQL 常用对象。
2024-05-26 17:17:00
431
原创 Elasticsearch聚合学习之五:排序结果不准的问题分析
对于这份测试数据,这里先给出聚合结果(在生成数据的时候计算出来的),有了这些结果,我们就能和es聚合结果做对比,发现问题所在:分片一,按name聚合后,name相同的文档value字段之和:14 : 22491 //14是name,22491是所有name等于14的文档的value字段之和8 : 216324 : 2150215 : 2123426 : 2073110 : 2030617 : 199429 : 1941825 : 1919116 : 187976 : 18306。
2024-05-26 15:38:37
514
原创 ElasticSearch简介之倒排索引
倒排索引对刚进来的文档进行一个索引的构建,把一份文档中所有出现过的关键字放入一个列表中,这个列表被称为单词辞典也就是对应上图的绿色部分,而相对应的文档则是如右侧的红色节点所示,当然,对应的文档不一定是按照列表显示的,也可以选择其他的数据结构比如 B+ 树之类的,当然文档 1 ,这个节点并不是说就存储了相对应的文档,而是存储了这个文档的唯一标志 id ,通过这个 id 可以快速的定位文档的位置。
2024-05-26 15:38:06
391
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人