自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《大厂面试》之JVM篇21问与答

jvm将虚拟机分为5大区域,程序计数器、虚拟机栈、本地方法栈、java堆、方法区;程序计数器:线程私有的,是一块很小的内存空间,作为当前线程的行号指示器,用于记录当前虚拟机正在执行的线程指令地址;虚拟机栈:线程私有的,每个方法执行的时候都会创建一个栈帧,用于存储局部变量表、操作数、动态链接和方法返回等信息,当线程请求的栈深度超过了虚拟机允许的最大深度时,就会抛出StackOverFlowError;

2022-08-22 17:49:20 139 1

原创 JVM-CMS垃圾收集器(建议收藏)

今天,继续给大家分享关于JVM的文章,今天给大家带来的是一篇关于JVM CMS垃圾收集器的文章,好了,不多说了,进入今天的正题。

2022-08-22 17:48:23 201

原创 还不会Spring?阿里P8总结100道面试题,让你爆锤面试官

还在机械地打代码?我们很多开发者在开发 Spring 的程序的时候,很多的情况下,都是被动的接受了前辈们为我们做好的 Spring 特性案例。这样以来,确实在很大的程度上减少了我们开发的成本,但是也同时丧失了一个极好的学习机会,从而限制我们开发员的横向扩展能力。只知道如何使用,却不知道做了什么,那么你注定只能是一个码农。Spring 框架几乎集成一半 Javaweb 开发的江山,但是你只知道如何写,不知道为什么要这么写,也不知道要如何优化。

2022-08-20 18:02:51 175

原创 Redis分布式锁实现Redisson 15问

所谓的公平锁就是指线程成功加锁的顺序跟线程来加锁的顺序是一样,实现了先来先成功加锁的特性,所以叫公平锁。就跟排队一样,不插队才叫公平。前面几节讲的RedissonLock的实现是非公平锁,但是里面的一些机制,比如看门狗都是一样的。

2022-08-20 18:01:06 251

原创 「面试小抄」2022年GitHub最热Java面试题技术点,备战金九银十

最近替公司面了几个应聘者,结果给我整抑郁了,9点的面试9点10分才到!!!这还不是最重要的,重要的是穿着一眼就让人看出来没有对这场面试很重视的感觉!!但是小编还是面完了,很多简单的源码问题+项目经验+并发处理等问题上都回答的寥寥草草,现在的年轻人。。。。。我回家以后特意整理的一份最近面试经常我问的面试题和技术点 希望你们金九银十重视面试好吗!!!!!

2022-08-19 18:28:26 117

原创 Java到底还能火多久?

由此可见,Java语言的应用范围之广,用户群体之庞大,这也会促使更多的人去钻研它,Java语言的性能就会越来越稳定,应用范围自然会越来越广。交流学习指导伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。只要有企业数字化需求,只要各种电商平台、社交平台、企业平台等2B、2C的业务不消失,就都需要Java语言来实现。

2022-08-19 18:20:08 187

原创 MySQL 灵魂 16 问,你能撑到第几问?

⛳️ 12 MySQL 数据库 cpu 飙升到 100%的话怎么处理?⛳️ 13 MySQL 主从复制解决了哪些问题?⛳️ 2.mysql 有关权限的表都有哪几个?⛳️ 14 什么是 MySQL 的 GTID?⛳️ 15 MySQL 常用的备份工具有哪些?⛳️ 8. 什么是脏读?⛳️ 6 MySQL 分库分表的目的是?⛳️ 16 MySQL 备份计划如何制定。⛳️ 7. 什么是死锁?⛳️ 1.数据库三大范式是什么?⛳️ 4 索引设计的原则是什么?⛳️ 10 SQL 的生命周期?⛳️ 9 视图有哪些特点?..

2022-08-18 18:18:59 76

原创 阿里 P7 到底是怎样的水平?

虽然阿里 P7 职称叫专家,但估计大家都不会把这个专家二字当真吧,在我心中起码阿里 P9 或者腾讯 T4 这种级别才能真正称得上行业中的专家。所以阿里 P7,其实还不能称之为严格意义的专家,但即使不是真正的专家,那也是相当牛逼了!阿里 P7 是行业的硬通货,也是一般程序员工作 5~10 年后的职业发展分水岭,如果是在阿里工作过几年没有得过低绩效的 P7,起码是技术靠谱、勤奋度高的工程师了,如果情商也 ok 的话,去中小公司做技术经理、架构师都是绰绰有余。最后回到二哥开头给我提的问题,...

