自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 为什么不想搞java了,六七年的经验面试几分钟就结束了,现在java面试为何这么难?

小编整理出一篇Java进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。自我介绍,项目经验(这个时候当然要介绍介绍下自己最满意的,有技术亮点的项目或平台,重点介绍下自己负责那部分的技术细节;用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗。

2022-09-22 10:56:29 511

原创 完整版来了!阿里Dubbo框架技术负责人准备的源码教程,很有大厂风格

网上也有很多爱好者撰写的源码分析等文章,虽有所有启发和裨益,但总觉得不够成体系。令人遗憾的是,市面上始终缺乏完整的、体系化的对Dubbo进行深入原理剖析的教程;今天给大家带来一份阿里Dubbo框架技术负责人亲笔的学习教程,这份教程从Dubbo的入门,一直到开发第一款应用程序,再扩展到Dubbo的技术生态,完整且体系的将Dubbo进行一个全面的讲解,

2023-05-18 13:51:46 302

原创 开源7天Github斩获4.5万Stars!阿里2023版高并发设计实录鲨疯了

对于身处互联网公司,后续还能参与到公司一些分布式微服务项目搭建的小伙伴来说,想要获取高并发经验,只需要跟在公司的大佬后面好好学习就行。难搞的恰恰是这类人:一直处于传统行业,接触的技术栈都太过陈旧,简历上也没什么亮眼的项目(LZ很多粉丝就是这类人群)。从现在面试个Java初级基本都会被问到分布式高并发,多线程之类的问题来看,

2023-04-25 18:51:35 220

原创 直冲天际!阿里新产Java性能优化(终极版),涵盖性能优化所有操作

上月公司来了一位大佬,入职不到一周就把公司现有项目的性能优化了一遍,直接给公司节省了一半的成本。一问情况,才知道这位仁兄也是一路被虐过来的。去年年底被裁,本以为自己技术还行,

2023-04-25 16:03:24 193

原创 基于SpringBoot打造灵活稳定的管理系统源码分享(满足业务需求)

此系统旨在为小微企业提供一款可全面参考、开源、满足业务、灵活稳定的ERP管理系统

2022-12-12 15:43:42 350

原创 来自大佬的洗礼!全网独家的SpringBoot核心文档,讲的太清晰了

嘿伙计,你用过 Spring 和 SpringBoot 吗?是不是感觉Spring真是个强大的框架, SpringBoot 又让 Spring 更加牛批了呢?我想这个大家也都这么认为吧!SpringBoot 在当下的 Java 后端开发中已经相当流行,非常多的公司和开发团队都选用 SpringBoot 作为快速构建项目的打底框架,究其原因你我都清楚,它方便简单,而且注解和编程式配置都让我们觉得更加简单、容易理解和维护。

2022-12-09 13:33:59 106

原创 谈谈Java应用发布时CPU抖动的优化

通常情况下应用发布或重启时都存在cpu抖动飙高,甚至打满的现象,这是由于应用启动时,JVM重新进行类加载与对象的初始化,CPU在整个过程中需要进行比平时更多的编译工作。同样,闲鱼的消息系统在重新发布时经常有抖动的问题,如下图显示:日常情况下CPU使用率基本不超过20%,而每当应用重新发布时,服务器的cpu使用率骤增至40%以上。本文正是为了减少这种抖动,进而保障应用发布时的稳定性。

2022-12-08 17:49:20 212

原创 阿里高工珍藏版《亿级并发系统架构设计笔记》面面俱到,无私奉献出来

现在 Java 面试,问的是越来越底层。作为一名合格的 Java 程序员不仅要能“上天”,还要能“入地”!而什么是上天什么是入地呢?

2022-12-03 16:24:24 256

原创 「避坑宝典」为大家分享笔者在22 年所遇到“匪夷所思”的 Bug 趣事

无论这一年我们遇到了什么困难或者是喜事,在此时此刻,个人觉得都应该反思或者回味一下这些事情,对于好事,我们欣慰开心;坏事那我们能做到的就是极力避免它们再次发生,就如同接下来笔者要介绍的整个熟悉而陌生的名称“BUG”,接下来我主要会为大家介绍一下,发生在2022年这一年中的笔者在开发过程中所遇到的“bug”和“坑”。

2022-12-03 15:42:00 66

原创 2023版金三银四Java面试题,只要掌握80%,无脑通关大厂!

今天为大家整理了目前互联网出现率最高的大厂面试题,所谓八股文也就是指文章的八个部分,文体有固定格式:由破题、承题、起讲、入题、起股、中股、后股、束股八部分组成,题目一律出自四书五经中的原文。

2022-12-03 15:27:12 424

原创 翻遍GitHub,这份MySQL全面手册,受喜爱程度不输任何大厂笔记

本书还涉及了熟悉Oracle或其他数据库系统的用户和管理员所需要的基本知识。体验过MySQL的人,对熟悉的主题会找到新的视角,从而更深入洞察MySQL的世界,提高他们现有的知识和经验。在读者使用MySQL时,本书将会是一个颇有价值的资源。

2022-11-26 13:39:08 141

原创 2023版:Java基础知识面试题合集(22460字),建议收藏

什么是Java?Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

2022-11-26 13:30:35 720

原创 作为一名合格JAVA程序员,你得知道架构技术是怎么转变的吧?

很可惜,只有李智慧谈到云,而且只点了一下——“现在越来越多人的网站从建立之初就是搭建在大型网站提供的云计算服务基础之上,所需的一切资源:计算、存储、网络都可以按需购买线性伸缩,不需要自己一点一点地拼凑各种资源,综合使用各种技术方案逐步去完善自己的网站架构”。然而,业务的拆分很难找到一种通用的模式,这是一个企业管理问题和技术问题的混合问题。还是两种都用,我目前不知道。对于“大型网站的设计”,我个人的看法是现在我们的有“云”了,计算是可以买的,只要我们的设计能适应“云”,我是不是就可以一开始就设计大型网站了?

2022-10-09 11:54:52 103

原创 阿里面试官的分享Java面试中需要准备哪些多线程并发的技术要点

其实,很多面试官都清楚,初级程序员对于多线程的掌握度几乎为零。但是面试环节中,很多面试官都会抱着试一试的态度去提问一两道多线程的题目。其目的不是为了难为面试者,也不是为了彰显面试的“高大上”,而是为了区分一般人才与优质人才。最后一点大家谨记:在找工作的时候,除了做些相关面试和准备熟悉以前做的项目之外,还应该学习新的知识。毕竟,每多学一点,成功找到工作的机会就大一点。而且,IT这行,技术发展过于快速,如果没有学习新知识的动力,终究会被淘汰。因为学习实在是很枯燥无味。学习是一个长期投资,短期很难道看到收益。

2022-10-09 11:40:14 106

原创 Java高效开发12个精品库

它实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。比如,给开发者提供了简洁的图形界面,可以轻松地写出可重复测试的代码,允许并发同时执行,还允许开发者创建测试套件 (Test Suite) 来查看、检测整体的测试进度及测试期间发生的副作用等。并提供对多个API的支持,最重要的是,它的工作速度相当惊人。XStream的功能也很多,比如,大多数对象可以被序列化,并提供特定的映射,提供高性能和低内存占用,信息不重复,可自定义的转换策略,安全的框架,异常情况下的详细诊断等等。

2022-10-09 11:18:26 3491

原创 每位Java程序员一定收藏了这套Spring面试题与答案

依赖注入,是IOC的一个方面,是个通常的概念,它有多种解释。通过使用JDBC抽象和DAO模块,保证数据库代码的简洁,并能避免数据库资源错误关闭导致的问题,它在各种不同的数据库的错误信息之上,提供了一个统一的异常访问层。这是基本的Spring模块,提供spring 框架的基础功能,BeanFactory 是 任何以spring为基础的应用的核心。最小的代价和最小的侵入性使松散耦合得以实现。一个Spring Bean 的定义包含容器必知的所有配置元数据,包括如何创建一个bean,它的生命周期详情及它的依赖。

2022-10-09 11:11:18 85

原创 Java系统高并发的解决方案

2019-04-10 20:13·JAVA架构大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面,还没法根本解决大型网站面临的高负载和高并发问题。上面提供的几个解决思路在一定程度上也意味着更大的投入,并且这样的解决思路具备瓶颈,没有很好的扩展性,下面我从低成本、高性能和高扩张性的角度来说说我的一些经验。1、HTML静态化其实大家都知道,效率最高、消耗最小的就是纯静态化的

2022-10-09 11:03:47 499

原创 Java设计模式——命令模式

命令模式很好理解,举个例子,司令员下令让士兵干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个很好理解,命令模式的目的就是达到命令的发出者和执行者之间解耦,实现请求和执行分开,熟悉Struts的同学应该知道,Struts其实就是一种将请求和呈现分离的技术,其中必然涉及命令模式的思想!:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。

2022-10-09 10:51:57 137

原创 Java六道面试分享

今天的主题是关于面试题解答,求职是在每个技术人员的生涯中都要经历多次。对于我们大部分人而言,在进入自己心仪的公司之前少不了准备工作,一方面帮助跳槽季来临之时。不时之需,一方面帮助大家巩固下基础,帮助活到学到老的机会 哈哈、另一方面也希望帮助想要换工作的朋友。所以如果大家觉得这种模式不错的,欢迎大家评论,会坚持下去,每天分享6个面试常问题。天,大家可以把答案在留言处评论哈,坚持的小伙伴,会有惊喜奖励。原创2019-06-20 17:29·6、举例说明同步和异步?

2022-10-09 10:39:51 84

原创 单例模式的常用写法

单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。

2022-10-09 10:26:59 73

原创 阿里Java后台开发是怎么面试的

整个流程从一面到三面结束大约持续了10天左右。总的来说,问题都是预期范围内的,虽然面试过程中问到了一些分布式相关问题,我都没有任何经验,这时候不要放弃,主动说出你的思路,然后在面试官的诱导下,相信你能说出属于的答案。最后,是我总结的一些面试Java后台工程师必须要掌握的知识点。

2022-10-09 10:18:58 114

原创 JVM垃圾回收算法(建议收藏)

在《JVM垃圾回收机制》一文中,我们知道了哪些类是需要清除的,那在java虚拟机中,他有哪些垃圾收集算法呢?

2022-10-09 10:02:56 95

原创 Java安全指南如何处理异常

如果当前线程实例在调用Object类的wait(),wait(long)或wait(long,int)方法或join(),join(long),join(long,int)方法,或者在该实例中调用了Thread.sleep(long)或Thread.sleep(long,int)方法,并且正在阻塞状态中时,则其中断状态将被清除,并将收到InterruptedException。异常是java程序员无法避免的一个话题,我们会有JVM自己的异常也有应用程序的异常,对于不同的异常,我们的处理原则是不是一样的呢?

2022-10-08 11:50:59 113

原创 那就用亿点时间来学学Java基础

在用到hash的地方都会使用hashCode和equals, 例如HashMap. 所以在重写时, 请务必使二者的返回结果保持一致。答案是不行, 3.1中的函数签名不包括返回值, 所以方法名相同/参数相同但返回值不同的方法会被认为是同一方法, 不能进行重载。发生在同一个类中(或者父类和子类之间), 方法名必须相同,参数类型不同/个数不同/顺序不同,方法返回值和访问修饰符可以不同。它赋予了程序在运行过程中分析和使用类概念的能力, 使我们脱离最基本的业务逻辑, 站在更高的维度去处理和思考问题。

2022-10-08 11:40:11 59

原创 面试 Java 高级后端开发,要准备哪些知识点?

2. 如果这个技术,比如Redis,在项目里用到,但你没做,你可以在了解的基础上说出来,比如说:“这个项目还用到了Reids...,redis是用在xx模块上,功能是xxx”,请注意,这里你说是项目用到了,而不是你用到了,这里,如果在后继的回答中,你对redis的用法和技能问题都能回答上,那么面试官不会介意这点,点击。如果某个技术点你没掌握,其实问题不大,面试官本来就没要求你十全十美,但如果你说你用过某个技术,但通过后面的问题,面试官发现你其实没用过,或者掌握程度没像你说得那样好,那么这个性质就不一样了。

2022-10-08 11:22:27 267

原创 为什么高并发需要用消息队列?

当系统中出现“生产“和“消费“的速度或稳定性等因素不一致的时候,就需要消息队列,作为抽象层,弥合双方的差异。容灾,对于普适的消息队列组件来说,节点的动态增删和消息的持久化,都是支持其容灾能力的重要基本特性。当然,这个特性对于游戏服务器中大部分应用中的消息队列来说不是必须的,这个也是跟应用情景有关的,很多时候没有这种持久化的需求。业务无关,一个具有普适性质的消息队列组件不需要考虑上层的业务模型,只做好消息的分发就可以了,上层业务的不同模块反而需要依赖消息队列所定义的规范进行通信。需进行良好的并发控制。

2022-10-08 11:04:49 254

原创 到底什么是重入锁,一次搞清楚!(不要麻烦了)

这个是 JDK @since 1.5 添加的一种颗粒度更小的锁,它完全可以替代 synchronized 关键字来实现它的所有功能,而且 ReentrantLock 锁的灵活度要远远大于 synchronized 关键字。从类结构图看出,ReentrantLock 实现了 Lock 接口,ReentrantLock 只是 Lock 接口的一个实现而已。它们都是 java.util.concurrent 包里面的内容(俗称 JUC、并发包),也都是 JDK 1.5 开始加入的。

2022-10-08 10:22:36 1762 1

原创 历经这么场面试,我发现所有的大厂都会有这么一个bug,并总结其中心得

参加过XXX比赛,获得过XXX奖;在XXX公司实习,工作是XXX,为了完成这个工作,我做了xxx努力,最后取得xxx成果。有时候你可能并没有得出最优解,但是如果你思路清晰,能跟上考官的提示,与面试官展开一个共同探讨的过程,往往比直接得出最优解更能获得考官的芳心。,并且自己还在不断改正,比如说自己性子急、对待效率低下的人,但是我平时和别人聊天的时候会控制自己语速和讲话,慢慢培养自己耐心。对于不会的题目、没有思路的题目,不要直接说一句“这个不会”,而是跟面试官交流,让面试官给点提示,一般面试官都会给提示的。

2022-10-08 09:55:27 127

原创 阿里大神整理的Java核心知识点和面试官常问到的知识点,压压惊

不管怎么样这篇文章还是一定要看的 兄弟们

2022-10-08 09:44:22 95

原创 腾讯一面:内存满了,会发生什么?

在使用 NUMA 架构的服务器,如果系统出现还有一半内存的时候,却发现系统频繁触发「直接内存回收」,导致了影响了系统性能,那么大概率是因为 zone_reclaim_mode 没有设置为 0 ,导致当本地内存不足的时候,只选择回收本地内存的方式,而不去使用其他 Node 的空闲内存。从文件页和匿名页的回收操作来看,文件页的回收操作对系统的影响相比匿名页的回收操作会少一点,因为文件页对于干净页回收是不会发生磁盘 I/O 的,而匿名页的 Swap 换入换出这两个操作都会发生磁盘 I/O。

2022-10-07 13:19:21 67

原创 看完本文,再也不怕问java线程创建的几种方式了

通过继承Thread类或者实现Runnable接口、Callable接口都可以实现多线程,不过实现Runnable接口与实现Callable接口的方式基本相同,只是Callabl接口里定义的方法返回值,可以声明抛出异常而已。Runnable对象仅仅作为Thread对象的target,Runnable实现类里包含的run方法仅仅作为线程的执行体,而实际的线程对象依旧是Thread实例,只是该Thread线程负责执行器target的方法。编写简单,如果需要访问当前线程,则无需使用。

2022-10-07 13:04:19 54

原创 如何理解数组在Java中作为一个类?

两种类型的数组有一个共同的特点,就是在创建的时候必须指定一个长度。其实,这是因为这些数组在创建的时候,会动态地为这些类创建指定数目的成员变量,并且为这些成员变量赋初始值。那么数组就应该属于引用类型了,也就是说每一个数组实例都是一个对象,这些对象同属于一个类。Java中数组的使用方法和C/C++中的比较类似,但是在Java中它的本质是一个Java类,只是这个类比较特殊,所以很容易被一些程序员误解。而且处理引用类型是数组保存的是数据的引用,如果程序员未提供初始值,数组会把这些变量的值初始化为null,比如。

2022-10-07 11:37:09 198

原创 为什么java会默认提供无参构造方法

众所周知,如果一个类中没有为其定义构造方法,那么它会默认提供一个无参构造方法,而你定义了有参构造方法以后,无参构造方法就没了?会发现虚拟机在编译这个Car.java的时候默认给我们加上了无参构造方法。同理,证明当我们定义有参构造方法后,无参构造方法就消失了。确实当我们自定义有参构造方法后,无参构造方法不见了。要是有需要这反面的资料的 完全是可以私信我哈。再次查看Car.class文件。

2022-10-07 11:30:02 431

原创 思维导图学Java虚拟机

本篇文章是对周志明的《深入理解Java虚拟机》的读书笔记,思维导图使用Mindjet MindManager。这次研读《深入理解Java虚拟机》,是为了对Java知识体系有一个更宏观的把握,对JVM有更全面的认识。

2022-10-07 11:02:22 125

原创 2023年Java程序员的学习计划,收藏好了明年一定能用上

再有一点就是制定计划可以增加你的学习时间,怎么说呢,人都是懒惰的,时间又都是挤出来的,如果你没有给自己制定一个计划(或是计划只停留在脑子里想想而已),那很有可能在空闲的时间里就因为小小的惰性去做别的事情了,比如睡觉,看视频之类,如果此时你有计划,在这段空闲时间你就会开始执行它,心中目标明确,把本来懒惰的时间挤出来用来学习,这样就增加了你的学习时间。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

2022-10-07 10:49:30 1013

原创 Java程序员如何备战跳槽季,那么机会肯定是留着有准备的人

切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技术原因(影响自己的发展,偏移自己规划的轨迹),还是钱给少了,不受重视。今天给大家分享下chenssy在这次跳槽中整理的Java面试大纲,其中大部分都是面试过程中的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式。准备不充分的面试,完全是浪费时间,更是对自己的不负责(如果title很高,当我没说)。17、用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗。

2022-10-07 10:01:01 206

原创 Java开发中这些非常好用的工具你知道?用起来简直不要太顺手

最近几年,Java 的技术栈发展的非常快,成百上千的技术工具正不断地涌出来,这也造成了一个问题:我们作为开发者,到底应该选哪些工具搭建出最合适的技术栈呢?今天我就推荐一波我常用的、我了解的工具和框架。

2022-10-07 09:49:04 180

原创 java数组面试题有哪些?常见的java数组面试题(这些你知道?)

Java数组变量是引用数据类型变量,它并不是数组对象本身,只要让数组变量指向有效的数组对象,即可使用该数组变量。对数组执行初始化,并不是对数组变量进行初始化,而是对数组对象进行初始化——也就是为该数组对象分配一块连续的内存空间,这块连续的内存空间就是数组的长度。java数组是Java中一个重要的知识点,在实际应用以及面试过程中,我们都需要用到java数组,因此我们需要掌握java数组知识,那java数组面试题有哪些?当声明数组类型变量时,为其分配了(32位)引用空间,由于未赋值,因此并不指向任何对象;

2022-10-07 09:38:11 578

原创 为什么 MySQL 索引要用 B+tree,用就算了还真就这么快?

当你现在遇到了一条慢 SQL 需要进行优化时,你第一时间能想到的优化手段是什么?大部分人第一反应可能都是添加索引,在大多数情况下面,索引能够将一条 SQL 语句的查询效率提高几个数量级。索引的本质:用于快速查找记录的一种数据结构。索引的常用数据结构二叉树红黑树Hash 表B-tree (B树,并不叫什么B减树)B+tree数据结构图形化B-tree 主要用于文件系统以及部分数据库索引,例如:MongoDB。从查找效率考虑一般要求 B-tree 的阶数 m ≥ 3。

2022-10-07 09:22:41 90

原创 大厂Java岗面试百日冲刺试题分享(这还不把这个offer拿下)

需要注意的是此处的 41 位时间戳并非存储当前时间的时间戳,而是存储时间戳的差值(当前时间戳 - 起始时间戳),这里的起始时间戳一般是ID生成器开始使用的时间戳,由程序来指定,所以41位毫秒时间戳最多可以使用 (1

2022-10-06 16:32:28 164

空空如也

空空如也

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

TA关注的人

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