自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (2)
  • 收藏
  • 关注

原创 冲|2年CRUD|社招|后端开发|上岸面试分享(附面经)

掘金原文:https://juejin.cn/post/6998743144355348487前言背景普通本科(非985/211),计算机科学与技术;2019届,2年经验;在广州一家传统中大厂从事后端研发工作;本次参与的招聘为社招;知识储备我们常常说“面试造火箭,入职拧螺丝”,确实绝大多数的面试考察内容在工作中可能用不到,俗称“八股文”;但往往很多深度的知识能够帮助我们在遇到更难的问题中提供必要的知识储备,提升我们的思维能力,去完善我们的知识体系;知识来源可以通过高分专业书籍,博主

2021-08-22 16:58:40 662

原创 DTS数据上报优化

背景现象业务基于ElasticSearch为产品提供了全文搜索能力,需要及时将DB变更数据异构到ES,供业务查询,即DTS(Database To ES);由于数据变更入口较多,使用Canal原生客户端去监听数据binlog变更,并将数据顺序投递到MQ,基础搜索服务消费端消费,过滤,数据组装后,上报到ES,即DB->Canal->MQ->Comsumer->ES;目前整体DB->ES数据同步较慢,处理速度QPS为60左右,在遇到洗数据/导入资源等大量数据变更时,往往造

2021-05-25 15:40:32 764

原创 ES索引设计&查询优化

推荐掘金原文查看:https://juejin.cn/post/69022541669539676301.背景小组项目在搭建属于自己的业务定制搜索服务;项目原先接入了平台部门的通用搜索服务,在进行全链路压测时,es搜索成为瓶颈;故统一在业务定制搜索服务中进行整改优化;2.现象1.压测条件:并发线程数 10 * 30(并发线程数 * 节点数)下,出现大量查询超时(>500ms),基本一压就挂;2.通过日志查询执行dsl语句,如下,在多查询条件下,包含大量match条件的bool评.

2020-12-04 12:41:19 1605

原创 Arthas实战

1.是什么?解决什么样的问题?Arthas(阿尔萨斯)是阿里巴巴开源的 Java 诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!是否有一个全局视角来查看系统的运行状况?

2020-10-24 16:44:11 1257

原创 忆本科四年,感谢遇见 - 写在毕业一年后

回忆本科四年,感谢遇见 - 写在毕业一年后2015-09-18,2019-06-25,1376天一个想法年纪大了容易念旧,现在是2020-08-30,毕业一年多。最近阅读了很多博主大V关于大学四年的经历,思绪万千,一时冲动,也想简单写写我的大学四年,虽平淡无奇,但不写总感觉却缺点啥似的。于是开干吧!开始的开始2015年9月,我怀揣着梦想来到这所以农学为优势的大学,录取的环境科学与工程专业。略微遗憾的是学校校区坐落在广东的山区,并且与其他学校相比面积也不大,与我想象中的大学校园有些差距。但

2020-08-31 08:51:45 1498

原创 入坑掘金

欢迎关注我的掘金:https://juejin.im/user/2295436009552007为掘力值 & 成长而奋斗,fighting!

2020-08-23 22:44:04 237

原创 log4j2打印一行日志做了啥

1.是什么?log4j已成为大型系统必不可少的一部分,log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题分析和定位。2.日志级别1.日志级从低到高:debug,info,warn,error, 依次升高,性能越高;2.影响输出性能条件:输出到文件系统 > 控制台SimpleLayout > PatternLayout,不带格式化的直接输出更快;日志级别越高,内容输出越少,应用受日志打印影响越少,性能越高;根据不同

2020-08-22 10:39:18 488

原创 Git原理及实践(Fork模式)

1.简介:Git是目前最先进的分布式版本控制系统,在git的管理下,每个人的电脑上都有一个完整的版本库,配合云上一台充当“中央服务器”的电脑(方便交换和修改)。git是用于记录文件变更的版本控制系统, 支持文件版本跟踪,记录,回退,合并 等操作,并在此基础上实现了版本切换,差异比较,分支管理,分布式协作等功能。2.版本库结构:keywords: 管理,追踪,二进制文件.gitgit init .;多次add,一次性commit到本地master;在工作目录中修改文件。暂存文件,将

2020-08-21 11:13:39 1061

原创 《时间手账》读后感

今天下午读了一本关于工作时间管理的书籍《时间手账》,梳理了一些跟自己相关的要点如下:

2019-10-13 21:51:52 626

原创 项目领域模型的应用

