自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java架构师笔记

分享互联网最新文章 关注互联网最新发展

  • 博客(115)
  • 收藏
  • 关注

原创 Java架构师笔记丨Java进阶架构学习之旅-巴分巴秒

关于巴分巴秒巴分巴秒学院是一家专门面向中高端技术人才培养的在线教育培训平台,大牛讲师一对一指导+班主任全程在线服务,督促学习+技术社区交流互动,学习之路不孤单.公司旨在于帮助中高端技术人员提高在互联网行业的竞争力。学院内所有课程均由一线大型互联网公司技术大牛精心研发,汇集多年工作积累,让你的职业生涯不再困惑 让你的知识价值最大化。IT行业是21世纪的朝阳产业。成功的开始源自于接受好的教育,...

2019-08-04 21:17:39 2864

原创 2021-07-23

蚂蚁金服Java四次面试,我总结的这些真题,吃透50%知识点offer也能拿到手软很多朋友私下跟我说今年面试太难了,能不能整理一个大厂Java面试合集,这样也不用到处找资料,于是我花了一年的时间陆陆续续完成了整理,这些面试题都是互联网大厂真实流出的面试内容,每个问题都附带完整详细的答案,不像网上的那些资料三教九流有的甚至还没答案,这些面试题我也是经过日积月累才整理出来的精品资料。面试题主要是针对1-5年左右的Java开发程序员提升的,不管是传统行业还是互联网行业,掌握这些技术基本都能拿到一个不错的薪资

2021-07-23 18:30:56 283

原创 Java架构师笔记丨数据结构中B树,B-树和B+树的区别

B树即二叉搜索树:1.所有非叶子结点至多拥有两个儿子(Left和Right);2.所有结点存储一个关键字;3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;如:B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告找...

2019-08-07 20:57:36 890

原创 攻破MySQL性能瓶颈必知的调优技巧-巴分巴秒

一、前言MySQL调优对于很多程序员而言,都是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。今天给大家讲解MySQL的优化实战,助你高薪之路顺畅!图 - MySQL查询过程二、优化的哲学注意:优化有风...

2019-08-05 14:56:48 262

原创 Java架构师笔记丨深入谈谈架构师,以及架构师该掌握的技术-巴分巴秒

架构师是一个充满挑战的职业,知识面的宽窄往往决定着一个架构师的架构能力,所以在这一点上我比较赞成你的学习方式,就是要阅读大量的技术书籍,但我希望你不要仅限于软件相关的书籍,经常泡技术论坛,一方面可以结交朋友,一方面可以增加自己的知识面。公司的大小往往决定了所做的项目规模,一般的大项目不太可能直接总包给小公司去做,但这并不妨碍小公司可以分包到大项目的一部分。在做小项目的同时也可以积累丰富的经验,我...

2019-08-04 14:50:46 257

原创 从架构角度来谈区块链的十年发展历程-巴分巴秒

以比特币为旗帜的区块链技术转眼间已经走过十年了,人们常感慨“十年一代人”,对于现在这个三年就会有代沟的快速发展时代,十年似乎已经很久了。我接触区块链大概一年时间,据说在这个领域三年就是资深或者专家了,可见,这个领域尽管有十年历史,却还差些积累,同样十年左右历程的云计算,目前已经是“铺天盖地”了。虽然有诸多不尽人意,但我依然觉得这是个有趣、有想象力的领域,所以,我把自己通过这一年学习得来的对区块链...

2019-08-04 14:29:40 452

原创 「阿里面试系列」搞懂并发编程,轻松应对80%的面试场景-巴分巴秒

作为一个合格的Java程序员,必须要对并发编程有一个深层次的了解,在很多互联网企业都会重点考察这一块。可能很多工作3年以上的Java程序员对于这一领域几乎没有太多研究。所以在接下来内容中,我会将并发编程整个领域由浅到深做非常全面的分析。内容导航从操作系统的发展了解进程、线程模型线程的优势线程的生命周期线程的应用场景了解进程、线程模型每次学习一个新技术,我会先去了解这个技术的背景,...

2019-08-03 19:39:42 339

原创 Java架构师丨美团员工拒绝了猎头推荐的offer,竟然被报复举报!

不知大家近期找工作都是通过什么渠道?身边很多朋友问我,我一般都建议他们优先找朋友内推,海投被邀请的概率小,找猎头有时候又会碰上一些不靠谱的。近日就有美团员工在网上发帖吐槽,称自己找猎头推简历拿到了offer,后来因为感觉薪资没达到预期所以拒了,于是猎头就给原公司leader打电话说他出去面试了…​​真是千算万算还抵不过小人算计,底下程序员兄弟们纷纷吐槽,这种猎头还不爆等着过年吗?​​​...