2022-08-18 18:15:57 33189

原创 一篇文章让你理解OpenStack网络

你(VM)去问上帝,你总得知道上帝在哪里把?所以在OpenStack上,将上帝的地址,写死了一个特殊的IP:169.254.169.254, 挺好记的。你可以去试一下,如果发现这个IP可以访问,说明你可以证明自己的机子是一台被虚拟出来的VM,而不是一台物理机了。举个例子,VM问:我被生出来后的启动脚本是什么?即问自己的 “userdata信息”这个功能,还是比较有用的,特别是在做VM自动化的时候(ps,可以去查一下一个称作 cloud-init 的东西)。metadata特性应该是来自AWS。...

2022-08-17 18:26:10 286

原创 19种分布式系统设计模式

涉及与 **分布式系统** 相关的常见设计问题的关键模式:**1\. 布隆过滤器**布隆过滤器是一种节省空间的概率数据结构,用于 **测试元素是否是集合的成员** 。它用于我们只需要知道元素是否属于它应该所在的地方(缓存)。...

2022-08-17 18:25:43 501

原创 Java性能优化的7个方向,不看你后悔

同作为程序员,在平常工作中,我们面对的优化方式,主要是通过一系列的技术手段,来完成对既定的优化目标。这7大方向是代码优化的最主要方向,当然,性能优化还包含数据库优化、操作系统优化、架构优化等其他一些内容,这些不是我们的重点,在后面的文章中,我们也只做简要的介绍。在这种情况下,适配器模式是非常重要的。像 Golang 这样的语言,有更加轻量级的协程(Coroutine),协程是一种比线程更加轻量级的存在,但目前在 Java 中还不太成熟,就不做过多介绍了,但本质上,它也是对于多核的应用,使得任务并行执行。..

2022-08-16 19:19:14 153

原创 为了更好的应对金三银四,特地和阿里的朋友整理了最新的笔记。

这份笔记从比较基础一直到架构、大数据等等,内容还是很全面的,同时针对于2022年的最新行情也进行了很多的升级!

2022-08-16 19:11:36 48

原创 普通本科学校,通过这份面试笔记,校招拿下阿里和京东offer

Java面试/学习知识点概览(五面阿里,终获offer)节选(蚂蚁金服实习生面试总结)节选(我和阿里面试官的一次邂逅(上))节选不安于现状,不甘于平庸,就可能在勇于进取的奋斗中奏响人生壮美的乐章。...

2022-08-15 18:52:21 136

原创 炸裂,不愧是“阿里Java性能调优笔记”,十年磨一剑干货满满

为你建立两个标准。一个是性能调优标准,告诉你可以通过哪些参数去衡量系统性能;另一个是调优过程标准,带你了解通过哪些严格的调优策略,我们可以排查性能问题,从而解决问题。如何制定性能调优标准?很多同学在使用一项技术时,只是因为这项技术好用就用了,从来不问自己:为什么这项技术可以提升系统性能?对比其他技术它好在哪儿?实现的原理又是什么呢?事实上,“知其然且知所以然”才是我们积累经验的关键。知道了一项技术背后的实现原理,我们才能在遇到性能问题时,做到触类旁通。...

2022-08-15 18:49:56 105

原创 Spring boot 基于注解方式配置datasource

我们先来回顾下,使用xml配置数据源。

2022-08-13 19:01:37 1438

原创 从火箭发场景来学习Java多线程并发闭锁对象

从火箭发场景来学习Java多线程并发闭锁对象倒计时器场景在我们开发过程中,有时候会使用到倒计时计数器。最简单的是:int size = 5; 执行后,size—这种方式来实现。但是在多线程并发的情况下,这种操作会不安全的。举个现实中最典型的一个例子:火箭发射的案例。...

2022-08-13 18:59:28 85

原创 「面试高频题」难度大 1.5/5,经典「前缀和 + 二分」运用题

我们先预处理出前缀和数组 sum(前缀和数组下标默认从 111 开始),对于每个人 nums[i]nums[i]nums[i] 而言,假设其对应的前缀和值为 s=sum[i+1]s = sum[i + 1]s=sum[i+1],我们将 nums[i]nums[i]nums[i] 视为数组的右端点,问题转换为:在前缀和数组下标 [0,i][0, i][0,i] 范围内找到满足 值小于等于 s−ts - ts−t 的最大下标,充当数组左端点的前一个值。,numsr−1​,numsr​] ,并返回其长度。...

2022-08-12 19:03:42 67

