自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 越自律越自由,不忘初心,勇敢追梦

前言 一个月前,我是带着一颗对大厂憧憬的初心来的,抱着整日学习、整日提升的决心来的。一个月之后的今天发现自己做成了压根不是自己想要的样子,迷茫、堕落、毫无提升、毫无学习的动力,逐渐放纵了自己,能拖择拖,能怎么邋遢就怎么邋遢,肆无忌惮的感觉是真安逸,但是真可怕.....我是如何变堕落的回头想想,现在已经来北京京东工作接近一个月了,在这一个月的过程中我发现我少了许多刚来这边时的...

2021-01-17 11:08:58 8029 27

原创 Linux搭建Java Web服务(CentOS,jdk1.8,mysql5.7,部署)

说明:1. 本文主要配置以下环境,JDK(jdk-8u161)、Tomcat(8.5.51)、Mysql(5.7),服务器采用的是腾讯云Centos 7.2。2. 本文是经过3次系统部署后记录的文档,文章中将会详细的说明在每一个过程中可能遇到的问题,因此希望大家与我的操作统一环境。3....

2020-03-12 18:09:05 2487

原创 利用测试号实现微信配置模板消息的推送(SDK版)

说明:本文采用的是微信模板SDK开发,主要描述如何使用。消息推送一共有两种,一种是客户端类似支付、下单完成等微信端的信息推送;另外一种就是后端管理页面的新消息的提醒(声音的提醒、弹框的提醒)。对于第一种,是微信端的消息推送,需要对微信模板的使用有所了解。第二种是后端提供服务的消息提醒。客户模块的webSocket的使用:微信端的消息推送消息的最终效果如下图所示.具体开发流程如下:...

2019-05-26 21:44:29 8308 6

原创 大学毕业一年 - 北漂生活

回首来路,收获满满,展望前方,未来可期!

2022-07-01 10:42:41 541 6

原创 普本毕业一年,回首来路,收获满满,展望前方,未来可期!

北漂 - 回首来路,收获满满,展望前方,未来可期

2022-06-28 17:42:38 435 3

原创 如何获取特定时间范围内的所有空闲时间段(java版)

业务场景说明:最近接到一个产品的需求,要求获取某个人,在某一天从上午9点到下午18点内超过两个小时的时间段范围列表,后面用于后继插入其他工作.....感受:资本家的每个毛孔里都渗透着血和肮脏的东西....吐槽哈, 不要见怪,不要见外,大家都知道哈。吐槽终究是吐槽,我还不是在被压榨的过程中缓慢前行么,不被压榨,咋生活呀。本次实现其实是在排班系统存在的前提下,可以获取某人未来的排班信息,用于后期做分段切割的基础数据。下图就是比较直白的展示了24小时内全部空余时间和工作时间的线路图。那应该.

2022-05-05 20:59:58 1291

原创 在工作中如何提升自己?

计算机基础和代码能力最重要这一条得到所有人的认可。只有具备了扎实的计算机基础知识(操作系统,算法,数据结构,分布式等等),才能在学习新技术的时候快速地理解和上手,否则就会遇到重重困难。算法和数据结构是代码能力的基础,如果这个不过关,无论是读别人的代码,还是自己写代码,都会很吃力。如果感觉自己在基础方面有薄弱环节,建议业余时间自己补上。例如,如果感觉自己算法和数据结构不过硬,可以多刷一些算法题提高自己;如果感觉自己在分布式方面不熟悉,可以多看看分布式方面的技术书或者文章。2 -- 沟通能力非常

2022-04-22 18:17:29 1195 1

原创 延迟对列公共服务的设计

适用场景:延时任务有别于定时任务,定时任务往往是固定周期的,有明确的触发时间。而延时任务一般没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件。也就是说,任务事件生成时并不想让消费者立即拿到,而是延迟一定时间后才接收到该事件进行消费。定时任务首选Medusa CronJob, 有DAG需求或者大数据任务的选Airflow在订单系统中,一个用户某个时刻下单之后通常有30分钟的时间进行支付,如果30分钟之内没有支付成功,那么这个订单将自动进行过期处理; 车..