2019-08-03 19:33:18 507

原创 阿里 P10、腾讯 T4、华为 18,互联网公司职级、薪资、股权大揭秘-巴分巴秒

BAT、头条、华为们的最新技术职级序列是如何划分的?各个职级的大致薪资范围、股票都是多少?不同职级之间的晋升难度有多大,如何评审?校招、社招程序员想去大厂应该如何准备?本篇文章搜集整理了最新版数据,为你一一解答!写在前面相信很多读者朋友在网上看过不少互联网公司薪资的问题和数据报表,其中很多数据的更新时间都停留在 2 到 3 年前。关注这个问题的人如此之多,但信息却很久没有更新了,有没有可能...

2019-08-03 19:32:07 9365 1

原创 阿里Java架构师谈谈架构和如何成为一个Java架构师-巴分巴秒

架构的定义我们来看看软件架构的一般定义:程序和计算系统软件体系结构是指系统的一个或多个结构。 该结构包括软件的构建,构建的外部可见属性以及它们之间的相互关系。该体系结构不是可操作的软件。 具体来说,这是一个表达式,它使软件工程师能够:分析满足监管要求的设计有效性。在设计更改相对容易的阶段,请考虑架构的可能选项。降低与软件构建相关的风险。软件架构的重要性我为什么说软件...

2019-08-03 17:06:57 240

原创 终于明白为什么要加 final 关键字了!【巴分巴秒】

在开发过程中,由于习惯的原因,我们可能对某种编程语言的一些特性习以为常,特别是只用一种语言作为日常开发的情况。但是当你使用超过一种语言进行开发的时候就会发现,虽然都是高级语言,但是它们之间很多特性都是不太相同的。现象描述在 Java 8 之前,匿名内部类在使用外部成员的时候,会报错并提示 “Cannot refer to a non-final variable arg inside an i...

2019-08-03 17:05:51 185

原创 Java架构面试官一年前淘汰了程序员,一年后新来的同事让他愣了

开启职场生涯的第一步是参加面试。不同的人有着不同的面试体验:有的心酸,有的兴奋。这种难忘的经历不仅停留在候选人的记忆中,一些面试官也会对自己参加的某次面试印象深刻。最近,一位程序员网友就分享了他作为面试官的经历,事情出乎意料的让他愣了。不少围观的网友都觉得有点尴尬。到底是怎么回事呢?原来,这位网友在面试过程中对候选人进行了技术能力的考量,但综合下来觉得技术不行,而且是太菜,就刷掉了。本以为事...

2019-08-03 17:05:23 513

原创 Java架构师笔记-你必须掌握的 21 个 Java 核心技术!(干货)

闲来无事,师长一向不(没)喜(有)欢(钱)凑热闹,倒不如趁着这时候复盘复盘。而写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,希望可以给大家一些经验,能让大家更好学习和使用Java。这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的、和Java中各个框架相关的内容。经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于...

2019-08-03 17:04:58 340

原创 Java 中初始化 List 集合的 6 种方式!

List 是 Java 开发中经常会使用的集合,你们知道有哪些方式可以初始化一个 List 吗?这其中不缺乏一些坑,今天栈长我给大家一一普及一下。1、常规方式这种就是我们平常用的最多最平常的方式了,没什么好说的,后面缺失的泛型类型在 JDK 7 之后就可以不用写具体的类型了,改进后会自动推断类型。2、Arrays 工具类注意,上面的 asList 是 Arrays 的静态方法,这里使用...

2018-12-06 15:57:55 380

原创 Java架构-面试前必须知道的MySQL命令【explain】

刷面试题的时候,不知道你们有没有见过MySQL这两个命令:explain和profile(反正我就见过了)…之前虽然知道这两个命令大概什么意思,但一直没有去做笔记。今天发现自己的TODO LIST有这么两个命令,于是打算来学习一番,记录一下~使用的MySQL的版本为5.6.38一、explain命令1.1体验explain命令首先我们来体验一下explain命令是怎么使用的,以及输出的...

2018-12-06 15:53:24 345 1

原创 Spring Websocket实现文本、图片、声音、文件下载及推送、接收及显示(集群模式)

