自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 谁还记得re正则表达式怎么写,不都面向互联网编程了吗?

正则表达式这是一个悲伤的话题,在实际工作中,可能用得少会的更少,每当要用的时候,都是一番手忙脚乱;问度娘,然后就是一顿调试,最终得到预期结果,好在面向网络编程大多都能得到一个良好的结果。 作者熟悉python语言,本章以内置库re模块为例。那么到底什么正则表达式正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。--- 摘自百度百科 所以从概念得知,它是针对字符串操

2021-08-04 19:09:23 303

原创 舍命分享!腾讯T7整理出最全Java资料+Java成神路线图,建议白嫖!

近期,从职友集了解到目前 Java 工程师薪资平均为¥26.9K ,不少人说:“这是3~5年资深工程师,不是同级别的。”的确,Java 开发工程师之间的薪资差别是很大的,但薪资不是随着年限涨,而是随着能力涨的。所以,时刻保持学习状态,才是技术人该有的常态。作为一名 Java 工程师,不仅要有全栈的技术储备,还要能够将技术能力灵活运用到实际场景中,且可以根据业务需求不断填充自己知识盲点,跟上时代发展,匹配企业需求。今天分享这份Java资源中包括:《写给新手小白的Java入门课》《你必须知道的2.

2021-08-02 17:04:52 337

原创 如何从零实现属于自己的 API 网关?

序言有很多小伙伴反应,对外的 API 中相关的加签,验签这些工作可以统一使用网关去处理。说到网关,大家肯定比较熟悉。市面上使用比较广泛的有:spring cloud/kong/soul。API 网关的作用(1)对外接口中的权限校验(2)接口调用的次数限制,频率限制(3)微服务网关中的负载均衡,缓存,路由,访问控制,服务代理,监控,日志等。实现原理一般的请求时直接通过 client 访问 server 端,我们需要在中间实现一层 api 网关,外部 client 访问 gateway,然后

2021-08-02 16:16:42 337

原创 几百行代码写个Mybatis,原理搞的透透的!

一、前言Mybatis 最核心的原理也是它最便于使用的体现,为什么这说?因为我们在使用 Mybatis 的时候,只需要定义一个不需要写实现类的接口,就能通过注解或者配置SQL语句的方式,对数据库进行 CRUD 操作。那么这是怎么做到的呢,其中有一点非常重要,就是在 Spring 中可以把你的代理对象交给 Spring 容器,这个代理对象就是可以当做是 DAO 接口的具体实现类,而这个被代理的实现类就可以完成对数据库的一个操作,也就是这个封装过程被称为 ORM 框架。说了基本的流程,我们来做点测试,让

2021-08-02 10:46:08 223

原创 synchronized 加锁 this 和 class 的区别!