2022-04-14 19:44:24 2090

原创 为什么选用Zookeeper? 观察者-选举图文梳理

从毕业到现在,已经进入工作岗位多半年了,在这半年中我一直在想通过公司的实际业务场景使用分布式的一些组件,然后带着一些使用的疑问去打通原理与实际业务场景。一个系统不可能是单纯的一个服务,而是多个服务相互依赖,只要存在依赖关系就难免会出现远程过程调用RPC,在远程过程调用的过程中最为重要的 “分布式协调/通知”,配合dubbo组件或者其他RPC方案完成调用,所以使用到zookeeper。与实际业务打通的业务点有哪些?实际业务场景是如何实现的?动态上下线分布式锁...

2021-12-19 18:26:37 325

原创 我应该如何优化接口呢?(CompletableFuture)

背景:前些天在业务不怎么繁忙的时候,我主动用kibana、grafana 创建了一份属于我负责服务的接口性能图,通过性能图就能轻松看出每个接口的响应时间。那么问题来了:我应该如何优化慢查询呢? 我应该通过什么工具来看出我需要优化哪些点呢? 我应该如何实现优化呢?用到的技术点有哪些呢?grafana 可视化表:kibana 可视化表:可以依据自己想看的报表建立相关的可视化,然后通过可视化来排查哪些接口存在性能问题、又有哪些接口存在错误问题等。当找到待优化的接口之后,紧接着就是要明确应..

2021-11-14 13:07:55 991 2

转载 Java线程池中的那些事儿-面试必备

前言掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。github 地址github.com/whx123/Java…经典面试题面试问题1:Java的线程池说一下,各个参数的作用,如何进行的?面试问题2:按线程池内部机制,当提交新任务时,有哪些异常要考虑。面试问题3:线程池都有哪几种工作队列?面试问题4.

2021-09-10 12:08:05 195

原创 01背包问题 从暴力到动态规划

1.什么是背包问题?具体题目最基本的背包问题就是01背包问题(01 knapsack problem):一共有N件物品,第i(i从1开始)件物品的重量为w[i],价值为v[i]。在总重量不超过背包承载上限W的情况下,能够装入背包的最大价值是多少?百度百科背包问题(Knapsack problem)是一种组合优化的NP完全(NP-Complete,NPC)问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能...

2021-08-10 16:37:40 1236 3

原创 IDEA 2021.1 操作SVN 最新 图文 详细版

说明本教程将通过idea从svn服务器中的任意一个分支检出代码(本文采用branches),然后再idea中创建新的分支、提交代码、拉取代码、合并分支等操作进行一一记录,暂不包含代码合并。环境要求IDEA :IntelliJ IDEA 2021.1 x64SVN: ortoiseSVN 1.14.1 (需要先安装小乌龟 )SVN项目目录结构trunk:为主开发目录,从开始到消亡。这个就是符合线上环境的版本,也可以用来打包备份,同时可以为后面branches创建分支提供了基础代码。.

2021-05-18 17:58:13 8672 12

原创 神奇的二分查找 - java语言实现

1.什么是二分查找 官方给出的解答是:二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 由此可以得出在二分查找中两个必要的要求是:必须是物理逻辑上的存储结构相临,也就是常用的数组了。 必须是已经排好顺序的数组。 2.思路与图示 情景还原 --什么时候用到二分查找?题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数...

2021-05-04 18:42:36 204

原创 携程笔试

题目描述:一般在代码Code Review或者持续集成过程中,一次代码提交会触发代码的重新编译及正在Review过程的Pull Request的Approval重置,为了加快编译或者只重置受影响的Pull Reqeust,都会进行代码包依赖分析,找出受影响的代码包(package)。我们使用正整数表示包,对给定的被修改的包,求出所有受影响的包(去重)所代表数字的和,若无受影响的包,则和返回-1。注意,直接依赖及间接依赖的包被修改,当前包均被定义为受影响。输入描述第一行为整数,代表被修改的包。 .

2021-04-15 21:01:56 349

