• 高逼格开源聊天系统 推荐 Spring+Netty+Websocket实现

    很多技术人对聊天系统比较感兴趣,当年马哥,靠一个聊天系统搞出一个帝国,所以聊天系统对技术人心中总有一种好感。今天推荐一个聊天开源聊天系统,大伙有空可以学习下,提高下;github开源地址:https://github.com/Kanarienvogels/Chatroom互联网实时聊天系统 (Spring + Netty + Websocket)0. 前言最近一段时间在学习Ne...

    Java 2020年04月02日 2048 0
  • Spring Boot 如何整合多个数据源?

    SpringBoot现在是很多很多公司应用的后端框架,因为它搭建快,能更好、更快速的整合其他第三方。那么随着业务的不断扩展,业务量的增加,这时候就会牵扯到分库分表,虽然这个词听起来很熟悉,作为程序员也很容易理解,但是我想应该也有不少读者没接触过分库分表,今天我们不聊如何分库分表,而是聊SpringBoot如何整合多个数据源的事情。也就是如何接入不同的(多个)数据库。我们直接开始...

    Java 2020年03月31日 2143 0
  • 几分钟学会:SpringBoot2.0整合C3P0、Druid数据库连接池

    SpringBoot整合数据库连接池其实是很简单的,不管是c3p0还是Druid,步骤都一样,都是在pom.xml中加入依赖,在application.yml加入连接信息,再加上一个配置类即可。一、整合C3P01、pom.xml加入如下依赖<dependency> <groupId>com.mchange</groupId> &l...

    Java 2020年03月31日 3169 0
  • 基于canvas的JavaScript 二维码生成工具——QRCanvas

    介绍在我们日常的开发中,特别是在现代的社会环境下,二维码的应用可谓是丰富多彩,各种各样让人眼花缭乱的二维码,可见二维码已经渗透进我们生活的方方面面,也可以说目二维码确确实实方便了我们的生活。因为作为开发人员,很多项目都会用到二维码,最多的莫过于生成二维码,而如今Web应用盛行,那么就有这样一个二维码生成的Javascript库诞生了,它仅仅依赖与canvas,因此它支持大多数浏...

    Java 2020年03月29日 1486 0
  • Java程序员必须了解的20个lib库

    一般一个经验丰富的开发者,一般都喜欢使用开源的第三方api库来进行开发,毕竟这样能够提高开发效率,并且能够简单快速的集成到项目中去,而不用花更多的时间去在重复造一些无用的轮子,多了解一些第三方库可以提高我们的开发效率,下面就来看一下在开发过程中经常会用到的一些开发第三方库,也可能不是太全,就列举一些常见或者常用的吧。1,日志库日志库是最常用的,毕竟在开发项目的过程中都需要使用日...

    Java 2020年03月28日 2207 0
  • Spring Boot Actuator:健康检查、审计、统计和监控

    Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查、审计、统计和HTTP追踪等。所有的这些特性可以通过JMX或者HTTP endpoints来获得。 Actuator同时还可以与外部应用监控系统整合,比如 Prometheus, Graphite, DataDog, Influx, Wavefront, New Relic等。这...

    Java 2020年03月27日 1443 0
  • Diboot 2.0.5 发布,自动化开发助理

    一、前言Diboot 2.0.5版本已于近日发布,在此次发布中,我们新增了file-starter组件,完善了iam-starter组件,对core核心进行了相关优化,让devtools也支持对IAM与File组件相关代码进行自动化处理。除此之外,我们还为您准备了两套前端基础项目,分别是基于 Antd Pro Vue 和 基于 Vue Element Admin 的项目,有助于...

    Java 2020年03月26日 1731 0
  • 手把手带你入门 Spring Security,别再问密码怎么解密了

    1.新建项目首先新建一个 Spring Boot 项目,创建时引入 Spring Security 依赖和 web 依赖,如下图:项目创建成功后,Spring Security 的依赖就添加进来了,在 Spring Boot 中我们加入的是 spring-boot-starter-security ,其实主要是这两个:项目创建成功后,我们添加一个测试的 HelloControl...

    Java 2020年03月26日 1418 0
  • 如何在Spring Boot应用程序上启用HTTPS?

    HTTPS是HTTP的安全版本,旨在提供传输层安全性(TLS)[安全套接字层(SSL)的后继产品],这是地址栏中的挂锁图标,用于在Web服务器和浏览器之间建立加密连接。HTTPS加密每个数据包以安全方式进行传输,并保护敏感数据免受窃听者或黑客的攻击。自签名证书其实可以使用位于JDK bin文件夹下的Keytool生成证书。例如,C:\ Program Files \ Java ...

    Java 2020年03月25日 1615 0
  • 如果面试官问你MyBatis SQL是如何执行的?这里会有你想要的答案

    初识 MyBatisMyBatis 是第一个支持自定义 SQL、存储过程和高级映射的类持久框架。MyBatis 消除了大部分 JDBC 的样板代码、手动设置参数以及检索结果。MyBatis 能够支持简单的 XML 和注解配置规则。使 Map 接口和 POJO 类映射到数据库字段和记录。MyBatis 的特点那么 MyBatis 具有什么特点呢?或许我们可以从如下几个方面来描述:...

    Java 2020年03月25日 2283 0
  • 一个HashMap能跟面试官扯上半个小时

    前言HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。开场面试官: 你先自我介绍一下吧!安琪拉: 我是安琪拉,草丛三婊之一,最强中单(钟馗不服)!哦,不对,串场了,我是**,目前在--公司做--系统开发。面试官: 看你简历上写熟悉Java集合,HashMap用过的吧?安琪拉: 用过的。(还是熟悉的味道)面试官: 那你...

    Java 2020年03月25日 1237 0
  • 十分钟上手 ES 2020 新特性

    ES2020 是 ECMAScript 对应 2020 年的版本。这个版本不像 ES6 (ES2015)那样包含大量新特性。但也添加了许多有趣且有用的特性。本文以简单的代码示例来介绍 ES2020新特性。这样,你可以很快理解这些新功能,而不需要多么复杂的解释。可选链操作符(Optional Chaining)可选链 可让我们在查询具有多个层级的对象时,不再需要进行冗余的各种前置...

    Java 2020年03月25日 1408 0
  • JDK1.8中的双冒号::是什么语法?

    方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式静态方法引用,通过类名::静态方法名, 如 Integer::parseInt实例方法引用,通过实例对象::实例方法,如 str::substring构造方法引用,通过类名::new, 如 User::new二:方法引用public final class Integer { p...

    Java 2020年03月25日 1629 0
  • jquery如何自定义函数供全局使用

    前言:使用过java开发的同学,在开发某个模块时,可肯定会将公共的代码抽离出来,放在一个公共的类里,这样以后用到这个模块,直接调用就可以了。不用在每个类里面都重复的写着同样的代码。而且一定这个方法有问题,我们只修改这个方法就行了,不需要去每个类里面都改一遍。那么前端是否也可以这样实现呢?我这里使用2种方式。第一种:jquery的extend方法首先看下jquery自带的方法cs...

    Java 2020年03月24日 1814 0
  • 震惊!springboot内存泄露,排查竟这么难!

    背景为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+A...

    Java 2020年03月24日 1717 0
  • mybatis打印带参数sql几种实现方式及优缺点

    mybatis打印带参数sql几种实现方式及优缺点1. log4jdbclog4jdbc是google开源的用于专们打印sql日志的工具jar包,使用方法很简单。第一步:引入maven包,如下:<dependency><groupId>com.googlecode.log4jdbc</groupId><artifactId>lo...

    Java 2020年03月24日 2996 0
  • Java基础知识总结(超详细篇)

    1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由...

    Java 2020年03月24日 1327 0
  • 新版任你发,我用Java 8!

    最近,新版本的JDK又双叒叕发布了,目前已经JDK 14 了,从2017年8月份开始,JDK的更新频率变成了每半年一次,将固定在每年的3月份和9月份发布新版本。按照这个频率,过不了多久,JDK 20 就要推出了…最早的JDK发布于1996年,相信比很多读者的年龄都要小,其发布频次如下:Java 8 与 Java 11 为当前提供支持的LTS(长期支持)版本;2018年9月,随着...

    Java 2020年03月24日 1455 0
  • 彻底理解红黑树的基本原理

    本文将通过图文的方式讲解红黑树的知识点,并且不会涉及到任何代码,相信我,在懂得红黑树实现原理前,看代码会一头雾水的,当原理懂了,代码也就按部就班写而已,没任何难度。阅读本文你需具备知识点:二叉查找树完美平衡二叉树事不宜迟,让我们进入正题吧。红黑树也是二叉查找树,我们知道,二叉查找树这一数据结构并不难,而红黑树之所以难是难在它是自平衡的二叉查找树,在进行插入和删除等可能会破坏树的...

    Java 2020年03月23日 1310 0
  • 工作8年的大佬,分享超详细的springBoot学习心得以及步骤路线图

    SpringBoot的目标是简化Spring的开发过程、让开发者快速搭建框架和web容器。并为微服务提供更好的支持,提供服务监控能力。Spring为开发者带来了简单和能力: Spring Boot使编码变简单Spring Boot使配置变简单Spring Boot使监控变简单Spring Boot使部署变简单 本文也是根据近几年的工作、学习经验,来分析和制定一个学习使用 Sp...

    Java 2020年03月23日 1717 0
  • 正确了解Java开发的相关知识

    Java是软件开发语言中非常重要的一门语言,在过去的十年中,Java语言一直是使用人数最多的,在很多企业中的软件开发都是基于Java语言进行开发。并且Java语言的使用范围也是非常广泛的,涉及各种行业中,形成非常庞大的生态圈。下面小编为大家具体介绍关于Java开发的知识。软件开发  一、学习Java开发有什么前途    Java的需求量是非常大的,不只是北上广的需求量,每年全球...

    Java 2020年03月23日 1376 0
  • 优雅停止Springboot 服务的几种方法

    在使用Springboot的时候,都要涉及到服务的停止和启动,当我们停止服务的时候,很多时候大家都是kill -9 直接把程序进程杀掉,这样程序不会执行优雅的关闭。而且一些没有执行完的程序就会直接退出。  我们很多时候都需要安全的将服务停止,也就是把没有处理完的工作继续处理完成。比如停止一些依赖的服务,输出一些日志,发一些信号给其他的应用系统,这个在保证系统的高可用是非常有必要...

    Java 2020年03月19日 1639 0
  • IDEA 2020,9个新特性曝光,程序员:追不上了...

    IDEA 2020 更新这么贼快,老子开车都追不上了... idea下载地址:https://www.jetbrains.com/idea/download 新特性IDEA - 2020.1 版本针对调试器和代码分析器的改进,值得期待1、对于调试器的加强:数据流分析辅助2、调试加强:属性置顶功能3、调试加强:IPV6 调试4、性能分析的改进,剔除额外的东西5、支持读取内存快照文...

    Java 2020年03月18日 4675 0
  • 学会使用 Spring Boot 的异步调用

    一、Spring Boot中异步请求的使用1、异步请求与同步请求特点:可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运算)时再对客户端进行响应。一句话:增加了服务器对客户端请求的吞吐量(实际生产上我们用的比较少,如果并发请求量很大的情况下,我们会通过nginx把请求负载到集群服务的各个节点上来...

    Java 2020年03月17日 1396 0
  • 吐血推荐珍藏的IDEA插件

    之前给大家推荐了一些我自己常用的VS Code插件,很多同学表示很受用,并私信我说要再推荐一些IDEA插件。作为一名职业Java程序员/业余js开发者,我平时还是用IDEA比较多,所以也确实珍藏了一些IDEA插件。今天就一并分享给大家。在最开始,我还是想先介绍一下IDEA中如何安装插件,首先打开Preferences(菜单栏打开或者使用快捷键Command+,)在Windows...

    Java 2020年03月17日 1922 0
  • Spring Cloud Gateway 实现Token校验

    在我看来,在某些场景下,网关就像是一个公共方法,把项目中的都要用到的一些功能提出来,抽象成一个服务。比如,我们可以在业务网关上做日志收集、Token校验等等,当然这么理解很狭隘,因为网关的能力远不止如此,但是不妨碍我们更好地理解它。下面的例子演示了,如何在网关校验Token,并提取用户信息放到Header中传给下游业务系统。1. 生成Token用户登录成功以后,生成token,...

    Java 2020年03月17日 1672 0
  • Java 高效插入百万级别数据到MySQL

    导论笔者的毕业设计是一个与大数据相关的项目,其中遇到了一个将百万级别数据存储到MySQL 的问题,本来是打算使用Spark SQL 的DataFrame 自带的API来直接将数据存储到MySQL 中,可是当我看到MySQL 监控平台的数据,我瞬间被打了脸,没那么简单,在监控平台上面显示着平均每5 秒插入140条左右的数据,笔者瞬间被吓到了,心想,这可不行,按这个速度,那要运行到...

    Java 2020年03月16日 2830 0
  • IDEA界面太丑了怎么办,教你如何改变idea界面风格

    前言IntelliJ IDEA主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发。IntelliJ idea默认的主体只有简单的白和灰,不一定能满足所有人的喜好一直使用IDEA进行开发难免会产生审美疲劳所以就搜集了下面的几款主题插件,换上之后给人眼前一亮的感觉,本文也介绍了自己如何...

    Java 2020年03月15日 6561 0
  • 缓存机制让JAVA类反射性能提升30倍

    一次性能提高30倍的JAVA类反射性能优化实践在实际工作中的一些特定应用场景下,JAVA类反射是经常用到、必不可少的技术,在项目研发过程中,我们也遇到了不得不运用JAVA类反射技术的业务需求,并且不可避免地面临这个技术固有的性能瓶颈问题。通过近两年的研究、尝试和验证,我们总结出一套利用缓存机制、大幅度提高JAVA类反射代码运行效率的方法,和没有优化的代码相比,性能提高了20~3...

    Java 2020年03月15日 1528 0
  • 重写Spring Boot定时任务,支持可动态调整执行时间

    Spring Boot应该是目前最火的java开源框架了,它简化了我们创建一个web服务的过程,让我们可以在很短时间、基本零配置就可以启动一个web服务。定时任务在我们平常的业务开发用的非常多,Spring Boot创建一个定时任务很简单,只需要用@Scheduled注解方法,就可以让方法按照定义的时间进行运行。但是,Spring Boot的@Scheduled默认是单线程的,...

    Java 2020年03月13日 3410 0