synchronized 是 Java 语言中处理并发问题的一种常用手段,它也被我们亲切的称之为“Java 内置锁”,由此可见其地位之高。然而 synchronized 却有着多种用法,当它修饰不同对象时,其意义也是不同的,下面我们一起来看。 ​synchronized 用法synchronized 可以用来修饰普通方法、静态方法和代码块。 ​① 修饰普通方法/** * synchronized 修饰普通方法 */public synchronized void method() { .

2021-08-01 20:49:25 482 2

原创 Java 8 Lambda 表达式和 Stream 操作

Lambda表达式的语法基本语法:(parameters) -> expression或(parameters) ->{ statements; } 方法引用方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式静态方法引用,通过类名::静态方法名, 如 Integer::parseInt实例方法引用,通过实例对象::实例方法,如 str::substring也可以类名::实例方法名, 如 String::substring构造方法

2021-07-31 21:24:55 224

原创 泛955、不加班、双休的公司名单来了!2021最新版!

开始今天的正菜之前,我想先分享一个最近在知乎上看到的很奇葩的问题。大致意思就是:“我自己讨厌计算机这种要终身学习并且会经历 996 生活的专业,我却让朋友学计算机”。当时,看到这个问题,我整个人就直接懵了!稍微清醒点,也不至于问出这样的问题吧?确实,在国内的话, 996 只是绝大部分程序员的选择,但绝不是唯一的选择!如果你想要 955/965 的工作,也有很多可供选择的公司(这个在后面会具体介绍到)。并且,国内也有越来越多的公司开始/考虑取消大小周,开始强制执行 6 点下班!我并不觉得这

2021-07-30 16:23:28 1658

原创 阿里Java社招研发面经:MQ+微服务+JVM+redis(已拿offer)

前言本文是为了帮大家快速回顾了Java中知识点,这套面试手册涵盖了诸多Java技术栈的面试题和答案,相信可以帮助大家在最短的时间内用作面试复习,能达到事半功倍效果。本来想将文件上传到github上,但由于文件太大有的都无法显示所以直接整理成多个PDF,供大家学习说明主要是考虑到面试题的综合性,所以整理的顺序也是这样的,并且也作了相对应的注释。这套面试手册的组成内容有以下3大主题,5个主要模块,35个小板块:互联网一线大厂面试题库(2021年版)百度篇京东篇腾讯篇头条篇美团篇华为篇

2021-07-29 15:38:59 219

原创 利用Spring的aop原理实现系统级日志管理

背景之前的文章中,对日志记录做过简单的介绍。日常开发中,我们常用的日志有两种,一种是业务日志,该类型主要用于记录系统中某些业务的变化或属性的改变,比如业务流转过程中记录状态的变化或对象属性的变化,此类型主要用于查询业务轨迹使用;另一种是系统日志,主要记录方法的调用信息,比如方法名称,参数以及调用者的名称、ip、调用时间等信息。本文结合项目中的实际情况,介绍下如何使用Spring的aop原理实现系统级日志管理。核心代码1.声明系统日志切面类并交给Spring容器管理代码如下:@Aspect@Com

2021-07-29 14:48:05 160

原创 网易DBA团队出品“Mysql实用手册”正式开源,Github日下载破万

互联网的快速发展离不开各种技术和软件的普及与应用。作为开源软件的代表,MySQL数据库随着其功能的日益完善和可靠性的不断提高,已经成为互联网平台上应用广泛的数据库软件。但是大家知道ANSI/ISO SQL是公认的关系数据库标准。从SQL标准的符合性来说,MySQL不仅无法跟成熟的商业数据库相比,在开源数据库中也远不是最好的,比如PostgreSQL就是业界公认的ANSI/ISO SQL标准符合性最好的开源数据库,MySQL直到5.0版本才支持的一些特性,PostgreSQL 早都实现了。既然如此,为什么

2021-07-28 16:00:41 382

原创 Netty做什么?第一个Netty服务如何写?Netty的IO和Reactor模型?Netty组件是什么?ByteBuf是什么?

一 概述1.1 初步了解Netty1. Netty是什么?Netty是一个高性能的、异步的、基于事件驱动的网络应用型框架。 2. 为什么使用netty?a Netty是基于Java的NIO实现的,对各种API进行统一封装。 b 基于事件模型,我们可以在对应事件编码自己业务。让开发者聚焦业务。 c 高度可定制线程模型,单线程,一个或者多个线程池。 d Netty只依赖JDK底层api。 e 在通信方面,减少不必要内存拷贝,提高性能。 f 在安全方面,完整的

2021-07-26 16:14:15 162

原创 一个即将30岁Java程序员的自诉,在内卷的大环境之下迷惘的大龄程序员该如何破局?

就是想写点什么不知不觉自己即将步入30岁,到了很多人口中的中年,有时候一直在回想,这些年自己到底做了些什么,留下了些什么?步入社会毕业2015年7月我从一个90%以上的人都不知道的二本院校毕业(软件工程),凭借自学的Android技术,在北京找到了一份月薪7000的工作,在当时其实还算不错,毕竟我的学校起点比较差,跟大部分毕业即失业的同学来比还是比较幸运的。毕业的时候,几个同学一起拖着很多很多的行李,挤上了前往北京的列车,当时连学校的被子也舍不得扔, 到了之后就急急忙忙的找了房子,一个1000多.

2021-07-26 15:09:29 1673 2

原创 再见笨重的ELK!这套轻量级日志收集方案要火!

摘要之前一直使用的日志收集方案是ELK,动辄占用几个G的内存,有些配置不好的服务器有点顶不住!最近发现一套轻量级日志收集方案: Loki+Promtail+Grafana(简称LPG), 几百M内存就够了,而且界面也挺不错的,推荐给大家!简介LPG日志收集方案内存占用很少,经济且高效!它不像ELK日志系统那样为日志建立索引,而是为每个日志流设置一组标签。下面分别介绍下它的核心组件:Promtail:日志收集器,有点像Filebeat,可以收集日志文件中的日志,并把收集到的数据推送到Loki中去。

2021-07-24 22:05:11 347

原创 SpringBoot-RabbitMQ篇-消息可靠投递

一、发送者异常监控1.1 发送者异常种类1.基本处理流程补偿(兜底)方案2.模拟broker宕机:修改发送者端口如5673,然后启动,发送消息,端口不对无法连接主机错误信息:java.net.ConnectException: Connection timed out: connect补偿方案:加入异常处理,如果不可达则返回错误这种错误在发送的时候就已经可以发现,直接将错误返回给调用方即可@RequestMapping("/direct")public Object sendEma

2021-07-23 15:39:50 494

原创 Redis集群来啦--影分身术之主从复制 | Redis实战

前言默认情况下,每台Redis服务器都是主节点; 由于个人服务器性能原因,以下的所有操作都是单机集群的概念!在实际工作中并不会这样配置,而是使用哨兵模式来监控!一、概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave 以读为主。主要作用:①数据冗余:主从复制实现了数据的热备份,是持久化之外的一种

2021-07-23 14:36:09 111

原创 MySQL命令,一篇文章替你全部搞定

MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等。而这两个方面又可以细分如下:MySQL常用语句表(或者数据库)的CRUD表数据的CRUD,其中表数据查询使用最多,也更复杂。查询可以按照单表还是多表可以分为:单表SELECT查询和多表的联结查询(INNER JOIN, LEFT JOIN, RIGHT JOIN和FULL JOIN)以及组合查询UNION和UNION ALLSQL语句中各个关键字

2021-07-22 17:29:15 204

原创 再见SpringCloud!这个架构挺猛,甚至干掉Dubbo

5年前面试最常问的并且可以顺利拿到高薪的技能是dubbo,2年前面试,只要你简历上有Spring Cloud项目的相关经验,肯定会打动面试官,现在呢?恐怕简历上有dubbo和简单的Spring Cloud技术和经验是无法让面试官高看你的。SpringCloud Alibaba 近几年在受到国内不少开发者的广泛关注,也成为面试比较吃香的一个技能点了,如果你连SpringCloud Alibaba 微服务生态都没用过,那么你可能就要被时代淘汰了。最近去大厂面试的兄弟就体验了一把,问及面试考题,这位兄弟言辞

2021-07-21 15:46:17 317

原创 二本,两年CRUD经验,刷完一套GitHub上stars 10000+的Java面试题,上岸阿里P6

准备跳槽,先后面试了各大小公司,拿了一些offer,有阿里,滴滴,快手,达达,得物等公司。面试的公司大部分都能过,**所以这里给大家分享下自己的经验,**也给自己做个归档,希望能给正在准备跳槽,找工作的朋友一点帮助,这里主要分享下阿里面试的经历!为什么面试成功,我总结了如下几点:1.有明确的目标,有压力才会有动力。保持学习的习惯,每天至少学习两小时,每两个月最少看一本书。你想要三年入大厂,就要三年学习足够的知识,所以让自己疯狂起来吧。2.要有精益求精的态度。你可以想象,如果支付宝因为bug停服1分钟

2021-07-20 16:16:04 553 1

原创 干掉 Postman?测试接口直接生成API文档,这个工具贼好用

前几天粉丝群有小伙伴问,有啥好用的API文档工具推荐,无意间发现了一款工具,这里马不停蹄的来给大家分享一下。ShowDoc一个非常适合团队的在线API文档工具,也支持用docker自建文档服务,不过为了方便演示,我直接用了平台在线服务。官网地址:https://www.showdoc.com.cn/item/index 可以使用markdown语法来写API文档、数据字典文档、技术文档、在线excel文档。但像我这种资深的懒人程序员,其实更看重的是showdoc的自动化生成文档的特性,它可以从代码注

2021-07-19 17:26:06 236

原创 你管这破玩意儿叫负载均衡?

相信大家都听过这样的一道经典面试题:「请说出在淘宝网输入一个关键词到最终展示网页的整个流程,越详细越好」这个问题其实很难,涉及到 HTTP,TCP,网关,LVS 等一系列相关的概念及工作机制,如果你能掌握到这其中的每个知识点,那将极大地点亮你的技能树,你对于网络是如何运作也会了然于胸,即便不能完全掌握,但知道流量怎么流转的对你排查定位问题会大有帮助,我之前就利用这些知识定位到不少问题,为了弄清楚整个流程,我查阅了很多资料也请教了不少人,相信应该可以把这个问题讲明白,不过写着写着发现篇幅实在太长,所以分为上

2021-07-19 16:38:15 186

原创 一文彻底弄懂cookie、session、token

前言作为一个JAVA开发,之前有好几次出去面试,面试官都问我,JAVAWeb掌握的怎么样,我当时就不知道怎么回答,Web,日常开发中用的是什么?今天我们来说说JAVAWeb最应该掌握的三个内容。发展历程1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。2、但是随着交互式Web应用的兴起,像在线购物网站,

2021-07-16 10:59:43 215

原创 高频面试题-请把Java的双亲委派机制说清楚!

如果面试官问你,类加载过程是哪几步?巴拉巴拉巴拉…(加载、验证、准备、解析、初始化)见这小伙子面容惊奇,脸泛红光,不由自主的就问了一下双亲委派模型说一下吧;遇见没准备充分的,瞬间懵逼。下面我们就来说一下这个一个有意思的虚拟机类加载机制。一说起双亲委派,就必然要先聊一下Java中的类加载器。Java中的类加载器Bootstrap ClassLoader (启动类加载器)Bootstrap ClassLoader,启动类加载,默认加载的是jdk\lib目录下jar中诸多类;这个路径可以使用

2021-07-15 09:17:20 151

原创 Spring官方发布新成员:Spring GraphQL

近日,在GraphQL Java诞生6周年的时候,Spring社区通过博客宣布正式创建全新项目:Spring GraphQL,同时还发布了这个新项目的里程碑1.0版本。该项目的任务是将GraphQL Java集成入Spring生态,而这个项目的开发工作将由双方两个团队共同承担。什么是 GraphQL?纵使GraphQL在国外开始就被炒的火热,但到了国内就跟Hibernate、JPA一样,并没有能够被广泛的应用起来。以至于很开发者并不太了解什么是GraphQL。下面是GraphQL中文网的介绍,一起认

2021-07-14 22:01:36 398

原创 手动实现第三方jar包修改并重新打包

前言开发过程中,项目中总会引入一些第三方依赖包,以便通过直接调用jar包中的方法来完成某些实际业务。但是有时候jar包中封装的方法可能跟我们的实际需求有些出入,需要修改业务逻辑后重新打包才能使用,但是jar包可能不像普通的maven项目那样导入idea等工具修改然后直接利用maven命令来完成,很多时候需要安装一些反编译工具才能打开,且不能在反编译工具中直接修改。本文主要针对jar包中的文件类型,从两种方式实现jar包中文件的替换及生成class字节码文件。背景最近业务需要,项目中需要实现文件预览功能

2021-07-13 14:25:36 707

原创 【熬夜肝了】一篇数据库规范,你应该用的上

数据库命名规范采用小写字母、数字(通常不需要)和下划线组成。禁止使用’-’,命名简洁、含义明确。表命名根据业务类型不同,采用不同的前缀,小写字母、下划线组成长度控制在30个字符以内推荐的命名规则类型前缀说明业务表tb_关系表tr_历史表th_统计表ts_日志表tl_xx_log系统表、字典表、码表sys_临时表tmp_禁止使用备份表bak_xx_ymd视图view_避免使..

2021-07-11 21:02:33 152

原创 社招一年半面经分享(含阿里美团头条京东滴滴)

最近一段时间面试了几家互联网公司,陆续通过了阿里、头条、美团,滴滴,京东的面试,基本上面试的公司都通过了,所以在这里想分享一些自己面试的经验给大家,希望能帮助大家拿到心仪的offer我的基本情况:19届本科,现在在一家小公司,毕业一年半,后端开发面试准备简历重点放在专业技能和项目经验两块1.你的简历就是你给面试官提供的考点,简历上的东西必须自己Hold住,万一自己写的东西被问住了,会很尴尬,给面试官留下的印象也不好,所以就是会啥写啥2.技术栈最好不要写精通,你敢写面试官就敢问,被问倒了很尴尬的.

2021-07-09 17:43:20 272

原创 70岁的爷爷java后端面试 遭嫌弃,学习1年3个月5天,轻松拿下10份offer

前段时间有个朋友出去面试,这次他面试目标比较清晰,面的都是业务量大、业务比较核心的部门。前前后后去了不少公司,几家大厂里,他说给他印象最深的是字节3 轮技术面+1 轮 HR 面,爷爷最终拿到了 30k*16 薪的 offer。第一轮主要考察 Java 基础,二、三轮注重对应技术的掌握,以及对过往项目的业务理解,之所以令他印象深刻,是因为每轮都聊了一个半小时以上,确实让他受益匪浅。他最终选择字节,除了这是最核心项目之外,还有一个原因,字节的福利号称业内最好,薪资也是同类公司中最高。“薪资高、发展好、

2021-07-08 11:41:27 238 3

原创 两年Java开发经验,裸辞之后筹备半年时间,重面阿里终于如愿拿到P6级offer [Java岗],你知道我是怎么走过来的吗?

大家好,我是小波,普通本科毕业,在中小型公司打拼了两年,我相信每一个程序员都拥有一个大厂梦,我也不例外,去年面试阿里P6,竟然被Redis问倒了,很多Redis相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了阿里,被阿里淘系录用,最后定级P6-,7月26日杭州入职。阿里面试前面一轮主要考察 Java 基础;二、三轮注重对应⽤技术的掌握;尤其是第三面Redis面得比较多,基本都是深入到Redis底层原理,看来P6年薪40W真不是那么好拿的,见识了!我大概把三面的部

2021-07-06 13:59:51 462 16

空空如也

空空如也

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

TA关注的人

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