Java
文章平均质量分 80
程序员小志
在删库跑路的边缘疯狂徘徊
展开
-
【源码解析】用Java手写(Spring、Tomcat、Hashmap、Mybatis、SpringBoot...)框架源码,挑战年薪70W
P1 马士兵亲授:源码阅读的工具、技巧与方法论原创 2021-03-29 22:32:14 · 306 阅读 · 1 评论 -
安利一个IDEA骚操作:一键生成方法的序列图 小白都可以用的装逼小技巧
在平时的学习/工作中,我们会经常面临如下场景:阅读别人的代码 阅读框架源码 阅读自己很久之前写的代码。 千万不要觉得工作就是单纯写代码,实际工作中,你会发现你的大部分时间实际都花在了阅读和理解已有代码上。为了能够更快更清晰地搞清对象之间的调用关系,我经常需要用到序列图。手动画序列图还是很麻烦费时的,不过 IDEA 提供了一个叫做SequenceDiagram的插件帮助我们解决这个问题。通过 SequenceDiagram 这个插件,我们一键可以生成时序图。何为序列图?网上对于序列图.原创 2020-11-07 15:54:04 · 365 阅读 · 0 评论 -
由浅入深吃透容器云+微服务+K8S+MQ+阿里云内部实施手册
针对腾讯、百度、阿里、京东等100+家互联网公司,对其技术方向进行调查和研究从18年开始,各大厂商都陆续把底层业务从KVM、Vmware等底层架构开始逐步迁移到Docker+K8s体系中来,而且80%大中型企业的关键业务中更多的云化将是接下来的重中之重,因为很多企业已经意识到容器以及其他云原生的应用不仅会带来技术模式的改变,甚至带来运营模式和商业模式颠覆性的变化。这个变化将会加速企业的竞争,对企业产生极大的冲击,进而也对企业中的IT人产生极大的冲击。当然,这种冲击也会是极大的机遇。由浅入深.原创 2020-11-07 14:53:02 · 408 阅读 · 0 评论 -
只因学会MySQL优化(性能,索引,orderby,explain)渣本毕业的屌丝把暗恋三年的学霸女神拐回家!
前言今天我们来讲讲如何优化MySQL的性能,主要从索引方面优化。下期文章讲讲MySQL慢查询日志,我们是依据慢查询日志来判断哪条SQL语句有问题,然后再进行优化,敬请期待MySQL慢查询日志篇还在因为MySQL索引被面试官怼的体无完肤?由浅入深,透彻解析MySQL索引机制,MySQL索引优化——分类+储存引擎+实现原理+索引优化建表优化一:全部用到索引介绍建立的复合索引包含了几个字段,查询的时候最好能全部用到,而且严格按照索引顺序,这样查询效率是最高的。(最理想情况,具体情.原创 2020-10-26 20:52:49 · 196 阅读 · 1 评论 -
面试26W+薪资的程序员Java 8 的新特性竟然答不上来???Java 8 有多牛逼?打破一切你对接口的认知!
最近也面试一些 Java 程序员,不乏工作 4、5 年经验的,当我问他一些 Java 8 的新特性时,大多却答不上来。比如下面这道题:栈长:接口里面可以写方法吗?小A:当然可以啊,默认就是抽象方法。栈长:那接口里面可以写实现方法吗?小A:不可以,所有方法必须是抽象的。栈长:你确定吗?小A:确定……小A看起来对我的问题有点怀疑人生,心里肯定估摸着,我不会在给他埋了什么坑吧。然后他还是仔细再想了一下,最后还是斩钉截铁的告诉我:接口里面只能写抽象方法,不能写实现方法。栈长:接口原创 2020-10-15 19:19:12 · 137 阅读 · 0 评论 -
谁说程序员是吃青春饭的?一张图道尽程序员的发展方向
进入一个行业,开始一份工作,不论在最初的时候,你是因为喜欢还是被动接受,或多或少的都会成为你一段时间内为之奋斗的事业。边工作边迷茫也许是大多数人的常态,觉得这份工作不适合自己,可又不知道应该去做什么;喜欢着自己的工作,却又不知道怎么进一步提升,内心难免焦躁。尤其是随着年龄的增长,更希望能够在事业上有所发展。有人说,程序员真的只能吃青春饭,企业在招聘时会在意程序员的年龄,大龄程序员一旦离职找工作就会变得艰难。面对年龄很多程序员都表示束手无策。其实,程序员其实也和其他职业一样,干的越久技术.原创 2020-09-29 13:47:48 · 285 阅读 · 0 评论 -
华为18级工程师三年心血终成趣谈网络协议文档(附大牛讲解)2021年最新学习文档
前言我相信现在的程序员不管是科班出身还是半路出家肯定都学过网络协议 ,最大的感受是不是觉得网络协议的知识点非常多 ,非常复杂。学的时候就浑浑噩噩,真正到了实践中更是糊里糊涂,一旦工作中遇到了网络问题,除了会简单地 ping 几下 ,基本没有什么解决问题的思路。 然而当拿起书来学习,或者看一些官方文档的时候,各种生僻的专业词汇马上扑面而来,每了解其中的一个词汇 ,都要看多 篇文章,读多本书,导致一篇即使很短的有关网络技术的文章也要几个星期才能看完。这严重打击着大家的自信心,并且很容易让人在技术的海洋中原创 2020-09-29 13:45:40 · 637 阅读 · 1 评论 -
微服务架构开发实战:如何实现微服务的自动扩展?
如何实现微服务的自动扩展前面讲了一些关于自动扩展的理论知识,但如何实现自动扩展,并不是三言两语就能够说得清楚的。特别是为了实现前面提到的那些自动扩展的模式及策略,在操作系统级别方面会需要大量的执行脚本。在自动扩展方面,SpringCloud框架也并没有给出确切的答案。随着微服务架构的流行,以Docker等为首的容器技术开始火热发展。Docker 是实现自动扩展非常好的基础,因为它提供了一个统一-的容 器处理方式,而不管微服务所使用的技术如何。它还帮助用户隔离微服务,以避免相邻的服务之间产生资源的竞争原创 2020-09-25 14:50:24 · 1535 阅读 · 0 评论 -
就一句话,让面试官不在问我任何底层知识-HashMap原理评析 “请把666打在公屏上”
摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和T.原创 2020-09-25 14:24:27 · 206 阅读 · 0 评论 -
想要成为高级架构师ma?想精通分布式以及高并发架构ma?那你得先搞定ZooKeeper架构原理!
Zookeeper是分布式一致性问题的工业解决方案,是Apache Hadoop下解决分布式一致性的一个组件,后被分离出来成为Apache的顶级项目。工程来源:是雅虎公司内部项目,据说雅虎内部很多项目都是以动物命名,这个动物管理员的名字起的很是形象。被开源出来后得到开源社区的快速推进,服务端Java语言实现,棒,git有3000+的star:https://github.com/apache/zookeeperzookeeper集群结构集群的角色,比较典型的是Master/Slave原创 2020-09-25 13:30:53 · 190 阅读 · 0 评论 -
很遗憾,没有一篇文章能讲清楚ZooKeeper
作为分布式系统解决方案的 ZooKeeper,被广泛应用于多个分布式场景。例如:数据发布/订阅,负载均衡,命名服务,集群管理等等。因此,ZooKeeper 在分布式系统中扮演着重要的角色,今天通过一个简单的例子来看看它的实现原理。从一个简单的例子开始在分布式系统中经常会遇到这种情况,多个应用读取同一个配置。例如:A,B 两个应用都会读取配置 C 中的内容,一旦 C 中的内容出现变化,会通知 A 和 B。一般的做法是在 A,B 中按照时钟频率询问 C 的变化,或者使用观察者模式来监听 C 的变原创 2020-09-25 13:26:39 · 151 阅读 · 0 评论 -
【Spring系列六】Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC
最近小编整理了一下一线架构师的Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC,分享给大家一起学习一下~注意:有需要免费领取一线架构师的Spring全家桶笔记的朋友,可以私信【spring】免费领取~不要错过哦~01 SpringSpring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,原创 2020-09-24 13:53:38 · 300 阅读 · 0 评论 -
都要2021年了!竟然还有半数以上开发者仍在使用 Java 8
导读:JRebel 发布了 2020 年 Java 技术报告。JRebel 是 Perforce 的 JVM 插件之一,它允许 Java 开发者即时更新代码,并看到这些变化反映在所正开发的应用程序中,而无需重新启动应用服务器。JRebel 的调查收到了全球开发者近 400 条回复。这份调查报告涵盖了开发者工具链的所有部分,包括编程语言、应用架构、应用服务器、运行时平台、框架技术、框架配置、IDE、JRE/JDK 发行版、PaaS 提供商、数据库、部署模式、构建工具和虚拟化工具。Java 语言.原创 2020-09-24 13:46:32 · 1691 阅读 · 0 评论 -
我竟然吊打阿里面试官了!终极致命大招--TCP/IP三次握手四次挥手图解整理!面试闭坑宝典!!!
牛皮了,头一次见有清华大佬把TCP/IP三次握手四次挥手解释的这么明白网络通信TCP/IP/SOCKET高并发,负载均衡,高可用IO分布式、微服务HTTP协议传输控制层网络层负载均衡DR实验手册TCP IP 网络协议 高并发 负载均衡 高清画图 以及配套视频讲解如何获取?转发...原创 2020-09-21 19:47:39 · 141 阅读 · 0 评论 -
就这一次!用23张图详解设计模式,把设计模式给你分析透彻
设计模式可以分为下面三大类:创建型1. Factory Method(工厂方法) 2. Abstract Factory(抽象工厂) 3. Builder(建造者) 4. Prototype(原型) 5. Singleton(单例)结构型6. Adapter Class/Object(适配器) 7. Bridge(桥接) 8. Composite(组合) 9. Decorator(装饰) 10. Facade(外观) 11. Flyweight(享元) 12. Proxy(原创 2020-09-21 13:47:12 · 675 阅读 · 0 评论 -
看阿里大牛如何用一句话总结23种设计模式
前言断断续续写了一段时间的设计模式,下面对这些设计模式总结一下设计模式的分类设计模式一般分为三类:创建型模式、结构型模式、行为型模式。创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。结构型模式:把类或对象结合在一起形成一个更大的结构。行为型模式:类和对象如何交互,及划分责任和算法1 创建型模式创建型模式简单来说就是用来创建对象的。一共有五种:单例模式、建造者模式、工厂方法模式、抽象工厂模式、原型模式。单例模式 :确保某一个类只有一个实例,并且提.原创 2020-09-21 13:41:38 · 190 阅读 · 1 评论 -
来看大牛们是如何全解析45种设计模式与六大原则的(附详解文档)
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。设计模式的类型共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)- 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得.原创 2020-09-18 20:16:57 · 164 阅读 · 0 评论 -
spring系列四:Java面试中常问的Spring方面问题(涵盖七大方向共55道题,含答案)
Spring Framework 现在几乎已成为 Java Web 开发的标配框架。那么,作为 Java 程序员,你对 Spring 的主要技术点又掌握了多少呢?不妨用本文的问题来检测一下。1、一般问题1.1. 不同版本的 Spring Framework 有哪些主要功能?VersionFeatureSpring 2.5发布于 2007 年。这是第一个支持注解的版本。Spring 3.0发布于 2009 年。它完全利用了 Java5 中的改进,并为 JEE6 提供了支持。Sprin...原创 2020-09-18 13:35:56 · 319 阅读 · 0 评论 -
夯实基础:关于Java基础你不得不会的34个问题
目录1. 面向对象和面向过程的区别2. Java 语言有哪些特点3. 关于 JVM JDK 和 JRE 最详细通俗的解答4. Oracle JDK 和 OpenJDK 的对比5. Java和C++的区别6. 什么是 Java 程序的主类 应用程序和小程序的主类有何不同7. Java 应用程序与小程序之间有那些差别8. 字符型常量和字符串常量的区别9. 构造器 Constructor 是否可被 override10. 重载和重写的区别11. Java 面向对象编程三原创 2020-09-18 13:30:57 · 303 阅读 · 0 评论 -
spring系列3:Spring知识点总结!已整理成142页离线文档(源码笔记+思维导图)
写在前面由于Spring家族的东西很多,一次性写完也不太现实。所以这一次先更新Spring【最核心】的知识点:AOP和IOC无论是入门还是面试,理解AOP和IOC都是非常重要的。在面试的时候,我没怎么被问过MyBatis/Hibernate/Struts2这样的框架,而Spring就经常被问到。本次PDF共有【142】页,涉及到的内容有:IOC和AOP的全面讲解 Spring事务详解和相关问题 Spring IOC/AOP相关面试题Spring AOP/IOC源码笔记这份【S原创 2020-09-17 15:07:26 · 385 阅读 · 1 评论 -
太实用了吧!50个大厂、987页大数据、算法项目落地经验教程合集
大数据、算法项目在任何大厂无论是面试还是工作运用都是非常广泛的,我们精选了50个百度、腾讯、阿里等大厂的大数据、算法落地经验甩给大家,千万不要做收藏党哦,空闲时间记得随时看看!如果你没有大厂项目经验,对大厂算法、大数据的项目运用不了解建议你看看!算法大数据基于知识图谱的语义理解技术及应用-百度知识图谱在人工智能应用中的重要价值日益突显。百度构建了超大规模的通用知识图谱,并在搜索、 推荐、智能交互等多项产品中广泛应用。同时,随着文本、语音、视觉等智能技术的不断深入,知识图.原创 2020-09-17 13:58:34 · 926 阅读 · 1 评论 -
坐等膜拜|什么是真正的架构设计?十年Java经验让我总结出了这些,不愧是我
一. 什么是架构和架构本质在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。 此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这个世界的基础,并用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。Linux有架构,MySQL有架构,JVM也有架构,使用Java开发、MySQL存储、跑在Linux上的业务系统也有架构,应该关注哪一个?想要清楚以上问题需要梳理几个有关系又相似的概念:系统与子系统、模块与组建、框架与架构:原创 2020-09-16 16:28:30 · 608 阅读 · 0 评论 -
ZooKeeper的十二连问,靓仔你顶得了嘛?
前言一线大厂ZooKeeper的十二连问,你顶得了嘛?本文已经收录到github❝https://github.com/whx123/JavaHome❞1. 面试官:工作中使用过Zookeeper嘛?你知道它是什么,有什么用途呢?「小菜鸡的我:」有使用过的,使用ZooKeeper作为「dubbo的注册中心」,使用ZooKeeper实现「分布式锁」。 ZooKeeper,它是一个开放源码的「分布式协调服务」,它是一个集群的管理者,它将简单易用的接口提供给用户。 可以基于原创 2020-09-15 17:13:38 · 137 阅读 · 0 评论 -
Java开发必备 Git 分支开发:规范指南及完全学会Git的24堂课笔记
Git 是目前最流行的源代码管理工具。为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作。分支管理分支命名master 分支master 为主分支,也是用于部署生产环境的分支,确保master分支稳定性注 意master 分支一般由develop以及hotfix分支合并,任何时间都不能直接修改代码develop 分支develop 为开发分支,始终保持最新完成以及bug修复后的代码一般开发的新功能时,feature分支都是基于原创 2020-09-15 17:06:01 · 389 阅读 · 0 评论 -
鸿蒙内核标准库与linux标准库的差异,复杂问题简单说
本文描述了 OpenHarmony 内核承载的标准库与 Linux 标准库之间存在的关键差异。进程OpenHarmony 用户态进程优先级只支持静态优先级且用户态可配置的优先级范围为10(最高优先级)-31(最低优先级)。 OpenHarmony 用户态线程优先级只支持静态优先级且用户态可配置的优先级范围为0(最高优先级)-31(最低优先级)。 OpenHarmony 调度策略支持 SCHED_RR 和 SCHED_FIFO。 sched_yield() 为进程主动放弃 CPU;thrd_..原创 2020-09-15 13:52:19 · 1431 阅读 · 0 评论 -
跳槽季将至,Java 开发者必须了解的 15 个Java 顶级开源项目2020-09-11
1.JavaGuideGuide 哥大三开始维护的,目前算是纯 Java 类型项目中 Star 数量最多的项目了。但是,本仓库的价值远远(+N次 )比不上像 Spring Boot、Elasticsearch 等等这样非常非常非常优秀的项目。希望以后我也有能力为这些项目贡献一些有价值的代码。Github 地址:github.com/Snailclimb/… Star: 66.3k 介绍: 【Java 学习+面试指南】 一份涵盖大部分 Java 程序员所需要掌握的核心知识。2.java-desi原创 2020-09-11 13:57:50 · 280 阅读 · 0 评论 -
阿里P8架构师推出的电子版SpringBoot,从构建小系统到架构大系统
前言:Java 的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论是新手还是老手都能快速上手,快速掌握页面渲染、数据库访问等常用技术。也要求开发框架能尽量多地集成第 方工具,以便信手拈来。最后,还希望在开发调试过程中,方便代码更改后能快速重启。 另外一方面,当系统模块增加,用户使用量增加时,面对这样的挑战,系统拆分成为新的架构,程序员和架构师当然不希望换掉己有的开发原创 2020-09-08 20:48:59 · 320 阅读 · 0 评论 -
震惊!GitHub上一眼跪求的阿里P9纯手打亿级高并发秒杀系统手册
说实话,作为一名程序员,我的技术能力也在公司业务的快速增长过程中得到了历练,并积累了一些大流量高并发网站架构设计和优化的经验,尤其是针对“秒杀”这个场景。因为我确信,那个时候我们肯定是对系统做了足够多的极致优化,才能扛住当时洪峰般的流量请求。记得早期的时候,淘宝商品详情系统的PV 还差不多是1亿的样子,但是到2016年差不多已经升至50 亿了。尤其是2012年到2014年那个时间段,“秒杀”活动特别流行,用户的参与热情一浪高过一浪,系统要面对的流量也是成倍增长。而每一次的秒杀活动对技术团队来说都是一原创 2020-09-08 17:04:41 · 507 阅读 · 0 评论 -
三个步骤,一天就搞定了MySQL,让我顺利拿下了天猫offer
前言MySQL近两年一直稳居第二,随时有可能超过Oracle计晋升为第一名,因为MySQL的性能一直在被优化,同时安全机制也是逐渐成熟,更重要的是开源免费的。目前大部分的互联网的首选也仍然是MySQL,所以作为一名开发人员,掌握好MySQL的使用是非常有必要的,那么如何能够达到“精通”MySQL的程度,那就需要耗费不少心思了。那么如何学习MySQL呢?今天就来好好谈谈。下面介绍我学习MySQL的三个步骤,一天就搞定了MySQL,让我顺顺利利拿下了天猫的offer。这三个步骤里,包括了很多文原创 2020-09-08 15:01:55 · 87 阅读 · 0 评论 -
完美!腾讯T5技术官发布Java零基础就业宝典,不用再怀疑人生了
前言近几年来,互联网行业变化非常大,除了龙头企业的更替,“裁员潮”“失业潮”也不断掀起,尤其是对于年纪太大的程序员真的是不太友好。但是,根据数据统计表明,自2018来,学习IT行业的人不减反增,更有不少其他行业的人转学转行。那为什么现在越来越多的人转行了呢?从实际上来看,互联网IT门槛低、薪水多,没有太多的限制,这些因素致使现在的年轻人开始往这个行业内跳。确实,IT行业无需太多人脉、资历,是改变自己未来,逆袭的最佳“捷径”。如今,一线互联网行业对IT人才的需求也越来越大,甚至对于人才的培养给予了原创 2020-09-08 14:35:46 · 153 阅读 · 0 评论 -
经验分享|数据库连接池引起的FullGC问题,看我如何一步步排查、分析、解决
问题现象在某个工作日,突然收到线上的服务告警,有大量的请求延时产生,查看线上服务发现基本上都是获取数据库连接超时,而且影响时间只有3~4秒钟,服务又恢复了正常。隔了几分钟之后,又出现了大量的告警,还是影响3~4秒后又恢复正常。 由于我们是底层服务,被重多的上层服务所依赖,这么频繁的异常波动已经严重影响到了业务使用。开始排查问题排查过程DB的影响?当第一次告警产生时,第一反应是可能上层服务有大量的接口调用,并且涉及到一些复杂的SQL查询导致数据库连接数不够用,但是在分析了接口调用情况后发现异常原创 2020-09-07 19:57:08 · 441 阅读 · 0 评论 -
就这一次!把进程、线程、协程这几个特点给你讲清楚
前言在操作系统课程的学习中,很多人对进程线程有大体的认识,但操作系统教材更偏向于理论叙述,本文会结合 Linux 系统实现分析,更加印象深刻。同时,大部分人都接触进程和线程比较多,对协程知之甚少,然而最近协程并发编程技术火热起来,希望读完本文你对协程也有一个基本的了解。话不多说,我们马上进入本文的学习。进程首先还是说下「程序」的概念,程序是一些保存在磁盘上的指令的有序集合,是静态的。进程是程序执行的过程,包括了动态创建、调度和消亡的整个过程,进程是程序资源管理的最小单位。进程与资源原创 2020-09-04 10:25:56 · 382 阅读 · 0 评论 -
阿里巴巴 Java研发部四面:Redis缓存+中间件+笔试撸码(已拿offer)终极面经,干就完了
阿里团队一面:三分钟简短自我介绍?介绍自己的项目经验和个人的擅长点,面试官主要考察你的表达能力和语言精简能力。第二步:项目中做了什么,难点在哪里? 你是怎么克服难点的?主要是想了解参与过技术难度最大的项目难点,技术难点在哪里,你是怎么来解决的,考察项目经验(技术难度)。聊天结束,技术面试正题:技术面试正题:阿里技术二面:阿里技术三面:三面是笔试,做了将近三小时,主要是考察自己对Java核心的基础!总结出大概就是这几个考点:阿里HR面:聊人生谈理想,原创 2020-09-03 22:29:52 · 202 阅读 · 0 评论 -
好用却容易被忽略的日志工具分享。面对成百上千台服务器产生的日志,试试这款轻量级日志搬运神器
之前我们搭建的ELK日志收集系统,主要是用来收集SpringBoot应用的日志。其原理是应用通过Logstash插件,使用TCP向Logstash传输日志,从而存储到Elasticsearch中去。但是有很多中间件的日志都是直接存储在文件中的,比如Nginx、Elasticsearch和MySQL,此时我们就需要一个搬运工来把日志搬到Elasticsearch中去,Filebeat正是这样一个日志搬运工,本文将详细介绍它的使用方法,希望对大家有所帮助。Filebeat简介Filebeat是一款轻量级原创 2020-09-03 21:22:22 · 220 阅读 · 0 评论 -
4小时开发一个SpringBoot+vue前后端分离博客项目,你学废了吗?
Java后端接口开发1、前言从零开始搭建一个项目骨架,最好选择合适,熟悉的技术,并且在未来易拓展,适合微服务化体系等。所以一般以Springboot作为我们的框架基础,这是离不开的了。然后数据层,我们常用的是Mybatis,易上手,方便维护。但是单表操作比较困难,特别是添加字段或减少字段的时候,比较繁琐,所以这里我推荐使用Mybatis Plus(https://mp.baomidou.com/),为简化开发而生,只需简单配置,即可快速进行 CRUD 操作,从而节省大量时间。作为一个项目骨架原创 2020-09-02 20:10:23 · 1290 阅读 · 0 评论 -
兄弟们!我扒了半天源码,终于找到了Oauth2自定义处理结果的最佳方案
在上篇文章中,我们介绍了Oauth2在微服务中的使用,但是我们没有自定义Oauth2默认的处理结果。有时候我们真的很希望Oauth2中的认证授权能返回我们指定格式的结果,比如登录认证的结果、网关鉴权不通过的结果等等。本文将详细介绍Oauth2中自定义处理结果的方案,希望对大家有所帮助!解决什么问题自定义Oauth2处理结果,主要是为了统一接口返回信息的格式,从下面几个方面着手。自定义Oauth2登录认证成功和失败的返回结果; JWT令牌过期或者签名不正确,网关认证失败的返回结果; 携带过原创 2020-09-02 13:25:47 · 969 阅读 · 0 评论 -
linux系列二:《Linux学习笔记》从常用命令、常用操作到网络管理、性能优化
写在前面Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。操作系统在计算机中承担着“大管家”的角色。它合理分配计算机硬件和软件资源,并处理多种基本事务,比如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等,还原创 2020-08-29 19:02:53 · 161 阅读 · 0 评论 -
三面蚂蚁金服,三面之后本以为石沉大海,没想到却被直接录取
当前环境,很多公司都采取了远程办公,远程面试。有一说一,第一次远程面试,还是比较紧张的。 蚂蚁金服面试(视频一面)Java容器有哪些?哪些是同步容器,哪些是并发容器? 为什么 Java 要采用垃圾回收机制,而不采用 C/C++的显式内存管理? 一个线程的生命周期有哪几种状态?它们之间如何流转的? 什么是活锁、饥饿、无锁、死锁?怎么检测一个线程是否拥有锁? 如何解决同时存在的对象创建和对象回收问题 说说一致性 Hash 原理 新生代分为几个区?使用什么算法进行垃圾回收?为什...原创 2020-08-29 14:08:05 · 656 阅读 · 0 评论 -
五种Redis的数据类型详解——这是我见过最好的Redis实践文档(PDF文档)
本文深入浅出的介绍了Redis的五种数据类型,并通过多个实用示例展示了Redis的用法。除此之外还讲述了Redis的优化方法和扩展方法。一共由三个部分组成,第一部分对Redis进行了介绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作5种数据结构的命令,并详解了如何使用Redis去构建文章聚合网站、cookie、购物车、网页缓存。数据库行缓存等一系列程序。第二部分对Redis命令进行了更详细的介绍,并展示了如何使用Redis去构建更为复杂的辅助工具和应用程序,并在最后展示了如何使用Redi原创 2020-08-28 20:23:35 · 199 阅读 · 0 评论 -
老铁们,墙裂推荐这款网页版 Nginx 配置生成器,好用到爆
最近LZ发现一款好用的网页版开源工具,同样它的功能也是Nginx配置生成器,功能非常强大,方便实用,它是:NginxWebUI。NginxWebUI介绍NginxWebUI是一款方便实用的nginx 网页配置工具,可以使用 WebUI 配置 Nginx 的各项功能,包括端口转发,反向代理,ssl 证书配置,负载均衡等,最终生成「nginx.conf」配置文件并覆盖目标配置文件,完成 nginx 的功能配置。项目地址:https://gitee.com/cym1102/nginxWebUI官原创 2020-08-28 14:36:09 · 180 阅读 · 0 评论