能力说明:
了解变量作用域、Java类的结构,能够创建带main方法可执行的java应用,从命令行运行java程序;能够使用Java基本数据类型、运算符和控制结构、数组、循环结构书写和运行简单的Java程序。
暂时未有相关云产品技术能力~
前华为、腾讯、阿里员工,从事Java后台工作
跳过task来节省时间,例如文档包和源码包,加速编译过程
将Java对象实例保存在Redis时,将对象序列化成字符串或者序列化成byte数组再存入,以上两种方式孰优孰劣?字符串方式来存取的好处是编码和调试更简单容易,而byte数组的优势又在哪里呢,实战验证吧
有时候我们需要将Java对象实例存入Redis,常用方法有两种: 1. 将对象序列化成字符串后存入Redis; 2. 将对象序列化成byte数组后存入Redis;有关这两种存储方式的性能对比,会在下一章通过实战验证,本章先来看一下如何将对象序列化成byte数组后存入Redis;
在SpringBoot框架下进行RabbitMQ开发,并且在Docker环境部署和运行
向RabbitMQ发出消息后,有时我们希望消费方不要立即消费,这时候延时队列就派上用场了,本篇就来快速体验其效果
紧急的时候,借助Docker,在不安装JDK和Maven的环境也能构建Maven工程
制作Docker镜像时常用centos的官方镜像作为基础镜像,其时区和系统编码都不满足我们的需求,今天我们就来实战制作一个Docker镜像,将时区和系统编码设为我们想要的
《Docker下RabbitMQ四部曲》系列的终篇,今天的我们一起来体验Rabbit’MQ集群的高可用能力,看看RabbitMQ集群中的部分节点宕机时,是否还能生产和消费消息
本文是《Docker下RabbitMQ四部曲》系列的第三篇,实战两个基于SpringBoot的工程,分别用来生产和消费RabbitMQ消息
详细简述Docker下制作RabbitMQ镜像的技术细节
《Docker下RabbitMQ四部曲》系列的开篇,先用最短时间和最少操作体验基本功能
对于运行在Docker环境的容器,有时我们想查询它们的一些基本信息,如环境变量、hostname、ip地址等,请随本篇一同实战如何获取这些信息,并根据自己要求去过滤内容
为了定位问题或者深入学习Spring知识体系,需要在本地IDE阅读Spring源码,本篇给出了基本操作步骤
看代码的遇见子类或者接口的实现时,如果有个类图工具就能让我们层次和关系一目了然,如果您的IDE是IntelliJ IDEA ULTIMATE版,推荐使用其自带的类图功能
一起阅读和分析SpringMVC的部分源码,看看收到POST请求中的二进制文件后,SpingMVC框架是如何处理的
前面两章我们创建了客户端和服务端,实战了文件上传服务,本篇我们通过wireshark工具抓包,分析上传文件时的网络请求
开发文件服务的后台应用,制作成docker镜像并运行
本文是《Docker下Java文件上传服务三部曲》系列的第一篇,包括上传文件的客户端开发、创建Tomcat容器(支持在线部署),安装wireshark(用于网络抓包分析)
一个常见的启动失败问题,在此做简单分析和记录
本篇实战了应用的横向扩容并验证,检查扩容带来性能提升的详细情况
在前文单实例的基础上,对服务做横向扩容,再用Jemeter验证扩容效果
用Apache bench和JMeter对kubernetes环境中的web服务做性能测试,再对横向扩容和纵向扩容的效果做测试,本篇是准备篇
前面两章我们实战了OpenResty的lua脚本开发,并且将web服务发布在Docker环境下,本章我们在kubernetes环境下搭建OpenResty加Tomcat的web服务
在前文我们简单的体验了Nginx+Lua提供的web服务,但是并没有深入开发细节,今天就来一起实战这个镜像的制作过程
Docker下的如何基于OpenResty进行部署和开发,本篇先来个极速体验
实战pod的扩容和升级
详细说明在kubernetes部署上述网络服务时,需要做哪些具体的工作
实战kubernetes下部署上述Nginx和Tomcat服务,并开发spring boot的web应用来验证环境,本片是三部曲的开篇,咱们来个极速体验,感受一下
本章是《Docker下的Spring Cloud三部曲》的最后一篇,前面两篇我们实践了开发和制作镜像文件,运行一个基于spring cloud的RPC服务环境,今天我们来试试docker-compose的扩容功能,将我们的RPC服务做在线扩容
《Docker下的Spring Cloud三部曲》系列的第二篇,详细讲解上一篇实例中用到的eureka、provider、consumer等三个应用的开发过程
Docker下极速体验注册中心、服务提供者、服务消费者
我们常用ThreadPoolExecutor提供的线程池服务,springboot框架提供了@Async注解,帮助我们更方便的将业务逻辑提交到线程池中异步执行,今天我们就来实战体验这个线程池服务,并根据实际需要做定制化的扩展
当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建
把docker-maven-plugin插件的推送功能也用上,编译构建后自动推送到内网私有仓库或者阿里云镜像仓库
用docker-maven-plugin插件来构建本地的docker镜像
实战mavenn的tomcat7-maven-plugin插件:准备工作
从零开始新建pinpoint插件,本篇给出从编码到部署运行的详细步骤
pinpoint自定义插件开发起步,先拿已有插件做微调,把基本套路摸清楚
Docker下,pinpoint环境搭建的过程详细说明
制作docker镜像文件,用来编译pinpoint1.6.x分支
以最简单的方法和最快的速度编译pinpoint工程
极速体验pinpoint所提供的监控、调用链跟踪等服务
修改JVM源码,控制抢占锁的线程的优先级
线程同步相关的JVM源码分析系列之二,修改源码查看运行时的虚拟机参数
阅读jvm源码,分析wait()和notify()的具体实现
在docker环境下,用最少的步骤把openjdk8源码编译构建成jdk
通过一个实例将JVM方法调用的字节码指令逐个列出,一起来熟悉以下它们使用的场景
guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,本文实战一下RateLimiter的用法
实战自定义spring的schema属性
spring+mybatis启动NoClassDefFoundError异常分析