相关环境 Nginx,Spring5.x当前(要选择4.0+),tomcat8.x,Quartz 2.x集群(实际运用是Quartz的集群模式和单机模式共存的)测试面页:http://sms.reyo.cn/socket.html每20秒随机显示不同类型的广告:文字、图片、声音),效果如下:服务器端代码:发送图片提供了两种方式处理,方便以后调用。客户端接受并显示图片代码:欢...

2018-12-06 15:22:13 2030 1

原创 java用正则方法验证文件名是否合法

Java中用到文件操作时,经常要验证文件名是否合法. 用File类的createNewFile()方法的确很管用.但当要批量验证时,效率上就会有问题.正则匹配的开销比创建文件少了很多. 那么一个合法的文件(Win下)应该符合如下规则:1.文件名不能为空,空在这里有两个意思:文件名(包括扩展名)长度为0或仅由空字符组成(包括\t\b等不可见的转义字符)文件名和扩展名不能同时为空.但实际上我们可...

2018-12-06 15:07:52 4097

原创 Java架构-Mybatis源码正确打开方式

精心挑选要阅读的源码项目;饮水思源——官方文档,先看文档再看源码;下载源码,安装到本地,保证能编译运行;从宏观到微观,从整体到细节;找到入口,抓主放次,梳理核心流程;源码调试,找到核心数据结构和关键类;勤练习,多折腾;整体架构mabatis源码思维导图mybatis三大核心流程:mybatis初始化:进入光标选中的propertiesElement方法内发现...

2018-12-03 17:20:02 281

原创 spring AOP为什么配置了没有效果?

spring Aop的配置一定要配置在springmvc配置文件中注意:spring AOP的配置一定要写在springmvc配置文件中,直接在spring中配置是没有效果的欢迎大家和我一起学习Spring Boot构建微服务云架构,我这边会将近期研发的Spring Boot微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发Spring Boot框架的朋友,大家来一起探讨Spring ...

2018-12-03 16:14:23 685

原创 GIT分支管理规划说明

1. 总览master : 主分支,主要用来生产版本发布。develop:日常开发分支,从主分支开出来的一个分支,该分支正常保存了开发的最新代码。(格式:功能名+版本号, 如planbook.1.1.x)test: 测试分支,会将所有的日常开发分支合并到test分支,进行发布。release:release 分支可以认为是 master分支的未测试版,用于UAT环境的发...

2018-12-03 12:58:51 609

原创 Java架构-不要成为项目风险的奴隶

一个项目经理如果一直在项目中处于救火状态,那他就不是一个好项目经理。我所接触到的项目经理中,大家最常犯的一个错误,就是低估项目难度导致进度不可控制。由此,我今天想和大家讨论的主题,就是项目风险管理了。项目中不可能没有风险,正如理财一样,没有风险就没有收益。低风险低收益,高风险高收益。而我们都知道著名的墨菲定律,既有可能出错的事就一定会出错。项目中也一样,风险如果存在,就代表他一定会发生。项目...

2018-11-30 16:45:00 394

原创 Java架构/一致性Hash算法在数据库分表中的实践

最近有一个项目,其中某个功能单表数据在可预估的未来达到了亿级,初步估算在90亿左右。与同事详细讨论后,决定采用一致性Hash算法来完成数据库的自动扩容和数据迁移。整个程序细节由我同事完成,我只是将其理解并成文,供有相同问题的同行参考。参看此文的兄弟,默认各位已经熟悉一致性hash算法了。此文仅仅阐述代码细节,实现语言为Java。项目背景1.项目是一个实验室项目2.其中有一个表叫做试验表,用...

2018-11-30 15:46:58 2200

原创 Java架构-程序员如何修炼管理思维

一个技术精湛的程序员,只要有机会,就有可能被公司提拔为项目管理人员,掌控项目中的一切。但所谓权力越大责任越大,要想成为一个合格的项目管理人员,我认为最重要的首先是扭转自己的思想。正如老子说的“道为体,术为用。”我们的思维模式改变了,各种管理的方法和工具自然的就会去学习使用了。正所谓“有道者术能长久,无道者术必落空。”所以在本文中,我就要和大家聊一聊管理中的道。聊一聊我们程序员如何修炼管理思维。...

2018-11-30 15:36:52 320

原创 Java架构-面试算法:计算堆栈当前元素的最大值

有一道堆栈相关算法题,我被面试过两次以上,看似其在算法面试中出现的概率很高,由此值得我们好好分析下。题目是这样的:对于堆栈的常用操作有, pop 弹出堆栈顶部的元素;push 向堆栈压入一个元素;peek 获得堆栈顶部的元素值,但不弹出堆栈。现在要去你增加一个操作max, 它的作用是返回堆栈当前所有元素中值最大的那个,例如堆栈当前元素有:stack: 5,4,2,3那么max() 返回的值就...

