IDEA集成JRebel热部署和远程调试
在Java Web开发中,一般更新了Java文件后要手动重启Tomcat服务器才能生效,浪费不少生命啊, 自从有了JRebel这神器的出现,不论是更新类还是更新Spring配置文件都能做到立马生效,大大提高开发效率。
JRebel的使用方式最常见还是通过插件方式使用,这里我介绍下在IntelliJ IDEA中怎样集成JRebel, 另外还顺便介绍一下IDEA如何进行远程调试。
在Java Web开发中,一般更新了Java文件后要手动重启Tomcat服务器才能生效,浪费不少生命啊, 自从有了JRebel这神器的出现,不论是更新类还是更新Spring配置文件都能做到立马生效,大大提高开发效率。
JRebel的使用方式最常见还是通过插件方式使用,这里我介绍下在IntelliJ IDEA中怎样集成JRebel, 另外还顺便介绍一下IDEA如何进行远程调试。
作为一个离开 Google 生活就无法自理的人类,我曾经发帖、提问、翻遍各种网站,四处寻找靠谱的科学上网利器。 网上也买过好多,自己也用过一些开源免费的proxy,最后都会出现各种莫名其妙的问题,各种不稳定。
最后我选择自己动手,丰衣足食,利用EC2虚拟主机搭建SS,这个东东是由 Clowwindy 开发的一款软件, 其作用本来是加密传输资料。当然,也正因为它加密传输资料的特性,使得XXX没法将由它传输的资料和其他普通资料区分开来, 也就不能干扰我们访问那些「不存在」的网站了。
如果你希望不花钱就能用上优质的服务──醒醒,别做梦了,免费和优质从来不可能划上等号。 不过想要共享或建立多账户来出售的话,能赚钱也说不定🙃
在Java 7发布的新的IO框架中,除了大家都熟知的 FileVisitor
接口外,还有个 WatchService
接口经常被人忽视掉。
这个类可以让你实时的监控操作系统中文件的变化,包括创建、更新和删除事件。
WatchService
用来观察被注册了的对象的变化和事件。它和Watchable
两个接口的配合使用,
WatchService类似于在观察者模式中的观察者,Watchable类似域观察者模式中的被观察者。
而Java 7中的java.nio.file.Path
类就实现了Watchable接口,这样的话,和Path类一起可实现观察者模式。
虽然现在做WebService开发的越来越少了,但是还是会碰到很多老的系统用到这个技术。 本篇讲解一下如何在Spring4里面集成Axis2开发WebService,包括服务器端和客户端。
私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建。 有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库; 否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。
Nexus是一个强大的Maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。 如果使用了公共的Maven仓库服务器,可以从Maven中央仓库下载所需要的构件(Artifact),但这通常不是一个好的做法。 正常做法是在本地架设一个本地Maven仓库服务器,利用Nexus私服可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。
Echarts是百度一款开源可视化图表库,基于html5 Canvas的。能够快速让你看到漂亮的效果。也是百度开源产品中的良心之作。
有时候在Java程序中也需要导出好看的图表,比如我经常会基于JMH做各种微基准测试,想将测试结果可视化导出为图表形式。 试用了一下JFreeChart,跟Echarts导出的图比起来还是弱了不少。但是Echarts是基于js的,只能在浏览器中解析和导出图片,怎么办呢?
后来我想到一个方法,就是基于WebSocket技术,服务器将图表数据推送到页面,然后页面再触发导出动作。 本篇将介绍如何通过SpringBoot、SocketIO、Echarts技术来实现这个图表导出功能。
RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。
RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,AMQP,即Advanced Message Queuing Protocol, 高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。
在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间, 提高了系统的吞吐量。
本篇将详细介绍RabbitMQ以及如何在SpringBoot中使用。
Spring Batch是一个轻量级的框架,完全面向Spring的批处理框架,用于企业级大量的数据读写处理系统。以POJO和Spring 框架为基础, 包括日志记录/跟踪,事务管理、 作业处理统计工作重新启动、跳过、资源管理等功能。
Spring Batch官网是这样介绍的自己:一款轻量的、全面的批处理框架,用于开发强大的日常运营的企业级批处理应用程序。
框架主要有以下功能:
如果你的批处理程序需要使用上面的功能,那就大胆地使用它吧。
在互联网场景下,尤其 2C 端大流量场景下,需要将一些经常展现和不会频繁变更的数据,存放在存取速率更快的地方。 缓存就是一个存储器,在技术选型中,常用 Redis 作为缓存数据库。缓存主要是在获取资源方便性能优化的关键方面。
如果使用Redis缓存技术,SpringBoot中有两种方式实现缓存,一个是上一篇中通过CacheManager实现,
不过这个是对于简单的缓存场景,而更为强大的是通过RedisTemplate
来直接操作Redis数据库实现缓存。
Redis 是一个高性能的 key-value 数据库。GitHub 地址:https://github.com/antirez/redis 。
内存的速度远远大于硬盘的速度,当我们需要重复获取相同的数据的时候,一次又一次的请求数据库或远程服务, 导致大量时间都消耗在数据库查询或远程方法调用上面,性能下降,这时候就需要使用到缓存技术了。
本文介绍SpringBoot 如何使用redis做缓存,如何对redis缓存进行定制化配置(如key的有效期)以及初始化redis做缓存。
使用具体的代码介绍了@Cacheable
,@CacheEvict
,@CachePut
,@CacheConfig
等注解及其属性的用法。