优秀程序员(java)-利器-热部署

简介:

说说为何要热部署:
你是不是经常做项目,改动了代码,然后不得不重启服务器。 要是碰到公司足够吝啬,项目足够庞大,你会发现大量的时间浪费在这上面。
(我们一直在努力,最大效率的开发出一组组产品,直到做项目跟民工砌砖一样简单。还好这还需要一段时间,而我们庆幸我们吃饭的技能还没有泛滥至此,不过我看有这趋势。)—跑题
在2002年的时候,Sun在Java 1.4的JVM中引入了一种新的被称作HotSwap的实验性技术,并再此后一直着力于相关研究,发现这是一个复杂而低回报的东西。 

目前,我们最常用到的热部署:

Tomcat:
配置:在${tomcat_home}\conf\server.xml 

<Host appBase="webapps" autoDeploy="false" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">

这里的autoDeploy 设置为true,即自动热部署,而你只需体验他带来的愉悦:

你可以边修改代码,不要重启即查看最新结果;甚至对一些简单的war应用,可以直接丢到webapp下,不需要重启tomcat,自动拆包;

当然,tomcat只能对部分代码是可以轻松完成热部署的,随着项目的复杂度,我们需要更好的热部署工具。

Jrebel:

此时风头正热的jrebel,赶上了这趟车(不知道是不是拿到风投了,到处做广告),他是收费的,试用一个月,不过对scala语言放宽到了1年,可以申请。地址:
http://sales.zeroturnaround.com/ 
(题外话:像一度娘就搜到破解的行为,本人是很不赞同的)

jreble 有自己的简介:

图1-1: 循环:改变--重新部署等待--查看结果--改变
         image
                                   1-1

图1-2: 调查结果,1小时内,有多长时间浪费在重新部署之上
         image
                                    1-2

 图1-3: jrebel带来了:
          image
                                      1-3

jrebel支持:
IDE:
Eclipse,IntellijIDEA,NetBeans,Oracle,Rational
buildTool:
Maven,ANT
Containers:
Tomcat,JBoss,Jetty,Websphere,resin,SAP,Mulesoft
frameworks:
spring,hibernate,jsf,struts,velocity,wicket

当前最新版本4.6.1
官方地址:http://zeroturnaround.com/

查看如何安装jrebel,这个是我非常鄙视他们的一个地方,不能做的如同ant一样,简洁配置,而且从第一个版本到现在变化太多,以至于各种泛滥错误的资料在网络上。

下篇,我讲jrebel的安装,并且我讲上传官方PPT文档,英文非常简单,就不翻译了。
 










