万物云原生下的服务进化 | 京东云技术团队 导读: 在万物云原生下的环境下,Java的市场份额也因耗资源、启动慢等缺点,导致在云原生环境里被放大而降低,通过这篇文章,读者可以更好地了解如何在云原生环境下通过升级相关版本和使用GraalVM打出原生镜像到方式,优化Java应用的性能和资源利用率,使Java应用更好地适应云原生环境。 1.引言(Introduction) 1.1、目的: 现在我们的项目能正常运行,为什么要耗费大量人力重构? 1. 云运维 2023-07-19 三掌柜
去哪儿一站式 Java 应用诊断解决方案 Bistoury 一、背景 在线应用的诊断一直是日常维护中的难点和痛点,2018年下半年,Alibaba 开源了 java 应用诊断工具 arthas ,让 java 应用的诊断能力上了一个台阶。作为基础架构团队,我们自然也对它非常感兴趣。研究后发现,arthas 确实是一个非常优秀的 java 诊断工具,但是也存在一些不足。 一是 arthas 更像是一个工具,而不像一个产品。如果要使用它,首先要登录相关机器,然 云运维 2023-07-19 法医
部署java项目到linux服务器 部署前需要做到: 1、适用windows的子系统linux系统“wsl2” ,使用wsl2就无需在虚拟机中进行linux系统的安装,具体参考:WSL操作指南_wsl使用_天使手儿的博客-CSDN博客 2、在linux中创建docker服务,具体参考:Ubuntu Docker 安装 | 菜鸟教程 做完以上准备工作后,开始部署java项目,笔者做的是前后端代码在一起的javaweb项目,所以只 系统运维 2023-07-19 张二河
Java中的定时器:java.util.Timer 1.定时器 1.1 含义 在Java中,定时器(Timer)是一个工具类,用于安排任务(Task)在指定时间后执行或以指定的时间间隔重复执行。它可以用于执行定时任务、定时调度和时间延迟等操作。 定时器(Timer)可以应用于许多场景,比如: 调度任务:当你需要按照预定时间执行任务时,可以使用定时器。例如,每天凌晨执行数据备份、定时生成报表、定时发送通知等。 超时处理:当你需要处理某个操作的超时 开发运维 2023-07-19 大猫
Java 中日期与时间的处理及工具类封装 在我们项目开发中免不了有对日期时间的处理,但Java中关于日期时间的类太多了,这篇文章主要给大家介绍一下各种类的使用及我们项目中应该怎么选择,最后做一个工具类的封装。 一、Date、Calendar(老版日期时间类) 这是最原始的java中关于日期时间处理的类 1. Date 的基本用法 import java.util.Date; public class TestDate { public s 开发运维 2023-07-18 法医
2.JAVA中的I/O模型 JAVA中的I/O模型 I/O 模型:就是用什么样的通道或者说是通信模式和架构进行数据的传输和接收,很大程度上决定了程序通信的性能。 Java 共支持 3 种网络编程的/IO 模型:同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 实际通信需求下,要根据不同的业务场景和性能需求决定选择不同的I/O模型。 同步阻塞IO:在此种方式下,用户进程在发起一个IO操作以后,必须等待IO操作的完成, 开发运维 2023-07-18 捡田螺的小男孩
我们一起聊聊JVM优化:JVM概述 一、什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算 机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 二、JVM与操作系统 Java 是一门抽象程度特别高的语言,提供了自动内存管理等一系列的特性。这些特性直接在操作系统上实现是不太 可能的,所以就需要 JVM 进行一番转换。 从图中可以看到,有 开发运维 2023-07-18 穿过生命散发芬芳
面试官:HaspMap很熟了么,讲讲Redis字典吧! 哈喽,大家好,我是了不起。 之前给大家介绍了Redis的基本数据结构, 后来听说了一个故事: 一个Java程序员去面试,前面面试问了几个 Java 的相关问题,回答还不错,接下来面试官就问了一句:看来 Java 基础还不错,Java HashMap 你熟悉吧? 回答:那家伙老熟了,工作经常用,有看过源码。红黑树链表都能给你整明白了!(心里默念:随便问吧,八股文和源码早都烂熟于心) 接着面试官说了这 数据运维 2023-07-17 宇宙之一粟
从ReentrantLock学习AQS JDK17版 从ReentrantLock学习AQS -- JDK17版 前言 技术无止境,无论任何时刻,通过加强我们对技术的了解,都能为我们带来信心! 当前大部分的课程,或生产环境,可能都还在使用JDK8,但到现在这个时间点,包括Spring、Jenkins等等核心框架或核心生态,都已经在逐渐的升级到JDK17。 而JDK17对于JDK8来说的升级,简单来说,就是性能上的提升,无论还是底层逻辑,还是新的GC, 开发运维 2023-07-17 捡田螺的小男孩
【JDBC系列 jdbc的概念以及与数据库的交互流程 jdbc的概念以及与数据库的交互流程 😄生命不息,写作不止 🔥 继续踏上学习之路,学之分享笔记 👊 总有一天我也能像各位大佬一样 🏆 博客首页 @怒放吧德德 To记录领地 🌝分享学习心得,欢迎指正,大家一起学习成长! 引言 人总是向前走的,目标是更上一层楼。原本笔者奔着一颗炙热的心去学习mybatis底层原理,无奈看了一章感觉我还是太菜了,没有对jdbc有个基础的了解,看起来就比较吃力,因此 开发运维 2023-07-16 泡泡
java线程如何正确使用java线程池 java框架中例如Tomcat、Dubbo等都离不开线程池,这些框架用到线程的地方,都会用线程池来负责。我们在使用这些框架的时候,会设置线程池参数,用于提高性能。那么开多少线程合适?今天我们将围绕这个问题来学习一下线程池。 为什么使用线程池 平常我们使用java线程的时候,都是直接创建一个Thread对象,java线程的创建和销毁都会涉及到Thread对象的创建和销毁,线程切换等问题。创建Thre 开发运维 2023-07-16 Escape
jmeter实现api自动化测试 1.介绍 文章介绍了通过jmeter事先录制api脚本,然后使用ant进行编译,最后生成html的接口测试报告,并且通过web展示。 这种测试主要应用于持续集成环境中,在运维部署代码完成之后,迅速对所有接口或者部分接口(录制一些过程,比如登录,购物)进行测试,测试完成之后把html的测试报告访问地址以邮件的形式发送给相关人员。 2.环境安装 (1)安装java tar xf jdk-8u65-li 自动化运维 2023-07-16 泡泡
jmeter压测网站、数据库、接口及分布式压测 1.Jmeter介绍 Jmeter是apache组织开发的基于java的压力测试工具。 Jmeter可以用于对服务器、网络活对象模拟巨大的负载,来自不同压力类别下测试他们的强度和分析整体性能。另外,jmeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,jmeter允许使用正则表达式创建断言。 2.Jmeter工作原理 3.Jmet 系统运维 2023-07-16 法医
maven介绍及私服搭建 1.Maven介绍 Maven是款平台的项目管理工具。主要服务于基于java平台的项目构建,依赖管理和项目信息管理。 项目构建介绍: 我们都知道,Java源代码如果需要在应用服务器上面运行,需要经过编译(也就是java源码变成class文件的过程),只有class文件才能运行在jvm虚拟机之上。Mavne说白了就是把java源代码变成class文件的过程,使用maven编译java源码会生成一个w 系统运维 2023-07-16 大白菜程序猿
Es+Head+Logstash实践(2) Es+Head+Logstash在昨天,使用tar.gz安装很多问题,本次使用yum安装。参考权威指南:http://www.learnes.net/1,安装java [root@ELK1 ~]# yum -y install java-1.8.0-openjdk* git [root@ELK1 ~]# java -version openjdk version "1.8.0_71" OpenJD 自动化运维 2023-07-15 共饮一杯
Zabbix监控jmx tomcat 安装与配置可参考如下:jdk下载页面 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.rpm?AuthParam=1462948138_ 自动化运维 2023-07-15 大猫
【Java技术专题「攻破技术盲区」带你攻破你很可能存在的Java技术盲点之技术功底指南(鲜为人知的技术) Java.lang包经常进行更新,主要涉及基本类型的包装类、进程管理和线程类。本章节内容的主要要点和方向: 基本类型的包装类 技术盲点:基本类型的比较 通常对于基本类型的比较我们都是用的是 == 或者 equals方法进行处理,但是在基本类型的比较方面,Boolean、Byte、Short、Integer、Long 和 Character 类都添加了一个静态 compare 方法,用于比较两个基本 开发运维 2023-07-15 穿过生命散发芬芳
ELK5.5elasticsearchxpack破解 ELK 6.3.2 x-pack破解参考 https://www.linuxea.com/1895.html 创建LicenseVerifier.java文件 [root@linuxea.com-Node61 /elk/]# cat LicenseVerifier.java package org.elasticsearch.license; import java.nio.*; import j 自动化运维 2023-07-15 穿过生命散发芬芳
jdk+tomcat安装配置 配置java环境jdk下载 [root@NFS-WEB1 local]# rpm -ivh jdk-7u9-linux-x64.rpm Preparing... ########################################### [100%] 1:jdk ########################################### [100%] [root@NFS-W 应用运维 2023-07-15 LOVEHL^ˇ^
Java类加载机制 当Java程序运行时,Java虚拟机会根据类的全限定名查找对应的.class文件并加载到内存中。加载过程包括读取字节码文件、解析文件结构、创建java.lang.Class对象等。加载之后,Java虚拟机会对类进行链接(验证、准备和解析)、初始化(执行静态字段和静态代码块)等操作,最终将类的实例化、方法调用等操作映射到操作系统的执行过程。 class文件简介 Java的.class文件是由Java 开发运维 2023-07-15 醒在深海的猫