原创 Alibaba永远滴神!阿里顶级技术官500页网络协议手记,限时开源

网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。当然,对于不相容终端,除了需变换字符集字符外还需转换其他特性,如显示格式、行长、行数、屏幕滚动方式等也需作相应的变换。...

2022-08-12 18:59:36 66

原创 Java到底能干什么?实事求是地说一下

这些模块提供了丰富的 API,能够让我们开发出复杂炫酷的界面,比如选项卡、表格、颜色拾取器、树形菜单、3D图形等。但是随着云计算的发展,以及 Web 前端的强大,很多常见功能都可以通过网站来提供了,客户端程序已经不再是各个互联网公司率先考虑的平台,只有那些运算量大、数据量大的软件,才会考虑开发客户端程序。此外,大数据技术是当今最流行的话题,也是未来的发展趋势,开源软件 Hadoop 是大数据处理的热门框架之一,它就使用 Java 语言编写,这使得 Java 在大数据领域也有重要的地位。......

2022-08-10 17:21:31 265

原创 推荐一套yyds的Java学习资料(非常经典)

Java 开发涉及到的技能板块非常繁杂,短期内不可能全部都掌握,为了加快学习进度,尽早达到工作要求,我们需要暂时先舍弃一些过时的技能,或者对这些技能浅尝辄止,等到以后有余力/有需要的话再回来学习。学习资料中包含了一套 100% 原创的 Java 学习路线,它通俗易通、十分详细,并且坚持实用主义,追求前沿技术,不但为初学者规划好了具体的学习步骤,还指明了常见的陷阱和困难。这套学习路线就肩负了这个使命,它将告诉你各种技能的重要程度,以及在不同场景下的适用情况,让你知道如何选择,避免折腾和踩坑。.........

2022-08-10 17:20:06 81

原创 【技术干货】Spring Boot的优点有哪些?

只需访问https://spring.io/projects 页面,我们就会看到可以在我们的应用程序中使用的所有 Spring 项目的不同功能。如果必须启动一个新的 Spring 项目, 我们必须添加构建路径或添加 Maven 依赖关系, 配置应用程序服务器, 添加 spring 配置。因此, 开始一个新的 spring 项目需要很多努力, 因为我们现在必须从头开始做所有事情。因此, Spring Boot 可以帮助我们以最少的工作量, 更加健壮地使用现有的 Spring 功能。4、提供意见发展方法。...

2022-08-09 18:31:55 3064

原创 JAVA面试都有Spring考题,还有必要去考Spring认证(证书)吗?

如果你现在是打算找工作,或者是想为自己的能力进行赋能和增值那就有必要考一个Spring认证(证书)了。据Github统计,中国程序员接近755W,其中47%为Java从业者,接近141W的Java从业者依赖Spring进行。可想而知获得一个Spring认证(证书)的重要性不言而喻了吧?如果你现在已经是高级开发工程师或者是位居相关管理岗位的话,那考不考就看情况了。Spring认证(证书)其次,有证总比没证强,考一个傍身也总没错,万一以后有事情也不用担心。...

2022-08-09 18:30:39 575

原创 剖析面试最常见问题之 Java 集合框架二

1.2.3. 说一说 ArrayList 的扩容机制吧。

2022-08-08 18:47:47 105

原创 剖析面试最常见问题之 Java 集合框架

Java 集合, 也叫作容器,主要是由两大接口派生而来:一个是Collecton接口,主要用于存放单一元素;另一个是Map接口,主要用于存放键值对。对于CollectionList、Set和Queue。Java 集合框架如下图所示:注:图中只列举了主要的继承派生关系,并没有列举所有关系。比方省略了,等抽象类以及其他的一些辅助类,如想深入了解,可自行查看源码。先来看一下Collection接口下面的集合。...

2022-08-08 18:45:38 110

原创 初学Java需要重视的10个知识点

各个大厂对工程师的数据结构和算法要求都挺高,建议可以刷letcode,剑指offer(牛客),pat(牛客),这些算法在面试会经常问到或者出现在笔试。学习Java基础的时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下,你就会发现不是这么回事儿,不信你就试试。在你目前这个阶段,你只需要在网络上了解一下maven基本的使用方法即可,一些高端的用法随着你工作经验的增加,会逐渐接触到的。这部分一般在你学习Servlet/Jsp的时候,就会接触到的,其中的JDBC部分就是数据库相关的部分。...

2022-08-06 18:23:02 455

原创 Java语言对于大数据而言是什么样的存在?

