来试试编译OpenJDK11源码,得到属于自己的独有的JDK
借助docker,一行命令就能下载OpenJDK11源码
Ubuntu环境下载OpenJDK11源码,为之后的修改和编译做准备
实操ubuntu下安装OpenJDK10
在Spring Cloud环境中,Eureka client注册到Eureka server后,可以在Eureka server的home页面看到注册信息,这些信息的内容和Eureka client的配置相关,本文将一些重要配置记录下来以备使用
在查看Wireshark的解析记录时,请求包和响应包常常是密密麻麻堆在一起,如何根据一个请求包准确找到其对应的响应呢?请随本文步步实践,找到方法
spring框架下做开发时,@Import是常见的注解,可以用来动态创建bean,今天我们先从源码分析原理,再用实战来验证Import的作用
实战在容器初始化的时候对bean实例做设置
如果业务上需要在spring容器启动和关闭的时候做一些操作,可以自定义SmartLifecycle接口的实现类来扩展,本章我们通过先分析再实战的方法,来掌握这种扩展方式
提到广播与监听,我们常常会想到RabbitMQ、Kafka等消息中间件,这些常用于分布式系统中多个应用之间,有时候应用自身内部也有广播和监听的需求(例如某个核心数据发生变化后,有些业务模块希望立即被感知),这时候spring提供的基于ApplicationContext的广播与监听就派上用场了,接下来我们从原理到实践,来了解spring提供的这套机制吧
在之前学习spring环境初始化源码的过程中,见到有些地方能通过子类来实现自定义扩展,从本章开始,我们来逐个实践这些扩展,除了加深对spring的理解,有的扩展也能解决一些通用的问题
在Spring框架中,BeanFactory和ApplicationContext都是大名鼎鼎,BeanFactory是基础ApplicationContext是扩展这句话怎么理解?请随本文一同去了解它们
在学习spring容器初始化的过程中,发现spring容器预留了一些扩展点,我们可以写子类来做功能扩展,今天就来探寻SpringBoot框架下的扩展方式
《spring4.1.8初始化源码学习三部曲》系列的终篇,重点是学习AbstractApplicationContext类的refresh()方法
本章是学习spring4.1.8初始化源码的第二篇,我们聚焦ClassPathXmlApplicationContext.setConfigLocations方法
学习spring初始化过程是深入了解spring过程中重要的一步,今天我们就以一个简单的demo为例来学习spring初始化的源码
实战修改spring-framework源码,然后编译构建,最后用写一个demo工程来验证构建成功
跳过task来节省时间,例如文档包和源码包,加速编译过程
将Java对象实例保存在Redis时,将对象序列化成字符串或者序列化成byte数组再存入,以上两种方式孰优孰劣?字符串方式来存取的好处是编码和调试更简单容易,而byte数组的优势又在哪里呢,实战验证吧
有时候我们需要将Java对象实例存入Redis,常用方法有两种: 1. 将对象序列化成字符串后存入Redis; 2. 将对象序列化成byte数组后存入Redis;有关这两种存储方式的性能对比,会在下一章通过实战验证,本章先来看一下如何将对象序列化成byte数组后存入Redis
本文是《Docker下RabbitMQ四部曲》系列的第三篇,实战两个基于SpringBoot的工程,分别用来生产和消费RabbitMQ消息
为了定位问题或者深入学习Spring知识体系,需要在本地IDE阅读Spring源码,本篇给出了基本操作步骤
看代码的遇见子类或者接口的实现时,如果有个类图工具就能让我们层次和关系一目了然,如果您的IDE是IntelliJ IDEA ULTIMATE版,推荐使用其自带的类图功能
一起阅读和分析SpringMVC的部分源码,看看收到POST请求中的二进制文件后,SpingMVC框架是如何处理的
前面两章我们创建了客户端和服务端,实战了文件上传服务,本篇我们通过wireshark工具抓包,分析上传文件时的网络请求
开发文件服务的后台应用,制作成docker镜像并运行
一个常见的启动失败问题,在此做简单分析和记录
详细说明在kubernetes部署上述网络服务时需要做哪些具体的工作
们来实战kubernetes下部署上述Nginx和Tomcat服务,并开发spring boot的web应用来验证环境,本篇是系列的开篇,咱们来个极速体验
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号