1.领域对象的使用用于项目不同层次间的数据交互,并可以在不同层次中实现转换;所有的领域对象建议使用贫血模型;领域对象的使用会使得类数量增多;2.常见的几种领域对象1.PO (persistant object)持久对象 / Entity:通常对应数据模型 (数据库)。可以看成是与数据库中的表相映射的 Java 对象, PO 中应该不包含任何对数据库的操作。2.DO(Do...

2019-10-06 17:52:28 814

转载 开源协议

http://c.biancheng.net/view/2947.html

2019-07-31 22:47:07 171

原创 基于Mahout构建推荐引擎

什么是Mahout? Mahout 是 Apache旗下的一个开源项目,基于由以前的研究人员研究的经典推荐算法,它抽象和实现理论研究成果,将理论知识中的复杂运算进行封装,并支持多种数据源格式(文件,数据库等)并提供了多种可扩展的选项,将其集成到框架中去,使得开发人员能够通过API直接使用该算法实现,通过工具集隐藏其复杂的底层实现,帮助我们创建智能应用程序更快,更简单。此外,通过使...

2019-06-28 09:50:58 579

原创 编写自定义spring-boot-starter

需求背景: Springboot是Spring旗下优秀的子项目之一,其核心理念之一:约定优于配置。通过自动化的配置极大的提升了我们的开发效率,目前已集成诸多组件的starter起步依赖,帮助我们更加快速的构建标准化的应用。 starter作为springboot的一大特色,作为自动配置的核心组成,包括的优点如下:快速创建独立运行的Spring项目以及与主流框架集成...

2019-05-25 10:59:43 475

原创 反射获取类或对象属性和值

最近在开发过程中,由于部分常量配置在接口而非枚举中,当我们需要通过属性名去获取具体接口中常量对应的值时,或是要获取该接口中所有常量名和对应值的键值对集合,显得有些麻烦或是无从下手,故这里封装一个通用的工具类来满足此类需求(扩展到类和对象中),做以下总结。 大致思路:定义 ReflectObjectUtil 工具类,通过反射获取类或对象信息,并将对应信息组装,按照要求的格...

2019-05-08 18:36:30 11845

转载 Mac下IDEA快捷键

IDEA快捷键的熟练运用能够加快开发速度,有些骚操作还是需要靠笔记+多实践,看到一篇文章总结的不错,转载一波。Mac键盘符号和修饰键说明⌘Command ⇧Shift ⌥Option ⌃Control ↩︎Return/Enter ⌫Delete ⌦向前删除键(Fn+Delete) ↑上箭头 ↓下箭头 ←左箭头 →右箭头 ⇞Page Up(Fn...

2019-05-06 16:43:48 3876

原创 应用接入阿里云短信服务

背景 在日常开发中,我们可能会遇到短信验证之类的需求,这也是我们使用各类app或系统中比较常见的。在对比了各个平台提供的短信服务后,从价格,稳定性,接入便捷性进行考虑,最终选择了阿里云所提供的短信服务,之前在做课设的时候接入过,但是当时没有作总结,此次毕设也有该需求,在完成之后做以下总结。开通应用开通阿里云账号,选择短信服务,开通该应用作为第三方短信服务,阿里云提供...

2019-04-15 11:09:38 850

转载 数据流图和数据字典

数据流图数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。基本的图形符号:加工中常用的关系符号表示设计原则:(1)子图的输入输出数据流同父图对应加工的输入输出数据流必须一致,此即父图与子图的平衡。...

2019-04-08 10:12:57 18499 2

原创 Java中文资源大全

Java中文资源大全,github上star数超过一万,挺不错的资源,转发分享下https://github.com/jobbole/awesome-java-cn

2019-03-29 09:11:47 381 1

原创 三七互娱面经

三七互娱(2019年春季校园招聘,岗位:Java游戏开发(服务端))1.宣讲会笔试,20道单选,10道不定项(具体题目不大记得了)2.到公司,一份开放题: 1.你认为java语言有哪些需要改进的地方 2.有没有遇到程序性能瓶颈,怎么定位和处理 3.你心中的游戏服务器是怎样的,工作原理是什么3.一面(40min): 熟悉哪些linux命令 熟悉哪一些数据结构,...

2019-03-29 01:03:55 3805 6

原创 《重构-改善既有代码的设计》学习总结

写于2019-02-22,从git上移到这里:公司原定于年后进行平台系统的局部重构工作,故提前补充了一点这部分的知识,时间仓促,自己重构系统的经验几乎为0,业务+技术上,更多的还是要在实践中去学习,阅读了《重构-改善既有代码的设计》这本书,自己理解较浅,更多的是编码技巧上的内容,总结部分如下,后续再补充。===========================================...

2019-03-22 16:41:18 222

原创 应用接入Spring Boot Admin 2.0

当应用部署到远程服务器后,为了获取应用的运行状态,我们需要接入监控系统从而方便地实现对应用的管理,初步选择的方案是大众点评开发的CAT开源监控系统,自己所在公司也接入了该系统,功能强大,使用较为熟悉。不料自己在接入过程中遇到很多坑,maven包没有发布在中央仓库(在点评自己的仓库下),引入本地仓库,下载缺包,打包依赖失败,启动bean注入失败等等,文档也比较少,在鼓捣了一个下午后表示...

2019-03-22 15:46:47 602

原创 基于Spring Cloud项目实战

(2018年10月2日,从git上移到这里)通过案例学习了基于Spring cloud进行web微服务项目的开发,干货很多。Spring cloud体系提供了完整的微服务开发的解决方案,整合了多个优秀组件,能够很好的帮助我们提高开发效率。在此做以下总结。Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的微服务架构开发工具。它...

2019-03-20 08:47:33 44161 46

原创 CVTE面经

岗位:web后台开发校招岗(2019届春季校园招聘)笔试面试过程中涉及的知识点如下0.笔试(90min) 1.二十道不定项选择题 交换机在七层网络模型中是第几层 下列不是主机的ip地址有哪些 mysql删除一个表中的记录 两表关联,查询的数据两个表都有,用哪个查询关键字 哪个排序算法的时间复杂度是nlo...

2019-03-10 14:28:42 956 3

原创 Java学习推荐书目

以下内容以 Java 方向为例,做了一些自己的总结,其他方向的了解不多暂不写。故写了本文。 每个人的学习方法都不同,适合自己就好。跟大家分享一下自己的学习方法 (不一定适用你们),在大的技术体系下(比如 javaweb 基础,ssm,springboot,springcloud 全家桶等),一般会去找一些质量相对好的(这个定义因人而异了, 可以对应视频的教学大纲,多比对。还有哪个平台...

2019-03-09 09:56:20 631

原创 基于webMagic实现爬虫开发

最近由于毕设一定的数据源,故需要进行爬虫方面的开发,网上的爬虫框架很多,包括scrapy(基于python),PySpider(基于python),webMagic(基于Java)等等。在网上查找了一番资料后选定webMagic,一方面它可以基于Java进行爬虫的开发,更重要的还是它的学习成本很低,官方文档简单易懂(国人开发,中文文档)。作者提供了一组高效而简洁的api,使得我们能用少量...

2019-02-24 11:40:44 1009 1

原创 Redis分布式锁

最近工作涉及到一个需求是关于禁止重复操作的后端校验,当时通过一种与业务耦合的redis加锁方式暂时满足了功能需求,后来在大佬的指点下将该功能抽离出来单独做一个组件,公司目前的项目是典型的分布式系统,自己之前接触的很少,中途也遇到了一些困难,在此做下总结。(基于Spring AOP+自定义注解实现redis分布式锁)什么是分布式锁要介绍分布式锁,首先要提到与分布式锁相对应的是...

2019-02-01 16:01:02 956

原创 Guava学习总结

什么是Guava Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、...

2019-01-22 19:55:57 491

转载 Linux常用命令

转:https://blog.csdn.net/ljianhui/article/details/11100625/

2019-01-15 18:04:03 143

原创 理解kmp算法

最近分配到任务需要做一次技术分享,主题是kmp算法,总结笔记如下:1.背景字符匹配问题(模式匹配问题)给定目标字符串T,和模板字符串P,求T中是否包含P?P在T中的起始位置是多少?主串:用模式串去匹配的串模式串:待定位的子串2.传统匹配过程1. 主串指针i,模式串指针j,下标从0开始:(这里的指针指:数组索引下标)2. 当满足字符相匹配时,i++...

2019-01-15 08:47:39 344

原创 Linux下Elasticsearch的安装和访问

1.什么是ElasticsearchElasticsearch 是一个基于Lucene的分布式、可扩展、实时的搜索与数据分析引擎,它能从项目一开始就赋予你的数据以搜索、分析和探索的能力。Elasticsearch 是一个实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据。 它被用作全文检索、结构化搜索、分析以及这三个功能的组合。2.下载Elasticse...

2019-01-12 21:36:14 5280 1

原创 关于实习工作的建议

关于实习工作的建议(发布在小班班群) 结合自己找实习的经历,和跟同学之间的交流,总结了本文。(坐标:广州;岗位:Java开发)主要是针对走专业路线方向的童鞋,有些部分偏向于后台开发,考研考公的可以忽略。自己在提前实习和秋招过程中碰到的壁很多,也走了很多很多弯路,得到一些实践和总结,以下是本人在此过程中认识到的一些东西,有很多方面可能总结的不好甚至是有误导,还请批评指正。以下多是个人认...

2018-12-30 15:21:04 11830

原创 Java后端开发常用工具

Java后端开发常用工具推荐:俗话说,工欲善其事,必先利其器。不过初学时候不大建议过度依赖IDE等过多工具,这会让自己的编程基础功变得很差,比如各种语法的不熟悉,各种关键字比如synchronized,在IDE中输入sync回车就出来了,这在开发初期是不利于自己成长的。当熟练掌握编码过程的时候,可以通过多种工具来提高自己的开发效率。下面整理了自己常用的一些工具,应该也是外面主流的,用的比较多的...

2018-12-22 17:55:02 13818

原创 Springboot 版本+ jdk 版本 + Maven 版本的对应关系

Springboot 版本+ jdk 版本 + Maven 版本的对应关系Spring boot 版本 Spring Framework jdk 版本 maven 版本 1.2.0 版本之前   6 3.0 1.2.0 4.1.3+ 6 3.2+ 1.2.1 4.1.3+ 7 3.2+ 1.2.3 4...

2018-11-29 09:45:23 5134

原创 Java动态代理模式

代理模式动态代理的意义在于生成一个占位符(又称代理对象),来代理真实的对象,从而控制对真实对象的访问。因此,代理的作用就是,在真实对象访问之前或之后加入对应的逻辑,或者根据其他规则控制是否使用真实对象。建立过程① 代理对象和真实对象之间建立代理关系。② 实现代理对象的代理逻辑方法在Java中有多种动态代理技术,比如JDK、CGLIB、Javassit、ASM,其中最常用的动...

2018-11-24 14:07:21 229

原创 Java反射技术

Java反射    Java反射技术应用广泛,它能够配置:类的全限定名、方法和参数,完成对象的初始化,甚至是反射某些方法,大大增强Java的可配置性。包括对象构建、反射方法、注解、参数、接口等,以下主要测试对象构建和方法的反射调用。通过反射构建对象java中允许通过配置反射信息构建对象。以下面代码为例,通过类加载器注册了类的全限定名,通过newInstance()方法初始化一个对象。...

2018-11-24 13:55:05 246

原创 《代码整洁之道》学习总结

如何写出规范而整洁的代码是每一位程序员孜孜不倦的追求,这在团队协作中显得尤为重要,从《代码整洁之道》,《阿里巴巴Java开发手册》(附下载链接: https://pan.baidu.com/s/11Yo0_9bqa-WQS5G25MXyrQ 提取码: bg43),《重构:改善既有代码的设计》等书,无不体现人们为之做出的努力。最近读了Robert C.Martin的《代码整洁之道》,做如下总结:...

2018-11-21 19:44:52 441

原创 Java调用百度AI开放平台API

百度AI开放平台百度AI开放平台是全球领先的人工智能服务平台,面向开发者及企业开放120多项全球领先的AI能力和软硬一体组件,并提供 EasyDL定制化训练平台、对话系统开发平台UNIT、自定义模板OCR等AI定制化平台,为上下游合作伙伴搭建了展示与交易平台-AI市场。百度AI开放平台全力帮助各行业快速、高效地实现AI升级。本次案例主要测试将百度AI开放平台Java SDK整合到自己的...

2018-11-16 15:40:11 5376

转载 转《大学中最没必要做的事情是什么?》

大学中最没必要做的事情是什么?看到最后一条沉默了 | 致开学的自己 2015-09-07 学生圈  文/整理自知乎,学生君编辑(如有侵权,请联系本人删除) 作者:GabrielGao 1.为了去谈恋爱而谈恋爱 2.为了显得合群,而通宵打游戏 3.为了不值得的荣誉,牺牲个人品德 4.为了显示优越,而特立独行 5.不去...

2018-10-08 14:56:27 531

转载 数据库常用操作(大全)

sql面试题(学生表_课程表_成绩表_教师表)原帖链接:http://bbs.csdn.net/topics/280002741本文转自网络,作为学习交流之用,如有侵权,请联系本人删除表架构Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) ...

2018-09-26 10:16:42 1832 1

原创 Java多线程

Java多线程技能关键技术点:线程的启动如何使线程暂停如何使线程停止线程的优先级线程安全相关问题线程线程可以理解成是在进程中独立运行的子任务使用多线程技术后,可以在同一时间内运行更多不同种类的任务继承Thread继承Thread和实现Runnable接口两种创建线程的方式在工作时的性质是一样的,没有本质的区别在使用多线程技术时,代码的运行结果与代码执...

2018-08-28 22:09:22 190

markdown.png

markdown语法 1.更快的编辑文字; 2.多平台支持,语法简单,效果不错; 3.命令不多,写几篇文章即可熟练运用,之后事半功倍

2020-09-01

arthas.png

Arthas命令速记 Arthas(阿尔萨斯)是阿里巴巴开源的 Java 诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控到JVM的实时运行状态? 怎么快速定位应用的热点,生成火焰图? Arthas 采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。 实际摸索起来,你会发现Arthas的功能是非常强大的,再也不用加班查问题了。

2020-09-01

空空如也

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

TA关注的人

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