Java的面向对象开发基础可以分为两大部分,其一是Java的语法基础,包括封装、继承、多态、多线程等内容,在学习的过程中要充分理解Java的编程过程,能够形成初步的Java编程思想,其二是Java的模式编程,掌握一些经典的编程模式能够促进初学者快速成长,代码的可用性也会明显提升。提及技术的发展速度是陈词滥调。首先,当前大数据领域的开发岗位确实比较多,近两年有不少大数据方向的研究生也会从事大数据开发岗位,而Java语言则是大数据开发人员的常用工具,所以如果要从事大数据开发岗位,可以重点学习一下Java语言。.

2022-08-06 18:22:32 227

原创 Java:垃圾回收算法

一个思路:B 中也存放(隐式存放,不当作引用)了 A 的位置,当 B 的位置变化,B 可以通知 A 更新 B 的位置。若对象 A 中引用了 B,当对 B 进行挪动时,如何保证 A 保存的 B 的位置仍然是 B?在基于 Compacting 算法 (例如标记 - 整理) 的收集器的实现中,一般增加句柄和句柄表。###4、复制算法比标记整理算法更?###5、标记 - 清除算法中标记的什么?标记存活的对象,删除未被标记的对象。###3、为什么标记 - 整理比标记 - 清除慢?,之后进行整理,多了一个整理的时间。.

2022-08-05 18:56:27 51

原创 Java 算法 - 递归算法思想

有的算法用递归表示要比用循环表示简洁精炼,而且某些问题,特别是与人工智能有关的问题,更适宜用递归方法,如八皇后问题、汉诺塔问题等。有的算法,用递归能实现,而且循环不一定能实现。此处的重点是调用自身,这就要求待求解的问题能够分解为相同问题的一个子问题。使用递归算法,往往可以简化代码编写,提高程序的可读性。间接递归:即间接的调用一个方法,如 func_a 调用 func_b,func_b 又调用 func_a 间接递归用得不多.阶乘就是一个正整数的阶乘是所有小于及等于该数的正整数的积,并且 0 的阶乘为 1。.

2022-08-05 18:55:23 1020

原创 Java 数组算法

比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个,即需要进行 length-1 次。第一次是对 n 个数进行 n-1 次比较,进行到最后第 n 个的一个是最大的;第二次是对 n-1 个数进行 n-2 次比较,进行到最后第 n-1 个的一个是最大的;… 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。......

2022-08-05 18:54:17 207

原创 java 压缩算法

JDK GZIP —— 这是一个压缩比高的慢速算法,压缩后的数据适合长期使用。JDK 中的 java.util.zip.GZIPInputStream/ GZIPOutputStream 便是这个算法的实现。JDK deflate —— 这是 JDK 中的又一个算法(zip 文件用的就是这一算法)。它与 gzip 的不同之处在于,你可以指定算法的压缩级别,这样你可以在压缩时间和输出文件大小上进行平衡。可选的级别有 0(不压缩),以及 1 (快速压缩) 到 9(慢速压缩)。它的实现是 java.util.z

2022-08-05 18:52:44 1774

原创 java 算法

如果 ij 离开循环。令索引 i 从数列左方往右方查找,知道找到小于 base 的数。令索引 j 从数列右方往左方查找,知道找到大于 base 的数。* 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置。* 如果该元素(已排序)大于新元素,将该元素移到下一位置。* 取出下一个元素,在已经排序的元素序列中从后向前扫描。* 从第一个元素开始,该元素可以认为已经被排序。对剩余未排序的元素数组再执行上述两个步骤。通过索引值,将最小元素放到数组的最左边。......

2022-08-05 18:52:23 51

原创 为什么JavaSpring框架似乎是所有复杂问题的解决方案?

3.生产力–Java spring框架通过支持基于约定的编程和AOP(面向方面编程)编程模型,简化了新应用程序的开发,并提供了重用代码的机会。全世界的Java开发人员都接受了JavaSpring框架,因为它使Java应用程序的编程更快、更容易、更安全。特别是,使用框架的Java配置元数据支持的基于注释的编程风格消除了几乎所有的XML配置文件,使大型项目更易于管理。JavaSpring框架通过支持企业Java应用程序的开发,使Java编程更快、更容易、更高效。JavaSpring框架有什么特别之处?...

2022-08-04 19:40:30 77

原创 Java程序员应该知道的5个Spring云注释