2018-11-30 15:26:48 320

原创 搞定计算机网络面试,看这篇就够了(补充版)

昨天写了一篇自己搭建redis集群并在自己项目中使用的文章,今天早上看别人写的面经发现redis在面试中还是比较常问的(笔主主Java方向)。所以查阅官方文档以及他人造好的轮子,总结了一些redis面试和学习中你必须掌握的问题。事无巨细,不可能囊括到所有内容,尽量把比较常见的写出来。什么是Redis?Redis 是一个使用 C 语言写成的,开源的 key-value 数据库。。和Memcac...

2018-11-30 15:18:01 352

原创 【性能优化的秘密】Hadoop如何将TB级大文件的上传性能优化上百倍?

一、写在前面上一篇文章,我们聊了一下Hadoop中的NameNode里的edits log写机制。主要分析了edits log写入磁盘和网络的时候,是如何通过分段加锁以及双缓冲的机制,大幅度提升了多线程并发写edits log的吞吐量,从而支持高并发的访问。如果没看那篇文章的朋友,可以回看一下:《大规模集群下Hadoop NameNode如何承载高并发访问》。这篇文章,我们来看看,Hado...

2018-11-29 20:02:09 1279

原创 Java架构-拜托,面试请不要再问我Redis分布式锁的实现原理

一、写在前面现在面试,一般都会聊聊分布式系统这块的东西。通常面试官都会从服务框架(Spring Cloud、Dubbo)聊起,一路聊到分布式事务、分布式锁、ZooKeeper等知识。所以咱们这篇文章就来聊聊分布式锁这块知识,具体的来看看Redis分布式锁的实现原理。说实话,如果在公司里落地生产环境用分布式锁的时候,一定是会用开源类库的,比如Redis分布式锁,一般就是用Redisson框架就...

2018-11-29 19:53:55 3493 1

原创 Java架构-每秒上千订单场景下的分布式锁高并发优化实践!

“上一篇文章我们聊了聊Redisson这个开源框架对Redis分布式锁的实现原理,如果有不了解的兄弟可以看一下:《拜托,面试请不要再问我Redis分布式锁实现原理》。今天就给大家聊一个有意思的话题:每秒上千订单场景下,如何对分布式锁的并发能力进行优化?背景引入首先,我们一起来看看这个问题的背景?前段时间有个朋友在外面面试,然后有一天找我聊说:有一个国内不错的电商公司,面试官给他出了一个场景...

2018-11-29 19:42:20 2205 1

原创 Java架构-亿级流量系统架构之如何支撑百亿级数据的存储与计算

“本文聊一下笔者几年前所带的团队负责的多个项目中的其中一个,用这个项目来聊聊一个亿级流量系统架构演进的过程。一、背景引入首先简单介绍一下项目背景,公司对合作商家提供一个付费级产品,这个商业产品背后涉及到数百人的研发团队协作开发,包括各种业务系统来提供很多强大的业务功能,同时在整个平台中包含了一个至关重要的核心数据产品,这个数据产品的定位是全方位支持用户的业务经营和快速决策。这篇文章就聊聊...

2018-11-29 19:28:38 1405 1

原创 Java架构/如何判断一个元素在亿级数据中是否存在?

前言最近有朋友问我这么一个面试题目:现在有一个非常庞大的数据,假设全是 int 类型。现在我给你一个数,你需要告诉我它是否存在其中(尽量高效)。需求其实很清晰,只是要判断一个数据是否存在即可。但这里有一个比较重要的前提:非常庞大的数据。常规实现先不考虑这个条件,我们脑海中出现的第一种方案是什么?我想大多数想到的都是用 HashMap 来存放数据,因为它的写入查询的效率都比较高。写...

2018-11-29 16:48:14 962

原创 Spring Boot快速入门必须知识总集

SpringBoot是什么?springboot是spring家族中微型框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。Spring Boot可以轻松创建独立的,生产级的基于Spring的应用程序,您可以“运行”。特征:创建独立的Spring应用程序直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)提供自以为是的“入门”依赖项以简化构建配置...

2018-11-29 15:59:38 275

原创 Spring Boot前后端分离Instant时间戳自定义解析

在SpringBoot项目中,前后端规定传递时间使用时间戳(精度ms).以上为简略实体类定义.在实际使用过程中,发现Incident中的createdTime以及recoveryTime数值不对.排查故障,前端去除时间戳后三位(即ms数),则时间基本吻合.因此,可以确定是SpringBoot在转换Instant时使用Second进行转换.因此对于Instant类型的转换添加自定义解析...

