首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
Java架go
获赞
55
粉丝
65
关注
4
看过 TA
72
男
北京邮电大学
2016
Java
IP属地:湖南
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑Java架go吗?
发布(930)
评论
刷题
收藏
Java架go
关注TA,不错过内容更新
关注
2021-04-08 04:47
已编辑
北京邮电大学 Java
【NIO系列】——之Netty(四)
这是NIO系列的第四篇,欢迎继续关注: 【NIO系列】——之TCP探秘 【NIO系列】——之IO模型 【NIO系列】——之Reactor模型 如果你看过前面三篇文章,我们从最低层来分解NIO底层原理和使用方式,帮忙我们理解了NIO是什么,解决了什么问题,以及又有那些不足。 原则上NIO的出现,已经提升和加快了网络IO的处理方式,但它只能帮忙我们解决了IO层次的读写问题,在软件层次上我们需要更好的编程架构模型,来解决扩展性以及高并发的问题。Netty正是用来解决这些问题的,这一篇我们将详细介绍Netty的知识点。 一、netty是什么 1、是什么 我们采用官方的话来说: Netty是一...
0
点赞
评论
收藏
分享
2021-04-08 04:46
北京邮电大学 Java
前阿里P8大牛是这样做SpringBoot+AOP构建多数据源的切换的!
针对微服务架构中常用的设计模块,通常我们都会需要使用到druid作为我们的数据连接池,当架构发生扩展的时候 ,通常面对的数据存储服务器也会渐渐增加,从原本的单库架构逐渐扩展为复杂的多库架构。 当在业务层需要涉及到查询多种同数据库的场景下,我们通常需要在执行sql的时候动态指定对应的datasource。 而Spring的AbstractRoutingDataSource则正好为我们提供了这一功能点,下边我将通过一个简单的基于springboot+aop的案例来实现如何通过自定义注解切换不同的数据源进行读数据操作,同时也将结合部分源码的内容进行讲解。 首先我们需要自定义一个专门用于申明当前jav...
0
点赞
评论
收藏
分享
2021-04-08 04:46
北京邮电大学 Java
阿里架构师 360 度无死角剖析微服务!
微服务是近年来备受关注的话题,它的出现让我们想起了十年前的 SOA(Service-Oriented Architecture,面向服务架构),但它比传统的 SOA 更容易理解,也更容易实践,它将“面向服务”的思想做得更加彻底。 尤其是当国外的一些知名技术公司成功实践了微服务以后,这股热潮就吹遍了国内的大街小巷,我们也看到很多的项目使用了微服务,但实际上依然有不少朋友对于微服务有着不少疑惑。 因此本篇文章,会介绍与微服务架构相关的一些基础概念、适用场景以及如何解决在实践中遇到的问题等内容。 一、与微服务相关的一些基本概念 我以前做过微服务,基本框架是 Spring MVC,微服务之间和微服务与...
0
点赞
评论
收藏
分享
2021-04-08 04:46
已编辑
北京邮电大学 Java
SpringBoot+JWT+Shiro+MybatisPlus实现Restful快速开发后端脚手架其实就这么简单
一、背景 前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。SpringBoot使编码配置部署都变得简单,越来越多的互联网公司已经选择SpringBoot作为微服务的入门级微框架。 Mybatis-Plus是一个 Mybatis 的增强工具,有代码生成器,并且提供了类似hibernate的单表CRUD操作,又保留了mybatis的特性支持定制化 SQL。 Apache Shiro是一款强大易用的Java安全框架,Java官方推荐使用Shiro,它比Spring Security更简单易用,Spring自己的系列Spring side4也把权限扩建换成Shiro了。 现在...
0
点赞
评论
收藏
分享
2021-04-08 04:45
北京邮电大学 Java
在Redis中设置了过期时间的Key,需要注意的问题!
熟悉Redis的同学应该知道,Redis的每个Key都可以设置一个过期时间,当达到过期时间的时候,这个key就会被自动删除。 在为key设置过期时间需要注意的事项 1、 DEL/SET/GETSET等命令会清除过期时间 在使用DEL、SET、GETSET等会覆盖key对应value的命令操作一个设置了过期时间的key的时候,会导致对应的key的过期时间被清除。 //设置mykey的过期时间为300s 127.0.0.1:6379> set mykey hello ex 300 OK //查看过期时间 127.0.0.1:6379> ttl mykey (integer) 294 /...
0
点赞
评论
收藏
分享
2021-04-08 04:45
已编辑
北京邮电大学 Java
总是写“烂代码”?强烈推荐你使用这款 IDEA 插件!
idea集成sonar的代码检查,实现可以在提交代码前就检查你的代码,而不是将代码提交之后,之后再去检查。 Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题 不遵循代码标准 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写 潜在的缺陷 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的缺陷 糟糕的复杂度分布 文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的...
0
点赞
评论
收藏
分享
2021-04-08 04:45
北京邮电大学 Java
Docker 搭建 Java Web 运行环境其实很简单!
Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐步使用 Docker 来替换现有的虚拟化平台了。作为一名 Java 程序员,我们是时候一起把 Docker 学起来了! 本文会对虚拟化技术与 Docker 容器技术做一个对比,然后引出一些 Docker 的名词术语,比如:容器、镜像等,随后将使用 Docker 搭建一个 Java Web 运行环境,最后将对本文做一个总结。 我们先来回顾一下传统虚拟化技术的体系架构: 可见,我们在宿主机的操作系统上,可安装了多个虚拟机,而在每个虚拟机中,通过虚拟化技术,实现了一个虚拟操作系统,随后,就...
0
点赞
评论
收藏
分享
2021-04-08 04:44
北京邮电大学 Java
只需要6个步骤,代码性能瞬间翻倍!
一、性能优化的原则概述 在实际的性能优化中,我们需要考虑的因素很多,也经常需要在多个角度和目标间做一些平衡和取舍。为了帮助你把握这些,我个人总结出了六条原则,我把它们概括为:"三要,三不要"。 三个“要”原则是:要优先查最大的性能瓶颈,性能分析要确诊性能问题的根因,性能优化要考虑各种的情况。 三个“不要”的原则是:不要做过度的、反常态的优化,不要过早做不成熟的优化,不要做表面的肤浅优化。 接下来,我们一个个地讲一下这六个优化原则。 二、三个"要"的原则 你可能已经发现了,这三个“要”的原则之间,其实是步步递进的关系。也就是首先需要查找最大性能瓶...
0
点赞
评论
收藏
分享
2021-04-08 04:44
已编辑
北京邮电大学 Java
阿里P8架构师告诉你:性能优化其实不难,记住这十条策略就够了!
上一篇文章,我们聊了性能优化的六大原则。原则有了,但是在针对实际的性能问题的时候,用什么样的解决方案才可以提升性能呢?这就需要你了解具体的优化策略了。 现实中的性能问题和具体领域千差万别,我也不可能面面俱到。但是为了帮助你理解,我总结了十大常用的优化策略。 我将这十大策略分成五个类别,每个类别对应两个相关策略,帮助你掌握。这五个类别是:时空相互转换、并行 / 异步操作、预先 / 延后处理、缓存 / 批量合并、算法设计和数据结构。我们现在一个个来讲。 一、时空转换 第一个策略类别是“时空转换”。我们看科幻电影和小说的时候,经常会看到时空转换这个题材。性能优化里面有两个策略恰好组成了这个类别...
0
点赞
评论
收藏
分享
2021-04-08 04:44
已编辑
北京邮电大学 Java
接私活又有着落了!推荐3个快速开发平台 前后端都有 !
经常性逛github,发现了一些优秀的开源项目,其中的框架及代码非常不错,现在给大家推荐三个快速开发平台。 第一个就是优秀的Jeecg-boot快速开发平台 前端采用阿里的ant-design-vue,兼容PC端、手机端、Pad端。 开发环境 语言:Java 8 IDE(JAVA):IDEA / Eclipse安装lombok插件 IDE(前端):WebStorm 或者 IDEA 依赖管理:Maven 数据库:MySQL5.7+ & Oracle 11g & Sqlserver2017 缓存:Redis 后端 基础框架:Spring Boot 2.1.3.RELEASE ...
0
点赞
评论
收藏
分享
2021-04-08 04:43
已编辑
北京邮电大学 Java
接口性能优化实践总结:优化接口性能的八个建议
前言 最近对外接口偶现504超时问题,原因是代码执行时间过长,超过nginx配置的15秒,然后真枪实弹搞了一次接口性能优化。在这里结合优化过程,总结了接口优化的八个要点,希望对大家有帮助呀~ 数据量比较大,批量操作数据入库 耗时操作考虑异步处理 恰当使用缓存 优化程序逻辑、代码 SQL优化 压缩传输内容 考虑使用文件/MQ等其他方式暂存,异步再落地DB 跟产品讨论需求最恰当,最舒服的实现方式 嘻嘻,先看一下我们对外转账接口的大概流程吧 1.数据量比较大,批量操作数据入库 优化前: 优化后: 性能对比: 批量插入性能更好,更加省时间,为什么呢? 打个比喻:假如你需...
0
点赞
评论
收藏
分享
2021-04-08 04:43
已编辑
北京邮电大学 Java
这个Java开源后台管理系统,真的太香了!
还是那句话,重复造轮子是个苦逼的活,能搞懂搞会一个好轮子,是多么美好的事情,今天介绍一款杠把子级别的Java开源后台管理系统,RuoYi 基于SpringBoot开发分普通交互前段bootstrap版本,和vue前后端分离版本; bootstrap版本开源地址: https://gitee.com/y_project/RuoYi/ vue前后端分离版本开原地址: https://gitee.com/y_project/RuoYi-Vue bootstrap版本: 演示地址:http://ruoyi.vip 文档地址:http://doc.ruoyi.vip ...
0
点赞
评论
收藏
分享
2021-04-08 04:42
已编辑
北京邮电大学 Java
超详细的Tomcat性能监控及调优教程!你学废了吗?
一、下载地址 https://tomcat.apache.org/download-80.cgi 二、安装步骤 将安装包 apache-tomcat-8.5.39.tar.gz 上传至服务器 /usr/local 目录下,再执行如下步骤: [root@admin local]# cd /usr/local [root@admin local]# tar -zxvf apache-tomcat-8.5.39.tar.gz // 解压压缩包 [root@admin local]# mv apache-tomcat-8.5.39 tomcat-8.5.39 // 重命名tomcat目录 启动to...
0
点赞
评论
收藏
分享
2021-04-08 04:42
已编辑
北京邮电大学 Java
分布式锁用 Redis 还是 Zookeeper?看完你就知道了
为什么用分布式锁? 在讨论这个问题之前,我们先来看一个业务场景: 系统A是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。 由于系统有一定的并发,所以会预先将商品的库存保存在redis中,用户下单的时候会更新redis的库存。 此时系统架构如下: 但是这样一来会产生一个问题:假如某个时刻,redis里面的某个商品库存为1,此时两个请求同时到来,其中一个请求执行到上图的第3步,更新数据库的库存为0,但是第4步还没有执行。 而另外一个请求执行到了第2步,发现库存还是1,就继续执行第3步。 这样的结果,是导致卖出...
0
点赞
评论
收藏
分享
2021-04-08 04:42
北京邮电大学 Java
推荐这33个IDEA最牛配置,好用到爆!太香了!
1.设置maven 1.在File->settings->搜索maven 2.Mavan home directory--设置maven安装包的bin文件夹所在的位置 3.User settings file--设置setting文件所在的位置 4.Local repository--设置本地仓库 2.IDEA 设置代码行宽度 1.在File->settings->Editor->Code Style 2.有人会问,如果输入的代码超出宽度界线时,如何让IDE自动将代码换行?有两种方式! 3.第一种,在上述的“Right margin (columns)”...
0
点赞
评论
收藏
分享
1
5
6
7
8
9
62
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务