• avatar 牛客471801123号 2021-04-08 03:48:44

    字节的面试题到底有多难?大厂为何都注重算法?我们该如何应对?

    文章的开头大家先来看一看一道字节的算法题,看是否能做出来:   给定一个单链表的头节点 head,实现一个调整单链表的函数,使得每K个节点之间为一组进行逆序,并且从链表的尾部开始组起,头部剩余节点数量不够一组的不需要逆序。(不能使用队列或者栈作为辅助) 大家有没有一脸懵逼的感觉?(我

  • avatar 牛客471801123号 2021-04-08 03:49:14

    API 面试四连杀:接口如何设计?安全如何保证?签名如何实现?防重如何实现?

    说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃取)?除了https的协议之外,能不能加上通用的一套算法以及规范来保证传输的安全性呢? 下面我们就来讨论下常用的一些API设计的安全方法,可能不一定是最好的,有更牛逼的实现方式,但是这篇是我自己

  • avatar 牛客471801123号 2021-04-08 03:49:35

    5年开发3年架构,结果update写错了!你敢信?

    最近好几次有开发同学在钉钉上问我,比如下图: 问题归纳起来就是: 在MySQL里面update一条记录,语法都正确的,但记录并没有被更新... 刚遇到这个问题的时候,我拿到这条语句直接在测试库里面执行了一把,发现确实有问题,但和开发描述的还是有区别 ,这里我用测试数据来模拟下: 有问题的S

  • avatar 牛客471801123号 2021-04-08 03:49:59

    太牛了!百度开源超轻量中英文OCR模型大小只有8.6M!

    光学字符识别(OCR)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。 前几个月,猿妹曾和大家分享过一个热门的中文OCR项目———chineseocr_lite。这两天猿妹才知道,百度也开源了一款超轻量级中文O

  • avatar 牛客471801123号 2021-04-08 03:50:21

    跪了!将技术应用于业务、理论应用于实践搭建高可用高并发系统

    前言 大家都知道,在我们的技术生涯中,总是要不断针对新的需求去设计研发新的系统,但是系统设计是一个不断迭代的过程,在迭代中发现问题并修复问题,即满足需求的系统是不断迭代优化出来的,这是一个持续的过程,我个人不相信完美架构银弹。不过,如果一开始就有好的基础系统设计,未来可以更容易达到一个比较满意的目

  • avatar 牛客471801123号 2021-04-08 03:50:52

    不能错过的美团分布式ID生成器(Leaf ),好用的一批

    美团(Leaf) Leaf是美团推出的一个分布式ID生成服务,名字取自德国哲学家、数学家莱布尼茨的一句话:“There are no two identical leaves in the world.”(“世界上没有两片相同的树叶”),取个名字都这么有寓意,美团程序员牛掰啊! Leaf的优势:

  • avatar 牛客471801123号 2021-04-08 03:51:15

    教你几招快速创建MySQL千万级数据,学习上百种优化技巧

    如果你打算好好学习一下 MySQL,性能优化肯定是绕不过去一个问题。当你撸起袖子准备开始的时候,突然发现一个问题摆在眼前,本地数据库中没那么大的数据量啊,几条数据优化个毛线啊。生产库里数据多,但谁敢直接在生产环境动手啊,想被提前优化吗?   要知道,程序员从不轻言放弃,没有数据我们就自己创造

  • avatar 牛客471801123号 2021-04-08 03:51:39

    HTTP缓存策略、HTTP队头阻塞、HTTP2.0的概念你真的了解吗?

    HTTP缓存策略 http协议是什么? HTTP协议(超文本传输协议),简单来说就是一种网络传输协议, 浏览器请求服务器获取内容就是基于http协议或者https协议。 使得计算机可以在浏览器和服务器之间传输文字、图片、二进制、音频、视频等资源。 既然http负责传输资源,那么缓存是必不可少的

  • avatar 牛客471801123号 2021-04-08 03:51:59

    敲代码不要再CV了,这才是SQL优化的正确姿势

    本文转至Java中文社群-老王 年少不知优化苦,遇坑方知优化难。——村口王大爷 全文内容预览:   当然,本篇也是关于性能优化的,那性能优化就应该一把梭子吗?还是要符合一些规范和原则呢?   所以,在开始之前(MySQL 优化),咱们先来聊***能优化的一些原则。 性能优化原则

  • avatar 牛客471801123号 2021-04-08 03:52:22

    微服务到底是不是金科玉律?基于Spring Cloud如何构建分布式系统?

    分布式系统的概念 随着互联网的不断发展,大数据、高并发和快响应是互联网系统的必然要求。但是在大数据和高并发的情况下,要求快响应是比较苛刻的,因为大量的数据会导致查找数据的时间变长,高并发会使互联网系统因繁忙而变慢,进而影响响应速度。所以说单机系统已经不可能满足现在互联网了,为了满足互联网的苛

  • avatar 牛客471801123号 2021-04-08 03:52:53

    从业务出发,来谈谈策略模式,清爽的飞起~太香了

    转至Java知音 在讲策略模式之前,我们先看一个日常生活中的小例子: 现实生活中我们到商场买东西的时候,卖场往往根据不同的客户制定不同的报价策略,比如针对新客户不打折扣,针对老客户打9折,针对VIP客户打8折... 现在我们要做一个报价管理的模块,简要点就是要针对不同的客户,提供不同的折扣报价

  • avatar 牛客471801123号 2021-04-08 03:53:14

    都2020年了,这些6到起飞的idea插件你还没用过?

    工欲善其事,必先利其器。 今天为大家分享的这些idea插件都是自己在开发实战中一直使用的一些插件,真的是溜到起飞,非常的好用。 1、Alibaba Java Coding Guidelines 作为一名开发人员,《阿里巴巴开发手册》我们基本人手必备,自觉遵循《阿里巴巴开发手册》的开发规约,是我

  • avatar 牛客471801123号 2021-04-08 03:53:35

    Github上星标55.9k的微服务神仙笔记你确定不来了解一下?

    微服务 微服务,是著名的00 ( 面向对象,Object Oriented) 专家Martin Fowler 提出来的,它是用来描述将软件应用程序设计为独立部署的服务的一种特殊方式。最近两年,微服务在各大技术会议、文章、书籍上出现的频率已经让人们意识到它对于软件领域所带来的影响力。

  • avatar 牛客471801123号 2021-04-08 03:54:02

    如何准备一场技术面试

    面试技巧 其实,这上面两篇文章中,我已经介绍了一些关于面试的技巧,比如说,你要多关注常用组件的原理,多了解项目中的核心监控指标等等。但当你遇到一个心仪的职位的时候,仅仅做这些准备肯定是远远不够的。那么,对不同级别的候选人来说,面试官会分别关注什么呢?准备技术面试时,你需要重点准备哪些呢?在带你了解

  • avatar 牛客471801123号 2021-04-08 03:54:23

    面向金九银十:当面试官问到项目经历究竟该如何应对?

    现在面试介绍过往的项目经历是面试过程中一个很重要的组成部分,相信你在以往的面试中也一定深有体会。从项目经历中,面试官不仅可以了解到项目研发的整体过程,也能够从中了解到你的技术方案设计思路,排查线上问题的能力,以及对于项目架构演进方向的把握。那么,在介绍自己的项目经历时,你要如何介绍才能抓住面试官内心

  • avatar 牛客471801123号 2021-04-08 03:54:44

    Java面试技巧:介绍项目整体不错却倒在组件?

    经历过面试的你一定知道, 社招岗位的面试里一定会包含项目经历介绍的。面试官会问及一些特定场景下实现方案的设计,还会问你一些基础知识和基本算法。而在考察基础知识时,你一定被面试官追问过,某某组件的实现原理是什么。 那么,对于仅仅使用组件的开发人员来说,了解组件的实现原理真的很重要吗?这会不会是面试官

  • avatar 牛客471801123号 2021-04-08 03:55:06

    真心被Spring框架折服!Spring全家桶知识点全梳理

    大家先看一下Spring全家桶思维导图,这上面的技术不知道各位大佬们是不是都用过。   简单说一下这些技术吧 Spring Framework 它就是我们常说的Spring框架,它是一个软件设计架构层面的框架,为基于Java的企业级应用程序提供了一套标准流程和配置模型,可部署

  • avatar 牛客471801123号 2021-04-08 03:55:35

    啥操作?阿里专家12张图就让女朋友搞懂了GC全过程?

    转至架构师进阶之路 最近有些读者反应:看了很多网上关于JVM的文章,但是大部分文章不够通俗易懂,看不太明白。希望笔者能写几篇关于JVM的文章,刚好我也有这方面的打算。从本文开始推出JVM系列原创文章! GC-垃圾回收,是Java程序员常聊的话题,理解JVM垃圾回收的原理和过程,不但有助于写出高质

  • avatar 牛客471801123号 2021-04-08 03:55:58

    大厂面试HashMap,一定要注意这个点,很多人栽在了这儿

    Hashmap是Java中最常用的集合类型,使用非常广泛。不过,有些细节问题很多人没有关注过,这也使很多人在面试时栽了跟头!比如,阿里很多团队为了考察候选人的基础,就出了这么一个面试题:为什么HashMap的初始长度和扩容长度是2的N次幂? HashMap的数据结构 先了解一下HashMap

  • avatar 牛客471801123号 2021-04-08 03:56:21

    微服务就应该这么搞,万字长文细谈微服务经历!

    微服务越来越火。很多互联网公司,甚至一些传统行业的系统都采用了微服务架构。体会到微服务带来好处的同时,很多公司也明显感受到微服务化带来的一系列让人头疼的问题。本文是笔者对自己多年微服务化经历的总结。如果你正准备做微服务转型,或者在微服务化过程中遇到了困难。此文很可能会帮到你! 写在前面  

  • avatar 牛客471801123号 2021-04-08 03:56:49

    跪了!基于Netty构建高可用分布式系统:文档+源码+落地项目

    Netty作为一个异步事件驱动的网络应用程序框架,可用于快速开发可维护的高性能协议服务器和客户端。它入门门槛相对较高,是因为这方面的资料较少,并不是因为它有多难,大家其实都可以像搞透Spring一样搞透Netty,各位看官请往下看。 Netty特点: 设计优雅 使用方便 高性能 安全

  • avatar 牛客471801123号 2021-04-08 03:57:18

    双非学历,试水阿里,50连问险胜拿Offer

    在网上看到一份挺有代表性的阿里面经,跟大家分享一下~ 前言 在接触Java之前我接触的比较多的是硬件方面,用的比较多的语言就是C和C++。到了大三我才正式选择Java方向,到目前为止使用Java到现在大概有一年多的时间,所以Java算不上很好。刚开始投递的时候,实习刚辞职,也没准备笔试面试,很多

  • avatar 牛客471801123号 2021-04-08 03:57:54

    数据迁移还需要停机?不停机上线的正确姿势你能get到吗?

    互联网系统,经常会有数据迁移的需求。系统从机房迁移到云平台,从一个云平台迁移到另一个云平台,系统重构后表结构发生了变化,分库分表,更换数据库选型等等,很多场景都需要迁移数据。 在互联网行业,很多系统的访问量很高,即便在凌晨两三点也有一定的访问量。由于系统数据迁移,导致服务暂停几分钟,是很难被业务方

  • avatar 牛客471801123号 2021-04-08 03:58:36

    天然支持云原生?SpringCloud Alibaba8大技术让你肆意玩转微服务

    SpringCloud Alibaba是什么 它致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托Spring Cloud Alibaba,您只需要添加一些注解和少量配置

  • avatar 牛客471801123号 2021-04-08 03:59:01

    问一下:单核CPU, 1G内存,能不能做JVM调优?

    转至架构师进阶之路 最近,技术群里有人问了一个有趣的技术话题:单核CPU, 1G内存的超低配机器,怎么做JVM调优? 这实际上是两个问题。单核CPU的超低配机器,怎么充分利用CPU?单核CPU, 1G内存的超低配机器,怎么做JVM调优?   怎么充分利用CPU? 这个问题不能一概而

  • avatar 牛客471801123号 2021-04-08 03:59:27

    一次线上JVM Young GC调优完美成功经验分享

    先说一下基本情况,本次是对线上商品服务的JVM优化。商品服务的访问量非常高,单机QPS在3000左右,线上总共部署了15个商品服务节点。JVM堆内存大小是8G,其中给新生代分配了2G,老年代垃圾回收器采用CMS,新生代垃圾回收器是ParNew。 优化前的状况 首先我们使用 jstat 查看了

  • avatar 牛客471801123号 2021-04-08 03:59:48

    华为二面险胜:我意识到懂网络方面知识的重要性

    前言 不知道大家有没有这种感觉,大学时学习计算机网络基础的时候,看到各种网络协议与硬件功能实现原理就头疼。但这些底层原理又是需要知道的,虽然网络协议这块好像属于网络工程师的范畴,但其实对Java程序员来说其实也是一个基础盘,比如Netty网络框架这块要手写一个RPC框架就会意识到知道TCP/IP协

  • avatar 牛客471801123号 2021-04-08 04:00:13

    单核CPU, 1G内存,究竟能不能做JVM调优?

    转至架构师进阶之路 最近,技术群里有人问了一个有趣的技术话题:单核CPU, 1G内存的超低配机器,怎么做JVM调优? 这实际上是两个问题。单核CPU的超低配机器,怎么充分利用CPU?单核CPU, 1G内存的超低配机器,怎么做JVM调优? 怎么充分利用CPU?   这个问题不能一概而

  • avatar 牛客471801123号 2021-04-08 04:00:37

    线程池的execute方法和submit方法区别在哪?

    文章内容很聚焦,但干货十足。不注意的话你可能会落入陷阱。 concurrent包里的ExecutorService,是一个接口,继承的是Executor,而Executor里只有一个方法。 public interface Executor { void execute(Runnable

  • avatar 牛客471801123号 2021-04-08 04:00:58

    跪了!Alibaba内部优质Springboot笔记:两大项目实战+源码解析

    前言 近年来,Spring Boot 是整个Java社区中最有影响力的项目之一,它的设计初衷是解决Spring各版本配置工作过于繁重,目前已经逐渐替代传统SSM架构。但SSM和Spring Boot并不冲突。Spring Boot更简单、更自动化,减少了传统SSM开发的配置。程序员在用Spring

  • avatar 牛客471801123号 2021-04-08 04:01:24

    Mysql——深入浅出InnoDB底层原理

      存储引擎 很多文章都是直接开始介绍有哪些存储引擎,并没有去介绍存储引擎本身。那么究竟什么是存储引擎?不知道大家有没有想过,MySQL是如何存储我们丢进去的数据的? 其实存储引擎也很简单,我认为就是一种存储解决方案,实现了新增数据、更新数据和建立索引等等功能。 有哪些已有的存储引擎可以让我

  • avatar 牛客471801123号 2021-04-08 04:01:45

    一次简单的Go反射实战经历分享

    反射是所有面向对象语言的一个重点,它为开发者提供了灵活的操作可能。利用反射可以获取不同对象/结构体的信息,制定不同的策略,实现复杂的操作。 go与java的反射操作思维大有不同,学习的时候也遇到过一些困难,记录下来加深印象。 任务:读取Excel文件,根据传入的结构体生成对应的对象。

  • avatar 牛客471801123号 2021-04-08 04:02:07

    还在不停压榨Tomcat?Tomcat上百种调优方式你都知道吗?

    Tomcat是什么 Tomcat是全世界最著名的基于Java语言的轻量级应用服务器,是一款完全开源免费的Servlet容器实现。同时,它支持HTML、JS等静态资源的处理,因此又可以作为轻量级Web服务器使用。 套话就不多说了,有好东西就是要分享出来,下面我会展示出一份Tomcat架构

  • avatar 牛客471801123号 2021-04-08 04:02:35

    什么是微服务?如何建立微服务意识?

    什么是微服务 既然提到了微服务 就不得不介绍一下他们 Springcloud Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring B

  • avatar 牛客471801123号 2021-04-08 04:03:02

    分布式ID生成服务,推荐大家搞一个太香了

    目录 阐述背景 Leaf snowflake 模式介绍 Leaf segment 模式介绍 Leaf 改造支持RPC 阐述背景 不吹嘘,不夸张,项目中用到ID生成的场景确实挺多。比如业务要做幂等的时候,如果没有合适的业务字段去做唯一标识,那就需要单独生成一个唯一的标识,这个场景相信

  • avatar 牛客471801123号 2021-04-08 04:03:23

    太香了!Alibaba内部架构师进阶指南,理论+实践双飞

    很多技术大会上的分享大多“高大上” 亿级流量、 超大型研发团队,虽然值得借鉴,但由于应用场景与研发资源的差异 般企业并不容易落地。其实 ,中小型研发团队在IT还是占大多数 他们在技术架构方面的问题较多 技术阻碍业务、跟不上业务发展的情况很常见。 虽然我们大部分人群还只是停留在码农的阶段,但是秉

  • avatar 牛客471801123号 2021-04-08 04:03:48

    腾讯面试HTTP与TCP/IP20连问,你能答出多少?

    一、Session 和 cookie 的区别   二、TCP三次握手和四次挥手的流程,断开连接如果只有两次握手,会出现什么。   三、TIME_WAIT 和 CLOSE_WAIT的区别   四、为什么需要 TIME_WAIT 状态   五、为什

  • avatar 牛客471801123号 2021-04-08 04:04:13

    Java程序员必知必会计算机网络基础与协议知识点全梳理

      OSI 参考模型 OSI 从上到下分为 7 层: 应用层:应用层协议定义的是应用进程间的通信和交互的规则,不同的网络应用需要不同的应用层协议 表示层:把数据转换为能与接收者的系统格式兼容并适合传输的格式 会话层:在数据传输中设置和维护电脑网络中两台电脑之间的通信连接 传输层:向两

  • avatar 牛客471801123号 2021-04-08 04:04:34

    设计模式和设计原则,一文整合,我先收藏了!

    昨天下楼的时候,有一个HR小姐姐突然拉住我,让我等她一会,那一刻,我连以后小孩叫啥都想好了,可是她就问了我说前段时间我们老大面试问设计模式,最近又问设计模式原则,这俩是个啥啊,为什么问的这么多啊 一盆冷水啊,可能我的归宿就就是自己new一个后宫了,哎,耐心的和她解释清楚之后(谁让她是小姐姐呢)

  • avatar 牛客471801123号 2021-04-08 04:04:59

    华为云二面凉凉,网络方面一问三不知

    计算机网络是现代信息社会的基础,人们的生活和生活越来越依赖于网络。作为一名合格的程序员,就应该上知天文下知地理,上班摸鱼之际,除了去网络上开车(手动狗头),还应该巩固一下自己的网络底层知识。这次面华为也就是抱着试一试的心态,面试过程就不与大家多说了,但事后确实意识到自己网络方面知识的欠缺,于是写了这

  • avatar 牛客471801123号 2021-04-08 04:05:36

    微服务(SpringCloud)与分布式(Dubbo)的区别你真的知道嘛?

    对比 微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势, 不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难。 一、Dubbo与SpringCl

  • avatar 牛客471801123号 2021-04-08 04:05:57

    面试必问的Spring IoC与Spring AOP面试题,你能get到几问?

    Spring IoC Q1:IoC 是什么? Q2:IoC 容器初始化过程? Q3:依赖注入的实现方法有哪些? Q4:依赖注入的相关注解? Q5:依赖注入的过程? Q6:Bean 的生命周期? Q7:Bean 的作用范围? Q8

  • avatar 牛客471801123号 2021-04-08 04:06:21

    太厉害了!从NIO一直学到Netty

    Netty Netty就是基于NIO的网络(Socket)客户端服务端实现框架,它简化了TCP/UDP客户端服务端编程,开发人员不再关注底层的Socket读取和写入,而且Netty提供了不少的handler(如http、mqtt、redis协议等)实现,简化了基于网络协议的编程复杂度。

  • avatar 牛客471801123号 2021-04-08 04:06:46

    微服务架构中的BFF到底是啥?又是如何演化而来的?

    一、从一个MyShop开始说起 为了讲清BFF是个啥,这里引用一个案例,来跟大家分享一下,并尽力说清楚BFF是啥,又是如何演化出来的。 假设我们在一个开发团队中,开发了一个叫做MyShop的电商项目,它采用的是微服务的架构风格。它经历过几次架构调整,我们就跟着它的调整来看看BFF是怎么演化出来的

  • avatar 牛客471801123号 2021-04-08 04:07:09

    终于有阿里资深架构师讲通Springcloud 与Springboot的关系了

    目前大家都在说微服务,其实微服务不是一个名字,是一个架构的概念,大家现在使用的基于RPC框架(dubbo、thrift等)架构其实也能算作一种微服务架构。 目前越来越多的公司开始使用微服务架构,所以在目前招聘java岗位时,有springcloud经验还是会占一点优势,今天young就和大家一起来

  • avatar 牛客471801123号 2021-04-08 04:07:30

    优质!从Sql到Nosql,redis+mysql从架构到优化全覆盖

    Redis Redis是一个远程内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型。Redis 提供了5种不同类型的数据结构,各式各样的问题都可以很自然地映射到这些数据结构上:Redis的数据结构致力于帮助用户解决问题,而不会像其他数据库那样,要求用户扭曲问

  • avatar 牛客471801123号 2021-04-08 04:07:56

    来从源码中学习一招Dubbo的骚操作

    先说背景 前段时间有个读者问我,他说他们的 RPC 框架用的是 Dubbo,当对接一个新服务的接口时就需要开通对应的网络关系。 比如我是 A 服务,第一次对接 B 服务的 Dubbo 接口,那么我需要开通 A 服务到 B 服务的对应的 Dubbo 端口的网络访问权限。 但是有的时候总是有人忘记

  • avatar 牛客471801123号 2021-04-08 04:08:25

    厉害!SpaceX-API 开源,登顶GitHub热榜

    马斯克用火箭把人送上天,SpaceX粉丝把火箭有关信息贴到GitHub。 3.7k Star,GitHub热榜,SpaceX粉丝组织r/SpaceX公布了他们的REST API。   △r/SpaceX r/SpaceX是SpaceX粉丝自发组织的社区,日常搜集整理SpaceX的火箭发射

  • avatar 牛客471801123号 2021-04-08 04:08:46

    Kafka的概念以及如何搭建Kafka集群

    Kakfa介绍 Kafka是什么 Kafka最初是LinkedIn的内部内部基础设施系统。它被认为是一个流平台,在Kafka上可以发布和订阅流数据,并把它们保存起来、进行处理。但是我们在使用Kafka中,最多的就是将它作为一个消息系统使用,类似于ActiveMQ、RabbitMQ等。但是Kafk

  • avatar 牛客471801123号 2021-04-08 04:09:06

    分布式架构详解、分布式技术详解、分布式事务

    一、分布式架构详解 1、分布式发展历程 1.1 单点集中式 特点:App、DB、FileServer都部署在一台机器上。并且访问请求量较少 1.2 应用服务和数据服务拆分 特点:App、DB、FileServer分别部署在独立服务器上。并且访问请求量较少 1.3 使用缓存改善性能

  • avatar 牛客471801123号 2021-04-08 04:09:27

    分布式锁原理:redis分布式锁与zookeeper分布式锁的区别

    首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。 在一个进程中,也就是一个jvm 或者说应用中,我们很容易去处理控制,在jdk java.util 并发包中已经为我们提供了这些方法去加锁, 比如synchronized

  • avatar 牛客471801123号 2021-04-08 04:09:48

    用过Mybatis的动态SQL后,才知道写SQL有多爽!

     一起来学习 mybatis MyBatis 令人喜欢的一大特性就是动态 SQL。 在使用 JDBC 的过程中, 根据条件进行 SQL 的拼接是很麻烦且很容易出错的。 MyBatis 动态 SQL 的出现, 解决了这个麻烦。 MyBatis通过 OGNL 来进行动态 SQL 的使用的。 目前,

  • avatar 牛客471801123号 2021-04-08 04:10:13

    面试官:你熟悉多线程嘛?线程跟进程有什么区别?

    这篇文章跟大家聊聊线程,讲到线程,⼜不得不提进程了~ 进程我们估计是很了解的了,在windows下打开任务管理器,可以发现我们在操作系统上运⾏的程序都是进程。 什么是叫一个进程? 什么叫一个线程? 进程:做一个简单的解释,你的硬盘上有一个简单的程序,这个程序叫QQ.exe,这是一个程序,这个程

  • avatar 牛客471801123号 2021-04-08 04:10:37

    ThreadLocal原理总结(建议收藏观看)

    ⼀、什么是ThreadLocal 声明:本⽂使⽤的是JDK 1.8 ⾸先我们来看⼀下JDK的⽂档介绍: 结合我的总结可以这样理解:ThreadLocal提供了线程的局部变量,每个线程都可以通过 set() 和get() 来对这个局部变量进⾏操作,但不会和其他线程的局部变量进⾏冲突

  • avatar 牛客471801123号 2021-04-08 04:11:00

    花20天刷完Alibaba JVM笔记去面阿里,却意外拿到京东Offer?

    Java虚拟机是什么 Java虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一。 为什么要使用Java虚拟机 Java语言的一个非常重要的特点就是与平台的无关性。而使用

  • avatar 牛客471801123号 2021-04-08 04:11:32

    线程的概述、状态、创建线程的方式、线程常用的方法

    一、线程的概述 进程:正在运行的程序,负责了这个程序的内存空间分配,代表了内存中的执行区域。 线程:就是在一个进程中负责一个执行路径。 多线程:就是在一个进程中多个执行路径同时执行。 1.1多线程的好处: 解决了一个进程里面可以同时运行多个任务(执行路径)。 提供资源的利用率,而不是提供

  • avatar 牛客471801123号 2021-04-08 04:11:53

    Kafka学习——Kafka介绍和搭建Kafka集群

    Kakfa介绍 Kafka是什么 Kafka最初是LinkedIn的内部内部基础设施系统。它被认为是一个流平台,在Kafka上可以发布和订阅流数据,并把它们保存起来、进行处理。但是我们在使用Kafka中,最多的就是将它作为一个消息系统使用,类似于ActiveMQ、RabbitMQ等。但是Kafk

  • avatar 牛客471801123号 2021-04-08 04:12:16

    微服务:微博Mesh服务化改造如何支撑?

    大家好,我今天的分享主要围绕以下几点,首先跟大家简要介绍一下微博服务化的演进过程,其次是微博自研跨语言RPC 框架 Motan 实现的一些关键技术要点,主要是跨语言方面,再次,结合目前市面上的一些Service Mesh 实现对比,给出基于 Motan-Go 的更符合微博场景的Weibo Mesh

  • avatar 牛客471801123号 2021-04-08 04:12:41

    直接生成接口文档——SpringBoot整合Swagger2(附源码)

    相信各位在公司写API文档数量应该不少,当然如果你还处在自己一个人开发前后台的年代,当我没说,如今为了前后台更好的对接,还是为了以后交接方便,都有要求写API文档。 手写Api文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时。 接口返回结果不明确

  • avatar 牛客471801123号 2021-04-08 04:13:02

    SpringBoot实战:详解SpringBoot自动配置原理

    SpringBoot 自动配置主要通过 @EnableAutoConfiguration, @Conditional, @EnableConfigurationProperties 或者 @ConfigurationProperties 等几个注解来进行自动配置完成的。@EnableAutoConf

  • avatar 牛客471801123号 2021-04-08 04:13:27

    面经分享:美团面试也太难了!4面美团终成Offer

    这篇文章分享我一个学弟的美团实习面试经历,万万没想到现在大厂实习面试也这么难,下面是他的面经,各位读者老哥可以参考浏览。 美团我是在拉勾网上投的简历,之前也投过一次,简历都没通过删选,后来让学姐帮我改了一下简历,重新投另一个部门,获得了面试机会。10月23日中午HR打电话过来预约了下午4点半面试,

  • avatar 牛客471801123号 2021-04-08 04:13:52

    微服务核心技术——负载均衡

    一:Ribbon简介 Ribbon是Netflix公司开源的一个负载均衡的项目,是一个客户端负载均衡器,运行在客户端上。它是一个经过了云端测试的IPC库,可以很好地控制HTTP和TCP客户端的一些行为。Feign已经默认使用了Ribbon。 二:Ribbon的工作流程   1:user微

  • avatar 牛客471801123号 2021-04-08 04:14:14

    基于Springboot的一个完整极简后台框架分享

    一个完整的极简后台框架,方便做小项目的时候可以快速开发。 这里面多贴图片和代码,做个参考吧,代码可以下载下来自己看看,里面这套后台模板不错,喜欢的拿去。 先放几张图       项目介绍 SpringBoot,实现了一个极简单的后台框架   项目配置 maven

  • avatar 牛客471801123号 2021-04-08 04:14:56

    出神入化!Jenkins+Docker+SpringCloud+K8s构建持续集成平台

    Jenkins是什么 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 Jenkins的6大特征: 开源的ava语言开发持续集成工具,支持持续集成,持续部署 易于安装部署配

  • avatar 牛客471801123号 2021-04-08 04:15:23

    HashMap的7种遍历方式与性能分析!(技术干货)

    随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题。 本文先从 HashMap 的遍历方法讲起,然后再从性能、原理以及安全性等方面,来分析 HashMap 各种遍历方式的优势与不足,本文主要内容如下图所示:

  • avatar 牛客471801123号 2021-04-08 04:15:52

    SpringBoot整合Grpc实现跨语言RPC通讯,你学废了吗?

    什么是gRPC gRPC是谷歌开源的基于go语言的一个现代的开源高性能RPC框架,可以在任何环境中运行。它可以有效地连接数据中心内和跨数据中心的服务,并提供可插拔的支持,以实现负载平衡,跟踪,健康检查和身份验证。它还适用于分布式计算的最后一英里,用于将设备,移动应用程序和浏览器连接到后端服务。

  • avatar 牛客471801123号 2021-04-08 04:16:17

    京东T9纯手打688页神笔记,SSM框架整合Redis搭建高效互联网应用

    SSM框架简介 Spring Spring框架是Java应用最广的框架。它的成功来源于理念,而不是技术本身,它的理念包括loC (Inversion of Control,控制反转)和AOP (Aspect Oriented Programming,面向切面编程)。 SpringMV

  • avatar 牛客471801123号 2021-04-08 04:16:41

    20个基于SpringBoot搭建的开源项目,总有一个你会感兴趣

    前言 SpringBoot一直是开发者比较青睐的一款轻量级框架,他不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。 现在很多Java系的软件开发都是基于SpringBoot的,这就要求开发人员都要掌握基于SpringBoot的开发。

  • avatar 牛客471801123号 2021-04-08 04:17:08

    太厉害了!AlibabaP9大牛全面剖析Redis核心原理,助我进阶

    掌握Redis的重要性 Redis是互联网技术领域使用最为广泛的存储中间件,它是「 Remote Dictionary ServiceJ的首字母缩写,也就是「远程字典服务」。Redis 以其超高的性能、完美的文档、简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评。国内外很多大型互联网公司

  • avatar 牛客471801123号 2021-04-08 04:17:39

    用好IDEA这几款插件,少写30%的代码

    Easycode是idea的一个插件,可以直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大。 1、安装(EasyCode)   我这里的话是已经那装好了。 建议大家在安装一个插件,叫做Lombok。Lombok能通过

  • avatar 牛客471801123号 2021-04-08 04:18:06

    不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程的原因

    前言 阿里巴巴出了一本Java规范,在国内java开发眼里被赋予了神圣的殿堂,我不推荐你用阿里巴巴的开发手册。 目前Google Guava在实际应用中非常广泛,本篇博客将以博主对 Guava 使用的认识以及在项目中的经验来给大家分享!学习使用 Google Guava可以让你快乐编程,写出优雅

  • avatar 牛客471801123号 2021-04-08 04:18:34

    太牛了!腾讯T9耗时69天整理出最全架构师进阶核心知识点笔记

    俗话说的好:   每一个程序员应该都想着如何快速提升自己(反正我是这样想的),从程序员进阶到架构师再到技术专家再到CTO 。当然这其中需要大量的知识储备,是一个不断学习的过程,话不多说下面我直接上图。 Java全栈核心知识点整理(PDF)   Spring 原理   Net

  • avatar 牛客471801123号 2021-04-08 04:19:01

    通过源码告诉你阿里的数据库连接池Druid有多牛

    简介 druid是用于创建和管理连接,利用“池”的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制、连接可靠性测试、连接泄露控制、缓存语句等功能,另外,druid还扩展了监控统计、防御SQL注入等功能。 使用例子-入门 需求 使用druid连接池获取连接对象,对用户数据进行简单的

  • avatar 牛客471801123号 2021-04-08 04:19:30

    IDEA结合Groovy脚本,简直无敌!

    导语 如今,有许许多多的插件或者编辑器都支持根据数据表自动生成数据实体类了, 比如IDEA, 各种MyBatis的代码生成工具, 等等. 本篇介绍一下如何使用IDEA的groovy脚本文件生成带JPA注解的实体类 一, 使用IDEA连接数据库 需注意: 正式版IDEA才有此功能, 社区

  • avatar 牛客471801123号 2021-04-08 04:19:53

    公司来了一个腾讯做优化的大佬,三下五除二让我程序快了200%

    这篇文章主要跟大家说说程序性能优化,说到程序性能优化咱们先来谈谈代码优化~ 代码优化 代码优化其实一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾

  • avatar 牛客471801123号 2021-04-08 04:20:21

    java,除以0一定会崩溃吗?

    System.out.println("1/0=" + 1/0); 大叔的灵魂拷问: 上面的代码会崩溃吗?如果不会,会输出什么呢? 上面的代码会崩溃吗?如果不会,会输出什么呢? 上面的代码会崩溃吗?如果不会,会输出什么呢? 运行直接崩溃。   ## 代码2 我

  • avatar 牛客471801123号 2021-04-08 04:20:45

    Java程序是否跑的快全靠线程带!

    作为 Java 程序员,在技术面试时,多线程的知识多少都会被提及,这也是我面试候选人时,常聊的一个话题。 纳尼,面试中为什么常会问多线程的知识?难道面试官真的是在为难你吗? 莫急,下面一起 get 其中之奥秘。 1 使用场景:引入多线程,明确职责,效率明显提升 在实际项目开发中,经常会遇到

  • avatar 牛客471801123号 2021-04-08 04:21:08

    在工作中如何使用Maven?

    前言 这次来说说maven这玩意,同样还是那句话,maven对我而言只是工具,一些常规操作已经足够了,有空有兴趣才会去深入研究它。接下来会记录下自己使用maven时需要注意和理解的地方,至于那些基本概念和环境配置的问题,相信大家都懂。   仓库 maven仓库可分为本地仓库和远程仓库。

  • avatar 牛客471801123号 2021-04-08 04:21:31

    超火的Vhr(SpringBoot +Vue)实战项目+文档

    项目摘要 vhr 是一个基于 SpringBoot+Vue 技术栈开发的前后端分离项目,项目使用 SpringBoot2.1.8 来开发,集成了当前企业级开发中众多的热门技术点,如消息中间件、Redis 缓存、SpringBoot+Vue+ElementUI 技术栈等等。 技术选型 核心框

  • avatar 牛客471801123号 2021-04-08 04:21:53

    Linux文件系统到底是怎么工作的?

    磁盘为系统提供了最基本的持久化存储。 文件系统则在磁盘的基础上,提供了一个用来管理文件的树状结构。 那么,磁盘和文件系统是怎么工作的呢?又有哪些指标可以衡量它们的性能呢? 索引节点和目录项 文件系统,本身是对存储设备上的文件,进行组织管理的机制。组织方式不同,就会形成不同的文件系统。 你要

  • avatar 牛客471801123号 2021-04-08 04:22:15

    Nginx配置如何一键生成

    前因 关于Nginx部署、配置的文章网上已经发布过很多,包括我自己也私藏了不少还发布过两篇: 后端必备 Nginx 配置 前端必备 Nginx 配置 整理出来为的就是需要的时候,复制、粘贴就能使用。 然而千奇百怪的实际开发中,你肯定需要增删Nginx配置。你就得上网搜一下,复制粘贴出

  • avatar 牛客471801123号 2021-04-08 04:22:38

    常见的Java性能问题,手把手教你定位!

    概述 性能优化一向是后端服务优化的重点,但是线上性能故障问题不是经常出现,或者受限于业务产品,根本就没办法出现性能问题,包括笔者自己遇到的性能问题也不多,所以为了提前储备知识,当出现问题的时候不会手忙脚乱,我们本篇文章来模拟下常见的几个Java性能故障,来学习怎么去分析和定位。 预备知识 既然

  • avatar 牛客471801123号 2021-04-08 04:23:00

    黑科技——IDEA远程调试

    不知道各位有没有遇见以下情况: ​ 【国服第一测试】:我本地环境出了一个bug,那个【稀饭下雪】你过来看看。 或者: ​ 【国服第一测试】:外网正式服出了一个bug,我导了数据库环境到本地,看了下确实是bug,那个【稀饭下雪】你过来看看。 再或者: ​ 【国服第一狗策划】:内网服怎么又出b

  • avatar 牛客471801123号 2021-04-08 04:23:23

    二战腾讯倒在三面:我意识到自己与一线大厂程序员的差距

    简单说一下吧,本人疫情还没开始时面试过一次鹅厂,在MySQL、redis这方面惨败,经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于重拾面试信心,再次出征。 二战腾讯 面试职位:go后端开发工程师,接受从Java转语言。 都知道腾讯是cpp的主战场,而以cpp为背景的工程师

  • avatar 牛客471801123号 2021-04-08 04:23:52

    专科学历,五面京东成功斩获Offer

    个人背景:专科学历,java开发3年,跳槽2次,无大厂经历,京东内推。整体感觉不错的面试经历,最后成功斩获Offer。 一、面试流程 (1)上机题(60分钟100道选择题,单选多选混合的) (2)技术面(java基础知识) (3)技术面(简历项目) (4)架构面(个人发挥) (5)lea

  • avatar 牛客471801123号 2021-04-08 04:24:19

    Java程序员,除了最常用技术还需掌握哪些技术才能游刃有余

    有人私信我说,除了要掌握的20%以外还要掌握些什么知识才能游刃有余。下面说说我接触(使用)过、的东西吧。 java以分布式应用丰富的生态闻名,在分布式系统中逃不过CAP的抉择。早早了解一些分布式一致性协议paxos、raft等。学习zookeeper的原理和使用场景(metadata、分布式

  • avatar 牛客471801123号 2021-04-08 04:24:42

    教你如何快速开发一个Dubbo应用

    导读:在分布式系统中,远程调用是最基础也是最重要的基石。历史上,曾经先后出现过 CORBA、RMI、EJB、WebService 等技术和规范,在服务化以及微服务日趋流行的今天,更多的被广泛使用的是包括 gRPC、Finagle、以及国内的 Dubbo 为代表的轻量级框架。 由于这些框架多半与服

  • avatar 牛客471801123号 2021-04-08 04:25:08

    ZooKeeper如何简单实现读写锁?

    1 读写锁的概念 读写锁是计算机程序的并发控制的一种同步机制,用于解决读写问题,读操作可并发重入,写操作是互斥的。 读写锁有多种读写权限的优先级策略,可以设计为读优先、写优先或不指定优先级。 读优先:允许最大并发的读操作,但可能会饿死写操作;因为写操作必须在没有任何读操作的时候才能够执行。 写

  • avatar 牛客471801123号 2021-04-08 04:25:29

    后端开发就是增删改查?

    作为后端开发,永远重复着「增删改查」,这些基础的操作占据了自己大部分工作时间,看到其他人成为技术大牛,而个人技术水平永远停在原地,也会很迷茫...... 需要学习的仅仅如此吗?当你工作久了是否会发现你的代码越来越复杂?文件的上传下载怎么提高效率?消息推送的实时性怎么保证?同时使用人数过多,服务器爆

  • avatar 牛客471801123号 2021-04-08 04:25:54

    SQL 查询语句先执行 SELECT?

    SQL 查询的执行顺序是怎样的? 好像这个问题应该很好回答,毕竟自己已经写了无数个 SQL 查询了,有一些还很复杂的。还装不了这个逼了?!   但事实是,我仍然很难确切地说出它的顺序是怎样的。   言归正传,SELECT语句的完整语法如下: 1. SELECT 2. DISTI

  • avatar 牛客471801123号 2021-04-08 04:26:15

    高效拼接字符串“+”跟StringBuilder.append哪个好?

    写在前面 对于Java字符串的拼接有一条规则如下: 【推荐】循环体内,字符串的连接方式,使用 StringBuilder 的 append 方法进行扩展。 说明:下例中,反编译出的字节码文件显示每次循环都会 new 出一个 StringBuilder 对象,然后进行 append 操作,最后通

  • avatar 牛客471801123号 2021-04-08 04:26:37

    分享一份美团T9大牛总结的神仙微服务架构设计模式PDF

    微服务作为一项在云中部署应用和服务的新技术已成为当下最新的热门话题。 企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,微服务被认为是未来的方向。通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展,理论上是这样。 本文就为大家介绍一本微服务架构相关书籍。 本书的

  • avatar 牛客471801123号 2021-04-08 04:27:10

    吃透腾讯T8纯手打465页Java性能调优,3个月后成功上岸美团

    关于性能调优,我先来说说的我的感受。Java 性能调优不像是学一门编程语言,无法通过直线式的思维来掌握和应用,它对于工程师的技术广度和深度都有着较高的要求。 显然,性能调优不是一件容易的事。但有没有什么方法能把这件事情做好呢?接下来跟你分享几点我的心得。 1.扎实的计算机基础 2.习惯透过

  • avatar 牛客471801123号 2021-04-08 04:27:51

    Mybatis怎么玩?掌握这几点就够了!

    一、Mybatis快速入门 1.1 Mybatis介绍 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO

  • avatar 牛客471801123号 2021-04-08 04:28:12

    必看!SQL语法速成手册

    本文针对关系型数据库的一般语法。限于篇幅,本文侧重说明用法,不会展开讲解特性、原理。 一、基本概念 数据库术语 数据库(database) - 保存有组织的数据的容器(通常是一个文件或一组文件)。 数据表(table) - 某种特定类型数据的结构化清单。 模式(schema) - 关于

  • avatar 牛客471801123号 2021-04-08 04:28:35

    知道这30+款在线工具,我的工作效率提升了600%!

    Perl 之父 Larry Wall 曾经在自己的《Programming Perl》一书中提到过:“优秀程序员有3种美德: 懒惰、急躁和傲慢"。懒惰,作为程序员美德的第一个要素。 Larry Wall 所说程序员应该具备的懒惰,并不是安于现状、不思进取。而是一种为了达到同样甚至更好的目

  • avatar 牛客471801123号 2021-04-08 04:29:00

    分享一份GitHub上120K Stars国内第一的Java多线程PDF

    随着CPU多核时代的到来,多线程编程在充分利用计算资源、提高软件服务质量方面扮演了越来越重要的角色。而解决多线程编程中频繁出现的普遍问题可以借鉴设计模式所提供的现成解决方案。然而,多线程编程相关的设计模式书籍多采用C++作为描述语言,且书中所举的例子多与应用开发人员的实际工作相去甚远。本书采用Jav

  • avatar 牛客471801123号 2021-04-08 04:29:29

    HTTP/3 来了 !HTTP/2 还没怎么用起来过?

    2015 年 HTTP/2 标准发表后,大多数主流浏览器也于当年年底支持该标准。此后,凭借着多路复用、头部压缩、服务器推送等优势,HTTP/2 得到了越来越多开发者的青睐,不知不觉的 HTTP 已经发展到了第三代。本文基于兴趣部落接入 HTTP/3 的实践,聊一聊 HTTP/3 的原理以及业务接入的

  • avatar 牛客471801123号 2021-04-08 04:29:55

    牛皮了!基于 Redis 的限流系统的设计!

    本文讲述基于 Redis 的限流系统的设计,主要会谈及限流系统中限流策略这个功能的设计;在实现方面,算法使用的是令牌桶算法来,访问 Redis 使用 lua 脚本。 1、概念 In computer networks, rate limiting is used to control th

  • avatar 牛客471801123号 2021-04-08 04:30:16

    系统梳理Spring全家桶 !

    Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。它包括SpringMVC、SpringBoot、Spring Cloud、Spring Cloud Dataflow等解决方案。 很多研发人员把spring看作心目中最好的java项目,没有之一。 所以这是重点