由于云是未来,并且基于云的应用程序的采用正在增长,所以Java开发人员要积极探索Spring Cloud,参加Java培训就是一个很好的学习方式,你可以获得专业知识和实战技能,以保持你在竞争对手中的领先地位。这是一个很棒的框架,是流行的Spring框架的扩展,它可以帮助您开发一个云本地Java应用程序。在未来,我们将看到许多Java应用程序部署在云上,如AWS,因此最好学习和掌握Spring Cloud,它可能成为未来开发基于云的Java应用程序的标准框架。...

2022-08-04 19:39:09 60

原创 Java开发:shiro框架常见的英语单词及用处

shiro是apache下的一个为Java开发的安全框架,用于身份验证,授权,密码加密和会话管理,下面就分享shiro框架中常见的英语单词,分享给大家。

2022-08-04 19:38:31 47

原创 30个ElasticSearch 调优知识点,都给你整理好了

Java语言作为编程界的应用最为广泛的语言,成为大家编程的首选。有些人可能只是因为听说Java前景好、Java比较好找工作、Java语言在TIOBE排行榜上一直位于前三等等之类的原因,但是Java具体好在哪里呢?现在的毕业生都想谋得一份工作好,待遇好,有发展前景发岗位。IT行业因其较高的薪资待遇以及发展情景,备受广大学员欢迎。[外链图片转存中…(img-d7mkc3KG-1657188945642)]为什么要学习Java语言Java语言是一个面向对象的编程语言,容易理解。而且略去了多重加载、指针等难以理解的

2022-07-07 18:15:55 188

原创 作为Java初学者,更应该关心哪些问题?

第三:在如今这个IT市场,Java开发工作竞争越来越激烈,如果你是小白转行的,那么建议你找个好的机构培训学习下,不要心疼钱,你要知道有付出才有回报,投资自己什么时候都是对的选择,先找些基础资料自己自学一段时间看看到底适合自己不,不要盲目的学习。第二:如果没有一套系统的学习路线和方案,这看看,那里看看,依旧学了之后还是浪费时间,根据我的学习经历来看,任何人学习任何东西,需要一气呵成,在这段时间内,学习什么就一刻都不能松懈,今天看点视频,明天有事,不看了,这样没啥意义。开发中为什么会用框架,Rest是啥?...

2022-07-06 17:11:50 73

原创 Java开发入门:Java开发的基础知识有哪些?

对于很多零基础却又想加入Java编程语言行业的人而言,迫切想要了解的,莫过于零基础学Java到底要掌握哪些基本知识呢?1.Java基础先从Java的基础教程开始学习,了解Java是什么。在这个时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下,你就会发现不是这么回事。学完以上内容后,你对Java也能有基本的了解,接着你可以尝试着用Java语言写出一些简单的程序。2.Web开发接着,你可以着手往Web开发相关的内容学习,包括HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)

2022-07-06 17:11:17 70

原创 2022年阿里高频Java面试题:分布式+中间件+高并发+算法+数据库

马上就又到了一年一度的金九银十,互联网行业竞争是一年比一年严峻,作为工程师的我们唯有不停地学习,不断的提升自己才能保证自己的核心竞争力从而拿到更好的薪水,进入心仪的企业(阿里、字节、美团、腾讯…)话不多说,上干货!!!助你下次金九银十中大放光彩,更进一步![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zYA0uZaE-1657020652311)(https://upload-images.jianshu.io/upload_images/27964194-e8be0b8cd

2022-07-05 19:31:13 213

原创 面试官问:为什么我们做分布式使用 Redis ?

绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。这里对 Redis 常见问题做一个总结,解决大家的知识盲点。1、为什么使用 Redis在项目中使用 Redis,主要考虑两个角度:性能和并发。如果只是为了分布式锁这些其他功能,还有其他中间件 Zookpeer 等代替,并非一定要使用 Redis。性能:如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的 SQL,就特别适合将运行结果放入缓存。这样

2022-07-04 18:53:46 216 1

原创 面试官问:Redis的热key问题如何发现和解决?

引言其实热key问题说来也很简单,就是瞬间有几十万的请求去访问redis上某个固定的key,从而压垮缓存服务的情情况。其实生活中也是有不少这样的例子。比如XX明星结婚。那么关于XX明星的Key就会瞬间增大,就会出现热数据问题。ps:hot key和big key问题,大家一定要有所了解。本文预计分为如下几个部分热key问题如何发现业内方案正文热Key问题上面提到,所谓热key问题就是,突然有几十万的请求去访问redis上的某个特定key。那么,这样会造成流量过于集中,达到物理网卡上限,从而导致这台redis

2022-07-04 18:53:03 377

空空如也

空空如也

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

TA关注的人

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