转载 Elasticsearch的实际使用场景案例

京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大,造成了订单数据读多写少的情况。我们把订单数据存储在MySQL中,但显然只通过DB来支撑大量的查询是不可取的。同时对于一些复杂的查询,MySQL支持得不够友好,所以订单中心系统使用了Elasticsearch来承载订单查询的主要压力。

2021-02-26 11:09:47 2156 1

原创 容易暴雷区(一)从List中去掉不想要的数据

背景:前几天在实现一个“去标与加标”【说明:就是京东显示京配打标效果】操作的时候,存在批次的加标与去标操作,为了应对实际业务的要求,采用下面的方式去实现,因此掉入了下面的深坑中,久久不能平息....目的:记录在实际项目中容易“暴雷”的坑中,同时梳理哈,为啥会出现问题?核心原因是哪个调用的底层不清楚了?下面是一个测试demo,用来还原实际的业务场景:List list = new ArrayList<>(); list.add(1); list.add(2); l

2021-02-23 12:44:06 714 1

原创 记录一次京东物流面试(应届生)

1.基本数据类型有哪些?2.面向对象的基本特征有哪些?分别解释下?(核心:多态的解释)3.==和equals的区别和联系?4.包装类型与基本类型的区别?自己举例说明的是Integer与int的区别?5.内存泄漏和内存溢出的区别和联系?6.接口和抽象类的区别7.聊一下Java集合体系结构?8.进程和线程的区别是什么? 9.在Java中怎么实现多线程?10.Thread或者Runnable,两种的区别?11.线程的基本状态以及状态之间的流转关系?12.为什么需要同步,

2020-12-02 22:35:37 1834 6

原创 固定资产管理系统项目总结

项目问题:客观问题关键字:实事求是、投机取巧,不可取、不要存在侥幸心理、模块清晰化。一、时间问题 1.项目原始开始时间是7月1号,实际开始时间是8月3日,在项目在开始的时候已经延期一个月时间。因此项目延期在开始的时候就是可以预估到的。 2.项目排期存在问题。存在有些模块需求还不是太明确,因此确定的某某某个模块的时间是不够的,这也是在项目前期无法预料到的问题。二、人员分配问题 1.项目前期、中期只有两个人,导致开发的时候容易犯错...

2020-10-25 22:53:35 1573

原创 考试系统项目开发感受

优点:1.按照提出的需求分析,设计出数据库,然后一起开会讨论确定数据库。2.项目前期的设计我参考xx-u考试处理的整个业务流程。我和田俊提出我的处理方案,最终拍板定案。这样可以给我独立思考的机会。3.项目的数据库文档,字典文档的处理采用模板的格式导入,提升了开发业务效率。4.是第一次使用,springboot开发一个项目,整体编码水平感觉有所提高。缺点:1.代码性能未达标。例如,导出答题卡的,查询阅卷的。2.接口的细节处理不到位。例如,捕获异常处理,数据错误异常。3.代码处理模板张威...

2020-07-10 21:47:58 373

原创 Druid 详细搭建案例

Druid配置1.什么是druid? Druid是一个数据库连接池。Druid是目前用户的比较多的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池.同时Druid提供的监控功能,监控SQL的执行时间、ResultSet持有时间、返回行数、更新行数、错误次数、错误堆栈信息,可以清楚知道连接池和SQL的工作情况,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有...

2020-03-25 19:51:52 575

原创 代码是如何生成的?

说明:本文将会同一个代码生成的实际案例出发来讲解为什么需要代码生成器?这个根据可以帮助我们生成什么东西?以及它的工作原理是什么等问题。其中主要讲解的部分是代码生成器的原理,因为只有理解了原理,我们才可以随心所欲的去编写自己想要的模板,从而为项目开发节省大量时间。问题1:现在有很多代码生成工具,为什么我们还要自己去实现一个呢?...

2020-02-20 10:20:56 5485

原创 Spring Boot日志框架原理及使用