本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/yjplxq/839885,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
人工智能 Kubernetes Java
回归开源,两位 Java 和 Go 程序员分享的开源贡献指引
Higress是一个基于Istio和Envoy的云原生API网关,支持AI功能扩展。它通过Go/Rust/JS编写的Wasm插件提供可扩展架构,并包含Node和Java的console模块。Higress起源于阿里巴巴,解决了Tengine配置重载及gRPC/Dubbo负载均衡问题,现已成为阿里云API网关的基础。本文介绍Higress的基本架构、功能(如AI网关、API管理、Ingress流量网关等)、部署方式以及如何参与开源贡献。此外,还提供了有效的开源贡献指南和社区交流信息。
658 33
|
7月前
|
Java 程序员 应用服务中间件
【高薪程序员必看】万字长文拆解Java并发编程!(2 2-2)
📌 核心痛点暴击:1️⃣ 面了8家都被问synchronized锁升级?一张图看懂偏向锁→重量级锁全过程!2️⃣ 线程池参数不会配?高并发场景下这些参数调优救了项目组命!3️⃣ volatile双重检测单例模式到底安不安全?99%人踩过的内存可见性大坑!💡 独家亮点抢先看:✅ 图解JVM内存模型(JMM)三大特性,看完再也不怕指令重排序✅ 手撕ReentrantLock源码,AQS队列同步器实现原理大揭秘✅ 全网最细线程状态转换图(附6种状态转换触发条件表)
125 0
|
7月前
|
存储 缓存 Java
【高薪程序员必看】万字长文拆解Java并发编程!(5):深入理解JMM:Java内存模型的三大特性与volatile底层原理
JMM,Java Memory Model,Java内存模型,定义了主内存,工作内存,确保Java在不同平台上的正确运行主内存Main Memory:所有线程共享的内存区域,所有的变量都存储在主存中工作内存Working Memory:每个线程拥有自己的工作内存,用于保存变量的副本.线程执行过程中先将主内存中的变量读到工作内存中,对变量进行操作之后再将变量写入主内存,jvm概念说明主内存所有线程共享的内存区域,存储原始变量(堆内存中的对象实例和静态变量)工作内存。
237 0
|
7月前
|
设计模式 缓存 安全
【高薪程序员必看】万字长文拆解Java并发编程!(8):设计模式-享元模式设计指南
🌟 ​大家好,我是摘星!​ 🌟今天为大家带来的是并发编程中的经典对象复用设计模式-享元模式,废话不多说让我们直接开始。
168 0
|
7月前
|
存储 安全 Java
【高薪程序员必看】万字长文拆解Java并发编程!(7):不可变类设计指南
🌟 ​大家好,我是摘星!​ 🌟今天为大家带来的是并发编程中Java不可变类设计指南,废话不多说让我们直接开始。
127 0
|
7月前
|
机器学习/深度学习 消息中间件 存储
【高薪程序员必看】万字长文拆解Java并发编程!(9-2):并发工具-线程池
🌟 ​大家好,我是摘星!​ 🌟今天为大家带来的是并发编程中的强力并发工具-线程池,废话不多说让我们直接开始。
258 0
|
7月前
|
存储 监控 算法
Java程序员必学:JVM架构完全解读
Java 虚拟机(JVM)是 Java 编程的核心,深入理解其架构对开发者意义重大。本文详细解读 JVM 架构,涵盖类加载器子系统、运行时数据区等核心组件,剖析类加载机制,包括加载阶段、双亲委派模型等内容。阐述内存管理原理,介绍垃圾回收算法与常见回收器,并结合案例讲解调优策略。还分享 JVM 性能瓶颈识别与调优方法,分析 Java 语言特性对性能的影响,给出数据结构选择、I/O 操作及并发同步处理的优化技巧,同时探讨 JVM 安全模型与错误处理机制,助力开发者提升编程能力与程序性能。
Java程序员必学:JVM架构完全解读
|
8月前
|
人工智能 Java 程序员
Java程序员在AI时代必会的技术:Spring AI
在AI时代,Java程序员需掌握Spring AI技术以提升竞争力。Spring AI是Spring框架在AI领域的延伸,支持自然语言处理、机器学习集成与自动化决策等场景。它简化开发流程,无缝集成Spring生态,并提供对多种AI服务(如OpenAI、阿里云通义千问)的支持。本文介绍Spring AI核心概念、应用场景及开发步骤,含代码示例,助你快速入门并构建智能化应用,把握AI时代的机遇。
1676 61
|
Java 程序员
JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
在Java编程中,网络资源的获取与处理至关重要。本文介绍了如何使用URL与URLConnection高效、准确地获取网络资源。首先,通过`java.net.URL`类定位网络资源;其次,利用`URLConnection`类实现资源的读取与写入。文章还提供了最佳实践,包括异常处理、连接池、超时设置和请求头与响应头的合理配置,帮助Java程序员提升技能,应对复杂网络编程场景。
254 9
|
7月前
|
网络协议 Java 大数据
【高薪程序员必看】万字长文拆解Java并发编程!(1)
📌 核心痛点暴击:1️⃣ 面了8家都被问synchronized锁升级?一张图看懂偏向锁→重量级锁全过程!2️⃣ 线程池参数不会配?高并发场景下这些参数调优救了项目组命!3️⃣ volatile双重检测单例模式到底安不安全?99%人踩过的内存可见性大坑!💡 独家亮点抢先看:✅ 图解JVM内存模型(JMM)三大特性,看完再也不怕指令重排序✅ 手撕ReentrantLock源码,AQS队列同步器实现原理大揭秘✅ 全网最细线程状态转换图(附6种状态转换触发条件表)
123 0