spring
Java架构师联盟
这个作者很懒,什么都没留下…
展开
-
年轻人的第一个MyBatis项目就要这样来学习,不走弯路
之前在我自己的公众号:Java架构师联盟发布了一篇mybatis-plus的文章之后,有小粉丝跟我说,现在刚开始学习Java,是不是可以不用学mybatis了直接学这个啊,听得我心里一阵后怕,总感觉自己带偏了他们的想法其实我个人觉得,这不仅仅是他这种初学者,也是很多人的错误想法,就是觉得新的技术就是好的,不信?看这个,这也是一个初学者,在写代码的过程中遇到这样一个问题原因,我直接上聊天记录吧怎么样,这个问题简单吗?但是也凸显了一个问题,学习,尤其是开发这一行,真的不能激进,所以我借着今天的这个引子原创 2020-11-14 20:29:30 · 135 阅读 · 0 评论 -
面试官最常用小心思:说说你的项目并发量多大?负载均衡怎么做?
在开始今天的文章之前,先抛一个面试题出来:你接触过的单机最大并发数是多少?你认为当前正常配置的服务器物理机最大并发数可以到多少?说说你的理解和分析。如果你能很好地在心里总结一下答案,那您可以好好地享受您的周末了,就不占用您太多时间了如果你稍微的有点迷茫,不知道怎么回答,那占用您几分钟的时间看一下下面的内容,因为这个问题可扩展性挺大哦理想情况理想情况下,并发量简单来说就是看源IP和源Port数量,针对单机来说,可能这个数值真的不大,但是如果你真的这么想了的话,那你可能要回炉重造了或者你没接触原创 2020-11-14 11:58:52 · 8284 阅读 · 0 评论 -
linux下定位多线程内存越界问题实践总结
最近定位了在一个多线程服务器程序(OceanBase MergeServer)中,一个线程非法篡改另一个线程的内存而导致程序core掉的问题。定位这个问题历经曲折,尝试了各种内存调试的办法。往往感觉就要柳暗花明了,却发现又进入了另一个死胡同。最后,使用强大的mprotect+backtrace+libsigsegv等工具成功定位了问题。整个定位过程遇到的问题和解决办法对于多线程内存越界问题都很典型,简单总结一下和大家分享。现象core是在系统集成测试过程中发现的。服务器程序MergeServer有一个5原创 2020-11-13 16:41:39 · 266 阅读 · 1 评论 -
58个基础案例+2个综合案例带你探索微服务的神秘世界
微服务之Spring Boot这份文档整合的是SpringBoot相关的当下最新的知识点和两个项目实战!(后边会有SpringCloud与Docker整合的文档)这份文档针对Spring Boot 2.0及以上版本,讲解了时下流行的RESTful、Redis、 RabbitMQ等,对比讲解多种同类技术,如,Spring Security和Shiro、Elasticsearch和Solr、 JPA和Mybatis。用“知识点+实例”形式编写:58个基础案例+2个综合案例第1章进入Spring Boot世原创 2020-11-13 15:11:11 · 192 阅读 · 0 评论 -
开源GitHub标星30K的腾讯Redis笔记,阿里技术专家看到都赞不绝口
前言Redis的火爆程度,相信不用我多说,现在大型的互联网公司基本上都需要使用到Redis技术。Redis作为目前最火爆的内存数据库之一,通过在内存中读写数据,很大程度上提高了读写速度,可以说Redis 是实现网站高并发不可或缺的一部分。但是,对于Redis的使用,相信还是有很多人不知道如何使用,也有不少中小型企业还没有使用到Redis,但是现在的大厂要求,对Redis的使用是需要熟练并掌握的,因此,学习Redis刻不容缓。好消息是,今天公开了一份宝藏的技术笔记,由腾讯技术专家整理出来的Redis技术原创 2020-11-13 14:18:52 · 250 阅读 · 0 评论 -
Java批量导入去除重复数据并返回结果,我差点就被放倒了
概述本篇是 POI系列 的最后一篇。传送门 Java 开发中如何用 POI 优雅的导出 Excel 文件, Java 开发中如何用 POI 优雅的导入 Excel 文件.场景分析大多数开发中是不需要重复的数据的, 所以后端开发中需要做去重操作, 而且为了更加友好的交互, 我们需要将导入失败的数据返回给用户。一般数据重复有以下几个场景:Excel 中本身存在重复数据, 即本次导入存在重复数据;数据库中已经存在了该条数据, 即历史导入存在重复数据;为了减轻数据库的压力, 这里在设计中引入缓存 .原创 2020-11-12 19:48:18 · 1394 阅读 · 1 评论 -
当Nginx遇上Tomcat集群,又是一场负载均衡的爱恨情仇
前言想必大家对于Nginx和Tomcat都非常熟悉了,Nginx的应用非常广泛,不仅是对web静态资源非常友好,而且也是非常实用的反向代理和负载均衡软件。结合后端Tomcat的服务,从而搭建Nginx+Tomcat集群。对于直接想要实践的朋友而言可以获取本文的链接中的软件包后直接看第三备份的内容。一、集群搭建结构及拓扑1.1集群架构图示Nginx+Tomcat集群的结构示意图如下:1.2系统环境与地址规划使用三台Centos7服务器(7.4),规划如下:服务器网卡模式IP地址NginxNA原创 2020-11-12 17:14:22 · 144 阅读 · 0 评论 -
Linux一切皆文件,如果你没做到这一步,那这就是句话而已
前言相信当你接触Linux的时候,身边的人就向你灌输一个概念,或者说你就总是听到一句话:Linux系统中一切皆文件Linux下“一切皆文件”是Unix/Linux的基本哲学之一。不信,看下面这张图普通文件、目录、字符设备、块设备和网络设备(套接字)等在Unix/Linux都被当做文件来对待。虽然他们的类型不同,但是linux系统为它们提供了一套统一的操作接口。Linux的一切皆文件是指,Linux世界中的所有、任意、一切东西都可以通过文件的方式访问、管理。反过来说,是Linux和GNU世界定的规原创 2020-11-12 15:41:44 · 880 阅读 · 0 评论 -
为什么我就面试阿里P6,好不容易过2面,3面来个架构师来吊打我?
前言人人都有大厂梦,对于程序员来说,BAT为首的一线互联网公司肯定是自己的心仪对象,毕竟能到这些大厂工作,不仅薪资高待遇好,而且能力技术都能够得到提升,最关键的是还能够给自己镀上一层金,让人瞻仰。同样的,我自己的个人目标也是阿里,但之前一直在一家小公司,一呆就是好几年,现在通过不断学习和实践,提升了自己很多,也有了信心来阿里挑战。下面,就是我这次面试阿里P6的一些经历和心得。阿里P6岗面试经历这次阿里的面试经历实在太紧张+刺激+尴尬了,面试前还自信满满,面试后被吊打得怀疑人生。整个流程是四面,前两原创 2020-11-11 17:23:08 · 419 阅读 · 0 评论 -
什么?美团T9首发内部JVM高级特性笔记,看完差距不止一点
在虚拟机层面隐藏了底层技术的复杂性以及机器与操作系统的差异性。运行程序的物理机千差万别,而Java虚拟机则在千差万别的物理机上面建立了统-的运行平台,实现了在任意一台Java虚拟机上编译的程序,都能在任何其他Java虚拟机上正常运行。这一极大的优势使得Java应用的开发比传统C/C+ +应用的开发更高效快捷,程序员可以把主要精力放在具体业务逻辑,而不是放在保障物理硬件的兼容性上。通常情况下,一个程序员只要了解了必要的Java类库API、Java语法,学习适当的第三方开发框架,就已经基本满足日常开发的需要了。原创 2020-11-11 11:01:07 · 355 阅读 · 0 评论 -
你敢信?面试天猫,我只花了一天得时间复习MySQL,成功拿offer
前言MySQL近两年一直稳居第二,随时有可能超过Oracle计晋升为第一名,因为MySQL的性能一直在被优化,同时安全机制也是逐渐成熟,更重要的是开源免费的。目前大部分的互联网的首选也仍然是MySQL,所以作为一名开发人员,掌握好MySQL的使用是非常有必要的,那么如何能够达到“精通”MySQL的程度,那就需要耗费不少心思了。那么如何学习MySQL呢?今天就来好好谈谈。下面介绍我学习MySQL的三个步骤,一天就搞定了MySQL,让我顺顺利利拿下了天猫的offer。这三个步骤里,包括了很多文档资料,原创 2020-11-10 16:21:21 · 122 阅读 · 0 评论 -
不吹不擂,10年架构师公开分享SQL工作笔记,5字真言总结到位
开头我先说:有人就有江湖,有江湖就有IT系统,有IT系统就有数据库,有数据库就有SQL,SQL应用可一字概括:““广”。加之其简单易学,SQL实现也可一字概括:“乐”。然而,SQL虽然实现简单可乐,却极易引发性能问题,那时广大SQL使用人员可要“愁”就一个字,心碎无数次了。缘何有性能问题?原因也可以用一字一个也可以用一字概括:“量”。当系统数据量、并发访问量上去后,不良SQL就会拖垮整个系统,我们甚至找不出哪些SQL影响了系统。即便找到也不知如何动手优化。此时的心情也可以用一字概括:“懵”。现在本原创 2020-11-10 15:18:21 · 139 阅读 · 0 评论 -
要不是提前看了这些东西,阿里发来视频面试我怎么可能拿下offer
前言关于疫情:进入主题之前,开篇先闲谈几句,这次的面试来得意外,主要也是因为疫情的缘故,所以心里上是没有准备的,这次肺炎对我们的学习、工作和生活都造成了非常大的影响,很多学校延期开学,企业也延期返工,实际上在闭关的这段时间里,我们正好可以好好利用这段时间,为自己之后想要做得事情充分做好准备,也希望肺炎赶快过去,我们的生活恢复正常。个人背景:关于个人呢,我是一个普通的双非本科生,在校成绩不错,各方面的表现自我感觉也比较突出,今年大四即将毕业,对自己进入大厂工作是很有信心的,我的方向是Java,也知道现原创 2020-11-10 14:10:01 · 180 阅读 · 0 评论 -
为什么都在说Java并发编程原理,因为这是月薪30k得基础
关注公众号:Java架构师联盟,每日更新技术好文一、线程安全性在线程安全性中,最核心的概念是正确性,而正确性的含义是:某个类的行为与其规范完全一致。这里的规范可以粗略理解为在各种限定条件下,类对象的结果与预期一致。在单线程中,正确性可以近似的定义为“所见即所知(we know it when we see it)”。在大概明确了“安全性”的概念后,我们可以认为线程安全性就是:当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么这个类就可以认为是线程安全的。当多个线程访问某个类时,不管运原创 2020-11-09 23:49:46 · 97 阅读 · 0 评论 -
终于啃完了Java核心原理+框架“面试圣经”成功五面上岸美团
当你踏上程序员这条“不归路”的时候,相信你已经经历过面试的洗礼并且已经得到了他的认可,在面试之前你是否和其他面试者一样,提前做了大量的准备工作,而面试官通常只会在短短两小时内对你的知识结构进行全面了解,如果你在回答问题时不能直击问题的本质,那就很难充分表现自己,最终会影响面试官对你的评分,那offer。。。你明白的。而如何在回答面试官问题的时候能够“一针见血”的效果就显得尤为重要,那就要求你在日常的工作中,除了埋头苦干之外,有一些可能接触不到或者不在意的知识点,可能就是你面试的时候**成功的关键,**针对原创 2020-11-09 19:53:07 · 139 阅读 · 0 评论 -
每周一看:16份文档资料,程序员软硬实力全概览,总有一个适合你
技术分享程序员,没有硬实力怎么可以,这是一切都基础,首要条件,所以在工作之余,我会把一些比较好玩的,或者身边的朋友问的相应的问题,我会通过源码的形式展示出来,但是因为个人能力有限,也不知道该写啥,所以可能有些只是会比较简单,适应人群也比较杂乱,后面我会根据自己的时间情况进行整理,感谢大家的支持Spring Cloud Alibaba从入门到实践一网打尽查漏补缺:166个最常用的Linux命令,哪些你还不知道?饱受毕设摧残计算机系师兄,怒而分享纯净版SSM框架(附源码)...原创 2020-11-09 15:19:40 · 2600 阅读 · 9 评论 -
你说你是专业程序员,那你了解DSL吗?程序员进阶必备专业知识
前言先看下面这段代码:input =~ /d{ 3} -d{ 3}-d{4}/你是不是会嘲笑一句,不就是个正则表达式匹配,也许你还知道它匹配的是什么。正则表达式常常由于过于费解而遭受指责,但试想一下,如果你所能够使用的都是普通的正则控制代码,这段模式匹配会变成什么样子。而这段代码跟正则表达式相比,又是何等容易理解,容易修改?这就是**DSL(Domain-Specific Language,领域特定语言)**想想前面的那段正则表达式,为什么我要在这里给大家说DSL这个东西,因为他的两大优势1、D原创 2020-11-09 13:07:36 · 456 阅读 · 0 评论 -
阿里云技术负责人首推:kafka从源码到实战一手掌握
2011年年初,美国领英公司(LinkedIn)开源了一款基础架构软件,以奥地利作家弗兰兹·卡夫卡(Franz Kafka)的名字命名,之后LinkedIn将其贡献给Apache基金会,随后该软件于2012年10月成功完成孵化并顺利晋升为Apache顶级项目——这便是大名鼎鼎的ApacheKafka。历经7年发展,2017年11月,Apache Kafka正式演进到1.0时代,本书就是基于1.0.0版本来展开介绍Kafka的设计原理与实战的。在大数据时代飞速发展的当下,Kafka凭借着其高吞吐低延迟、高压原创 2020-11-08 19:40:18 · 195 阅读 · 0 评论 -
新手入坑指南:工作原因“重启”Deepin系统,发现真的香啊
作为一个“程序员大神”,没有几个自己的虚拟机怎么可以,今天正好在家需要完成一些“工作”任务,其实就是不知道为什么,脑瓜子有点抽筋的老大发起的什么知识交流,正愁不知道准备啥呢。想起来之前在我的虚拟机里面搭建过唯一的一个Linux桌面版系统——Deepin,搭建了咱就别落灰,启动起来用一下,顺便玩玩个人公众号:Java架构师联盟,每日更新技术好文下面是我给的配置首先当然是安装了,因为是用的虚拟机,正常的Linux系统安装步骤,这里也就不一一展示了(因为之前已经安装过了呀,嘿嘿嘿,..原创 2020-11-08 19:26:32 · 367 阅读 · 1 评论 -
查漏补缺:166个最常用的Linux命令,哪些你还不知道?
作为一个程序员,恐怕从你刚踏入工作岗位之后,服务器这个东西就和你形影不离,这也就导致你从此就开始和Linux相依为伴。linux命令是对Linux系统进行管理得命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。ps:吹个牛逼,有的朋友会跟我说,图形化界面用着多舒服啊,和windows一样多方便,但是我从开始接触Linux就一直只是用命令行操作,说实话,抛开mini版本和DVD版本对pc端内存占用情况不说,单纯原创 2020-11-07 13:42:45 · 315 阅读 · 0 评论 -
Spring Cloud Alibaba从入门到实践一网打尽
什么是Spring Cloud Alibaba这里我们不讲解Spring Cloud 和 Spring Cloud Alibaba 的关系,大家自己查看下官网就明白了!!Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。这是官网的一句话,主要分析这句话我们可以看出来Spring Cloud Alibaba 是一种分布式的解决方案,原创 2020-11-06 23:23:44 · 387 阅读 · 0 评论 -
应用层软件开发教父教你如何重构,资深程序员必备专业技能
前言先来看一个小故事从前,有位咨询顾问造访客户调研其开发项目。系统核心是继承体系,顾问看了开发人员所写的一些代码。他发现整个体系相当凌乱,上层超类对于系统的运作做了一些假设,下层子类实现这些假设。但是这些假设并不适合所有子类,导致覆写(override)工作非常繁重。只要在超类做点修改,就可以减少许多覆写工作。在另一些地方,超类的某些意图并未被良好理解,因此其中某些行为在子类内重复出现。还有一些地方,好几个子类做相同的事情,其实可以把它们搬到继承体系的上层去做。这位顾问于是建议项目经理看看这些代原创 2020-11-06 17:24:30 · 289 阅读 · 0 评论 -
“软件教父”花费20年,教你如何在应用层混迹的风生水起
0这个光头有木有感觉很慈祥,他叫Martin Fowler,他是谁?为什么在一个程序员的博客中会有这么一个人,就因为她是光头吗?可是如果说我告诉你他很少谈论操作系统,数据库,网络这些底层的东西,也很少听他谈什么高并发,海量用户, 他也没有开发过什么知名软件,但是却被奉为软件开发的“教父”。你怎么想!!!但是这确实一个事实如果按照程序员的思维,把软件分层他其实生活在最上层:这一层挤着很多程序员,因为越往下层,路越难走。必须得能耐得住寂寞,经得起诱惑,对某个领域有着极为精..转载 2020-11-06 13:44:37 · 208 阅读 · 1 评论 -
github标星70K的ssm开源框架,CV一下帮你提升工作效率,还不收藏
前言zheng项目不仅仅是一个开发架构,而是努力打造一套从 前端模板 - 基础框架 - 分布式架构 - 开源项目 - 持续集成 - 自动化部署 - 系统监测 - 无缝升级 的全方位J2EE企业级开发解决方案。项目介绍基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:内容管理、支付中心、用户管理(包括第三方)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。原创 2020-11-05 21:33:55 · 653 阅读 · 1 评论 -
恋爱哪有学习香:JVM组成+内存管理+垃圾回收+调优与性能优化大礼包来了
1991年4月,由James Gosling主导的团队创造了Oak语言,java的前身,1995年5月23号,Oak语言更名Java,并且提出那句注明的:”write Once,Run Anywhere”的口号.1996年1月23日,JDK1.0发布.当时正好赶上浏览器快速崛起,发展的浪潮,大家发现java一处编译到处使用的特性和浏览器很契合,同一个页面不可能每一个操作系统我都写一遍.用现在的话说java正好站在这个风口上.导致它飞速发展才有了今天的江湖地位.公众号L:Java架构师联盟,后台回原创 2020-11-05 17:20:07 · 167 阅读 · 1 评论 -
阿里对Java候选人的面试考察重点,面P7必问(收藏备用)
双十一最后一周倒计时开始,今年 虽然阿里调整了双十一的活动,将活动时间战线拉长,但是依旧难以阻挡购物大军的侵袭,比方说最近在网上火了的前台小姐姐视频心疼小姐姐的同时也心疼我自己一波,看看身边加班到已经疯魔的同事们,哎,革命尚未成功同志仍需努力其实不仅是双十一,近些年高并发高可用逐渐成为各互联网公司的常态。在现在动辄过千万级的并发流量环境下,毫不夸张地说,如果懂得并发压测、性能瓶颈诊断、优化方案、架构演进,你将同时收获高薪、话语权、成就感和不可替代性。我们就以双十一领头人阿里为例,这样的大.原创 2020-11-05 14:51:12 · 237 阅读 · 1 评论 -
这应该是本年度最全Java开发技术学习手册,国内外大厂工程师联合推荐
最近花了很长的时间去搜罗Java核心技术好文,我把每个Java核心技术的优选文章都整理成了一个又一个的文档。昨天也是终于全部整理好了,今天就把这些东西分享给老铁们,也能为老铁们省去不少麻烦,想学什么技能了,遇到哪方面的问题了 直接打开文档学一学就好了。不多bb了,直接上干货!所有技术好文精选文档都整理到网盘了。文中对应技术点有完整的架构书籍整理部分学习书籍一、Redis技术好文精选整理(共19篇)Redis+Tomcat+Nginx集群实现Session共享 Redis .原创 2020-11-04 20:56:56 · 330 阅读 · 0 评论 -
阿里P8全网首发,分享SpringCloud项目实战学习文档
不知道从什么时候开始,在各大技术社区,微服务这个话题就被提上了日常,首页推荐的都会是微服务相关的开发问题,我们在日常的开发过程中,公司的架构也逐渐往微服务方向发展。而在这么多的微服务关系中,Spring Cloud有依赖自己的独有特性被追捧。使用 Spring Cloud 技术可以轻松在企业架构中落地微服务架构,并且 Spring Cloud 各组件都被设计为可插拔,企业可以根据业务在实施微服务架构时组合使用。Spring Cloud 是 Spring 的重量级产品。其本身并不是一个框架,而是一系列原创 2020-11-04 14:29:42 · 254 阅读 · 0 评论 -
耗时3个月,整理2020最全字节跳动、腾讯后台开发面经分享
互联网大厂,阿里、字节、腾讯、美团算的上是国产互联网巨头之最,无数的程序员都想进入这样的公司工作或者镀金,但是同样的,互联网巨头就有互联网巨头的骄傲,怎么可能让你简简单单的进入,对吧,就像高考一样,都想进清华北大,但是不是所有人都能进去,不过刷题也是造就了一批人的梦想,同样的,面试之前有前辈的经验,也会让你的面试事半功倍,下面我就字节和腾讯两家公司在面试的过程中遇到的相关问题进行整理,大家可以当作参考1. 字节跳动头条技术面共三面,之后是HR面,面试形式是 视频。时间均控制在1个小时。1.1 第原创 2020-11-03 23:47:56 · 603 阅读 · 1 评论 -
115道Java经典面试题(面中率高、全)
Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性。面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。下面的章节我们会逐个分析这些特性。关注我的个人公众号:Java架构师联盟,后台回复Java,即可获取面试学习资料封装封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修.原创 2020-11-03 16:42:10 · 365 阅读 · 0 评论 -
突然就懵了!面试官问我:线程池中多余的线程是如何回收的?
最近阅读了JDK线程池ThreadPoolExecutor的源码,对线程池执行任务的流程有了大体了解,实际上这个流程也十分通俗易懂,就不再赘述了,别人写的比我好多了。不过,我倒是对线程池是如何回收工作线程比较感兴趣,所以简单分析了一下,加深对线程池的理解吧。下面以JDK1.8为例进行分析1. runWorker(Worker w)工作线程启动后,就进入runWorker(Worker w)方法。里面是一个while循环,循环判断任务是否为空,若不为空,执行任务;若取不到任务,或发生.原创 2020-10-31 16:56:39 · 298 阅读 · 1 评论 -
Security如何优雅的增加OAuth2协议授权模式
一、什么是OAuth2协议?OAuth 2.0 是一个关于授权的开放的网络协议,是目前最流行的授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。由于授权的场景众多,OAuth 2.0 协议定义了获取令牌的四种授权方式,分别是: 授权码模式:授权码模式(authorization code)是功能最完整、流程最严密的授权模式。它的特点就是通过客户端的后台服务器,与"服务提供商"的认证服务..原创 2020-09-02 15:34:20 · 437 阅读 · 0 评论