说明:在上一篇文章中讲了《spring Boot的配置文件是如何加载的》通过学习使得我们对spring boot中的配置文件的类型、加载顺序,以及yml的语法等都有了一定理解。相信大家在开发的时候经常使用System.out.println();来打印查询中出现的一些系统日志信息,其中有系统的正常运行信息,也有错误信息。简单的概括就是鱼龙混杂,因此本片为了解决这个问题主要介绍日志框架的使用.问...

2020-02-11 21:20:39 533

原创 spring Boot的配置文件是如何加载的

说明:经过上文《Spring Boot是如何跑起来的》的分析,相信大家已经对Spring Boot的启动有了一定的了解。我们也知道Spring boot会在底层给我们自动配置默认值.这个时候如果我们需要修改某些配置(端口号,数据库连接信息等)应该怎么办?有什么好一点的方式去实现吗?下文将会为你解决这些疑问。问题1:spring boot中的全局配置文件有些什么?答:SpringBoot使用...

2020-02-10 12:00:42 747

原创 Spring Boot是如何跑起来的

说明:在上文用spring boot搭建了个hello word程序,当案例成功运行起来的时候我很好奇,我没有导入Spring相关的依赖,也没有配置Tomcat,那么hello word是如何跑起来的呢?我相信有很多初学者和我一样的迷茫,下面我以初学者的角度说明部分运行原理,可能不是太深奥哦!首先我来回答一下上诉说明中的疑问,其实Spring Boot已经帮我们引入的web项目所需要的所有相关...

2020-02-08 10:47:13 901

原创 spring boot 入门 Hello World

本次案例环境说明:jdk1.8:Spring Boot 推荐jdk1.7及以上;java version "1.8.0_112"maven3.x:maven 3.3以上版本;Apache Maven 3.3.9IntelliJIDEA2018:IntelliJ IDEA 2018.2.2 x64、STSSpringBoot 1.5.9.RELEASE:1.5.9;第一步 创建s...

2020-02-05 18:56:46 401

原创 如何把shiro集成到spring中?

说明:1.本文主要描述的是一个web项目中shiro的大致执行流程,以及把shiro与spring相互集成的流程。2.本文将从搭建简单的web项目架构开始,来描述项目的整个执行过程。3.web项目的整个执行流程:当项目发布到tomcat的时候,tomcat会先加载web.xml文件,然后解析xml,在这个xml中有提供服务的另外一个xml,有提供安全框架shiro的xml,有sping...

2019-10-19 15:33:26 340

原创 Spring Boot Jpa中的一些常用方法有哪些?

说明:在刚开始结束Spring Boot的时候,会感觉到一种莫名其妙的感觉。为什么我只需要继承Jpa就可以实现Dao层的简单查询?那有哪些是已经实现的?又有哪些是可以通过命名查询的?如果我想自定义查询我应该如何编写呢?下面就是一些常用到的查询方式,可以帮助你一一解决上述问题。什么是Jpa?SpringBoot为什么称它为微服务?我感觉就是因为它在项目初始化的时候相对于SSM更加的简介化,不...

2019-06-02 17:29:42 1614

原创 Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredExceptio

错误贴图:问题分析:这个异常是由于删除、更新等事物的异常。解决办法:添加@Transactional注解实例源码: @Transactional @Modifying @Query("delete from OrderDetail where orderId = ?1") void deleteByOrderId(String OrderId)...

2019-06-02 16:18:34 6222

原创 如何将自己的项目放在git上(GitHub Desktop版)