2018-11-29 15:51:50 979

原创 Spring全家桶系列–SpringBoot之入门JPA

Spring全家桶系列–SpringBoot之入门JPA什么是JPA?一种规范,并非ORM框架,也就是ORM上统一的规范用了之后可以做什么,为什么要用?代码解释:实体类dao层测试类上面的操作已经完成了一个查询全部,相信不用在做多余的解释了JPA优点:主要就是简单易用,集成方便,可以不用写SQL语句准备工作这里的环境JDK 1.8 以上IDEA 2018.2...

2018-11-29 15:01:52 176

原创 Java架构-JVM垃圾回收机制

一、简介Java GC(Garbage Collection,垃圾回收)机制,是Java与C++/C的主要区别之一在C++/C语言中,程序员必须小心谨慎地处理每一项内存分配,且内存使用完后必须手工释放曾经占用的内存空间。当内存释放不够完全时,即存在分配但永不释放的内存块,就会引起内存泄漏,严重时甚至导致程序瘫痪。Java 语言的一大特点就是可以进行自动垃圾回收处理,而无需开发人员过于关注系统...

2018-11-29 14:50:08 175

原创 Spring Bean的生命周期

欢迎大家和我一起学习Spring Boot构建微服务云架构,我这边会将近期研发的Spring Boot微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发Spring Boot框架的朋友,大家来一起探讨Spring Boot架构的搭建过程及如何运用于企业项目。我本人邀约各大BATJ架构大牛共创Spring Boot构建微服务架构的交流社区。 (群号:364677697)欢迎各路架构...

2018-11-29 14:32:39 187

原创 使用SpringBoot+Dubbo 搭建一个简单的分布式服务,超详细,新手都能看懂 !

使用 SpringBoot+Dubbo 搭建一个简单分布式服务实战之前,先来看几个重要的概念开始实战之前,我们先来简单的了解一下这样几个概念:Dubbo、RPC、分布式、由于本文的目的是带大家使用SpringBoot+Dubbo 搭建一个简单的分布式服务,所以这些概念我只会简单给大家普及一下,不会做深入探究。什么是分布式?分布式或者说 SOA 分布式重要的就是面向服务,说简单的分布式就是我...

2018-11-28 20:13:43 534

原创 Java架构-Java开发中的一些小技巧

一、 Java获取URL地址中传递的参数二、获取请求的URL地址三、获取请求的IP地址四:判断字符串是否能够转换成指定格式的日期希望此文能帮到大家的同时,也听听大家的观点。欢迎留言讨论,加关注,分享你的高见!持续更新!我本人邀约各大BATJ架构大牛共创Java高级架构交流社区群,(群号:673043639)致力于免费提供Java架构行业交流平台,通过这个平台让大家相互学习成长,提...

2018-11-28 19:48:19 212

原创 Spring Boot 工程集成全局唯一ID生成器 Vesta

Vesta 是一款通用的 ID产生器,互联网俗称统一发号器,其具有几大很具有优势的特性:全局唯一粗略有序可反解可制造分布式而且支持三种发布模式:嵌入式发布模式中心服务器发布模式REST 发布模式根据业务的性能需求,它可以产生 最大峰值型 和 最小粒度型 两种类型的 ID,它的实现架构使其具有高性能,高可用和可伸缩等互联网产品需要的质量属性,是一款通...

2018-11-28 17:04:37 419

原创 分布式事务中间件 TCC-Transaction 源码分析 —— Dubbo 支持

1. 概述本文分享 Dubbo 支持。TCC-Transaction 通过 Dubbo 隐式传参的功能,避免自己对业务代码的入侵。可能有同学不太理解为什么说 TCC-Transaction 对业务代码有一定的入侵性,一起来看个代码例子:代码来自 tcc-transaction-http-sample 。声明远程调用时,增加了参数 TransactionContext。当然你也可以通过自己...

2018-11-28 16:26:23 262

原创 Spring Boot WebFlux 入门案例

为什么要使用WebFlux1.WebFlux异步编程,拥有更好的性能2.WebFlux完全基于java8开发,在编写代码时可以更加简洁明了例如(官网图):以前的风格WebFlux风格WebFlux入门案例WebFlux主要基于Reacotr,下面代码一段入门demo,分别使用Mono和Flux代码示例:测试代码:测试结果:WebFlux Mono...

2018-11-28 16:21:33 421

空空如也

空空如也

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

TA关注的人

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