说明:本文是通过实际操作完成了发布,同时记录一下操作过程。(没有使用分支)前提准备:需要有git账号(https://github.com/)、GitHub Desktop桌面程序(https://desktop.github.com/)、git工具(https://git-for-windows.github.io/)、将要上传的源代码。首先我们应该明白两个仓库:本地仓库、远程仓...

2019-05-31 18:00:57 3782

原创 用户下订单业务逻辑

涉及到的基本对象有哪些?答:用户类,订单主表类、订单详情类、枚举类、异常类、数据传输DTO类、前端视图VO类、对象转换类工具类等。为什么需要这些类?用户类:作为用户订单中的主角,不可省略。订单主表类:主要存放一些关于订单的内置属性。例如:订单状态、支付状态、用户的各种信息、订单总价等。订单详情表:主要存放在一个订单中用所购买的商品信息。例如:商品名称、商品单价、商品数量等。...

2019-05-30 18:12:55 5221

原创 为什么需要使用Spring AOP(代理模式)

说明:本文主要是讲解Spring AOP的来源,以及如何使用,同时对代理模式做简单的讲解;本文不分析源码执行过程,只是通过问题的形式来说明Spring Aop的来龙去脉。Spring Aop是什么东西?传统的开发模式是从上到下,也就是OOP了,而AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们...

2019-05-29 15:12:31 2494

原创 利用H5如何实现后台管理页面消息的推送(SpringBoot)

说明:本文对WebSocket不做深入的讲解,编写此文的主要目的是明白程序的过程。可以参考实例化代码看上面的描述,这样会很容易理解。WebSocket通常用于网站的通信模块,可以实现后端管理页面的消息的推送。情景分析:客户想知道当前最新的订单消息,同时希望听到提醒的消息(类似美团后台提醒一样)。类似这种需求就可以利用H5 WebSocket技术去实现。最终效果图类似下图:那么,什么是W...

2019-05-27 11:57:28 4183

原创 AWCP初始化配置

使用的工具:开发软件:IDEA  数据库:Navicate下载AWCP源码https://gitee.com/harvey_danny/AWCP1.下载方式可以通过Git,或者直接下载压缩包。完成后如下:2.将sql文件中的sql文件导入到本地数据中,我这里使用的是navicat将项目导入到开发环境IDEA中(只需要将POM文件导如下载即可),下载完毕后如下目录结构:...

2018-12-08 17:43:43 861 1

原创 windows服务器如何远程连接数据库

条件:阿里服务器一台、在服务其中已经安装Mysql以及navicat;具体流程如下图:打开服务器中的navicat,创建一个连接; 2.新建连接完成3.修改连接用户权限这个时候只是创建好服务器的第一步,后期需要进行对端口的开放做详细描述。第二步:放开服务器端口的步骤:1.打开阿里云服务器管理页面,进行安全组配置;.进入配置规则...

2018-12-04 21:28:59 1584

原创 Failed to load ApplicationContext

错误截图:错误分析:测试类启动不了;这里使用SpringBoot的测试组件,需要添加如下两个注解:@RunWith(value = SpringJUnit4ClassRunner.class)让测试运行在spring的环境,这样我们测试的时候就可以和开发的时候一样编写代码,例如使用@Autowired注解直接注入@SpringBootTest(classes = Applica...

2018-11-25 14:05:01 535

原创 跨域问题的出现与解决

                                 jeecg 跨域问题的出现与解决跨域问题是如何看出来的对于前后端相互分离的代码来说利用AJAX进行交互,在谷歌控制台上会出现请求头相关的信息,这就说明跨域了。具体错误信息为:”Access-Control-Allow-Origin” head……什么是跨域浏览器从一个域名的网页去请求另一个域名的资源时,域名、...

2018-10-25 16:14:03 3025

原创 java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key c

错误原图:错误分析:外键约束失败导致插入数据有误,也就是说店铺(一级)、商品分类(二级)、商品(三级),我在插入数据的时候,店铺数据和商品分类数据不存在或者数据插入错误,而商品数据正确,最终导致商品插入的时候找不到商品类别与店铺,从而出现错误。解决问题:检查店铺(一级)、商品类别(二级)的数据(id)是否存在,或者正确。相关知识:外键约束的使用对外键约束定义的体现:数据的一致性...

2018-10-13 21:15:58 27437 5

原创 SSM框架后台与前端交互Postman解析无数据

                        错误贴图 说明controller层的路径没有错误,可以正常访问Tomcate 数据为空,并且没有成功,说明Service层的业务逻辑类有错  Service层代码(更新后) /** * 学生根据关键字模糊查询本班所有课程 * @param classId * @param k...

2018-07-29 21:19:28 908

空空如也

空空如也

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

TA关注的人

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