• 彻底搞懂JVM类加载器:基本概念
    JVM的类加载机制是一个很经典的知识点,围绕这个知识点可以有下面这些难度不同的问题。简单讲下JVM中的类加载过程JVM中的类加载和卸载的时机?如何理解JVM中不同类加载器的概念和作用?基本概念篇类的加载和卸载JVM是虚拟机的一种,它的指令集语言是字节码,字节码构成的文件是class文件。JVM将指定的class文件读取到内存里,并运行该class文件里的Java程序的过程,就称之为类的加载;反之,将某个class文件的运行时数据从JVM中移除的过程,就称之为类的卸载。在JVM中,一个类的唯一性是需要这个类本身和类加载一起才能确定的,每个类加载器都有一个独立的命名空间。
  • VMware vSphere 服务器虚拟化部署安装图解 | 资料
    在虚拟化项目中,内存比CPU更重要。在使用VMware vSphere实施虚拟化项目时,一个推荐的作法是将VMware ESXi安装在服务器的本地硬盘上,这个本地硬盘可以是一个固态硬盘,也可以是一个SD卡,甚至可以是1GB的U盘,如果服务器没有配置本地硬盘,也可以从存储上为服务器划分8~16GB的分区用于启动。
  • 你写的 Java 代码是如何一步步输出结果的?
    扫描下方二维码试读目录一、编写Java源程序二、编译Java源代码三、执行Java源文件四、JVM如何执行字节码文件对于任何一门语言,要想达到精通的水平,研究它的执行原理不失为一种良好的方式。Java虚拟机的主要任务是装载class文件,并执行其中的字节码,不同的Java虚拟机中,执行引擎可能有不同的实现。启动类加载器是Java虚拟机唯一实现的一部分,它又可分为原始类装载器,系统类装载器或默认类装载器。它的主要作用是从操作系统的磁盘装载相应的类,如JavaAPI类等。根据厂商的不同,在Java虚拟机中,运行时数据区也有所不同。
  • 某小公司项目环境部署演变之路
    )背景我们是一家产品+定制化需求公司,项目做好之后会直接部署到客户服务器上。~2016年需甲方提供windows或linux服务器远程连接方式非常复杂,只能case by case远程到服务器上上传数据库、jdk、tomcat各类安装包安装安装数据库安装jdk、tomcat、nginx人工部署war包等等此方式缺点太多,往往需要3-5人天才能完成所有部署,但我们只有一位运维人员,所以当项目冲突时,极为被动。当然,据我了解,目前还有一些小公司在沿用这种部署方式,所以在这里劝采用这种方式的公司尽快完成转型。
  • VMware 虚拟化平台规划设计方案 | 资料
    3 群集和资源池设计3.1 VMware HA群集设计原理至少2台以上ESXi主机组建为一个HA群集。VMware HA为虚拟机中的运行提供快速计划外中断恢复和具有成本效益的高可用性。VMware HA不需要在应用程序或虚拟机内安装任何特殊软件。HA群集中的所有虚拟机均受 VMware HA 保护。VMware HA要求虚拟机必须驻留在共享存储上。VMware HA代理会在ESXi主机间相互通信,并监控群集内各台ESXi主机的活跃度。则在ESXI主机发生故障时,VMware HA 将尝试在备用ESXI主机上重新启动其虚拟机。
  • 终于有人把JAVA虚拟机讲清楚了
    后来,又交流技术,都发现JVM这块大厂是越来越在乎。具体的项目不说了,但他现在招新人必问JVM,无论对方有没有在简历上写熟悉JVM这块。大多数同学学习JVM面临的痛点:纯理论学习,背概念,缺乏真实的JVM生产案例实战。很多同学看过不少JVM书籍或视频,理论知识丰富。真正碰到线上JVM问题不知道如何运用所学知识去解决。学透JVM难道就真的就没有一种适合大多数同学的方法吗?所以我给大家准备了专题课程《JVM虚拟机底层原理分析与性能优化》。
  • 安全容器的发展与思考
    在杭州云栖大会容器专场,阿里云智能刘奖和蚂蚁金服王旭两位资深技术专家进行了一场精彩纷呈的演讲,与各位观众分享探讨了安全容器技术的过去、今天和未来。和其他领域差不多,容器安全也是一项端到端的技术,从容器镜像本身的安全性和完整性,到运行容器的软硬件平台的基础设施安全性,再到容器运行时引擎的安全性都需要被照顾到,哪个都可能成为最短的那根板子。阿里云安全沙箱的历史、现状以及未来从2013年到2019年的6年时间里,容器技术及生态每年都往前迈进一大步,经历了从提出技术理念、构建合作生态到商业落地应用的飞速发展周期
  • Java虚拟机最多支持多少个线程的探讨
    我曾经见过一台Windows服务器在宕机之前有超过6500个线程。一旦一台机器上有差不多6500个线程,机器就会开始出问题,并变得不稳定。以我的经验来看,JVM容纳的线程与计算机本身性能是正相关的。当然了,你要有足够的本机内存,并且给Java分配了足够的内存,让每个线程都可以拥有栈,可以做任何想做的事情。任何一台拥有现代CPU和1-2G内存的机器很容易就可以支持有上千个线程的Java虚拟机。对于特定的虚拟机,都会有自己的运行时参数。能否让这些线程做有用的事情还不确定。但是,堆大小和最大线程数却是呈反比例关系。实际在XP系统上,我发现大约能启动13000个线程。
  • 某小公司项目环境部署演变之路
    )背景我们是一家产品+定制化需求公司,项目做好之后会直接部署到客户服务器上。~2016年需甲方提供windows或linux服务器远程连接方式非常复杂,只能case by case远程到服务器上上传数据库、jdk、tomcat各类安装包安装安装数据库安装jdk、tomcat、nginx人工部署war包等等此方式缺点太多,往往需要3-5人天才能完成所有部署,但我们只有一位运维人员,所以当项目冲突时,极为被动。当然,据我了解,目前还有一些小公司在沿用这种部署方式,所以在这里劝采用这种方式的公司尽快完成转型。
  • 混合云编排工具Terraform入门
    而这个混合云统一编排工具目前已经有很好的开源项目支持了,它就是下面将要介绍的Terraform项目。但二者其实是有差别的,首先Orchestration如Terraform主要解决底层基础设施资源管理问题,而配置管理工具如Ansible主要面向操作系统的配置。由于资源必然属于某个云平台,因此显然Terraform中所有的资源必须隶属于某个Provider。Provider在Terraform中以插件的形式加载,在init阶段Terraform会自动下载所需要的所有Provider插件。
  • 争议 | 虚拟化环境的网络流量镜像,这三种实现方式哪个最佳?
    以下内容来自社区探讨,欢迎点击阅读原文到社区与同行交流本话题如何规划建设虚拟化环境的网络流量镜像?但虚拟化平台中,部分虚拟机的网络流量可能在物理机内部的虚拟交换机中完成交互,无法从物理交换机上获取流量镜像。我们了解到了虚拟化环境的网络流量镜像的以下三种方式:1、使用VMware VDS分布式交换机的端口镜像功能2、在每台宿主机上安装第三方的虚拟机,用于收集这台宿主机内部的虚拟机网络流量3、在需要镜像流量镜像的虚拟机上安装第三方agent,收集自身的网络流量三种方式都将通过区别业务网卡的单独网卡将镜像流量传送至type网络。
  • 学习笔记 | 深入理解Java内存模型
    Java内存模型Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。此外,程序计数器是 Java 虚拟机规定的唯一不会发生内存溢出的区域。虚拟机栈 虚拟机栈也是每个线程私有的一块内存空间,它的生命周期与线程相同。虚拟机栈描述的是 Java 方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。堆内存 堆内存主要用于存放对象和数组,它是 JVM 的内存中最大的一块区域,堆内存和方法区都被所有线程共享,在虚拟机启动的时候创建。
  • 低成本轻松实现移动式钓鱼 Wify 网络
    本文作者:Sp4rkW多图预警,建议wifi下阅读文章~~~钓鱼 wifi 相信大家都听说过,但你是否真的懂得钓鱼 wifi 的原理呢?是否真的能动手去搭建一个移动钓鱼 WiFi?是否能想到几点关于钓鱼 WiFi 的防御手段呢?希望通过这篇文章分享,能够帮你解答一些上面的疑惑环境需求1、手机热点2、kali 虚拟机3、移动网卡选用手机热点而不选用一般的 wifi,是因为想要搭建一个移动式钓鱼 wifi,一个手机热点就可以保障"移动",当然,手机热点可以不需要,但是一个钓鱼 wifi 如果不可以让用户正常上网,很容易就会被发现这个 wifi 有问题。
  • 某小公司项目环境部署演变之路
    )背景我们是一家产品+定制化需求公司,项目做好之后会直接部署到客户服务器上。~2016年需甲方提供windows或linux服务器远程连接方式非常复杂,只能case by case远程到服务器上上传数据库、jdk、tomcat各类安装包安装安装数据库安装jdk、tomcat、nginx人工部署war包等等此方式缺点太多,往往需要3-5人天才能完成所有部署,但我们只有一位运维人员,所以当项目冲突时,极为被动。当然,据我了解,目前还有一些小公司在沿用这种部署方式,所以在这里劝采用这种方式的公司尽快完成转型。
  • 面试又栽在JVM上了?JVM 常见面试题指南助你横扫BAT
    不管是工作还是面试中,JVM都是必考题。如果不懂JVM的话,薪酬会非常吃亏,近70%的面试者挂在JVM上了。今天栈长给大家推荐由腾讯课堂联合源码学院出的一个2 分钱课程《阿里巴巴与京东线上环境调优实战 》,看它到底是怎么样来实现我们常说的诸如:分布式下京东百万级查询优化实战、搜索查询优化实战、Java虚拟机性能调优、Java虚拟机运行原理、以及理解高并发程序的开发精髓。学习后你将获得核心技术:阿里巴巴虚拟机调优实战京东商品中心百万级查询优化商品中心业务介绍搜索查询优化分析搜索查询优化实战优化方案底层原理分析
  • 万万没想到,JVM内存结构的面试题可以问的这么难?
    Q1:JVM管理的内存结构是怎样的?方法区在实际内存空间站可以是不连续的。这一规定,可以说是给了虚拟机厂商很大的自由。实践证明,JVM中存在着大量的声明短暂的对象,还有一些生命周期比较长的对象。在JVM运行时内存区域中,PC寄存器、虚拟机栈和本地方法栈是线程独享的。
  • 如何探测虚拟环境是物理机、虚拟机还是容器? | 运维进阶
    目前裸机(物理机)、虚拟机、容器是云计算提供计算服务的三种主流形式。那么如何判断一个虚拟shell环境到底是物理机、虚拟机还是容器呢?更进一步,如果是物理机,这个物理机厂商是什么,虚拟机到底是KVM还是XEN,容器是Docker还是rkt、lxc等?判断PID 1如果为应用本身,则该虚拟环境是容器,否则不能确定是否是容器。换句话说,不能因为lscpu的Hypervisor vendor值为KVM就说明一定是KVM虚拟机,因为它也有可能是容器。通过如上方法可以获取虚拟机的虚拟化类型,能否获取更多信息呢?
  • 可能是国内第一篇全面解读 Java 现状及趋势的文章
    2 个月前,InfoQ 英文站发布了一份《2019 Java 发展趋势报告》,从技术采用生命周期的角度,分析了 Java 这门 20 多年历史语言的发展现状。毫不惭愧的说,这份中国区的 Java 发展趋势报告无论是参与专家,还是呈现角度,都要优于英文站的报告。除此以外,我们还在 InfoQ 社区发起了 Java 开发者调查,把开发者的 Java 使用情况也如实呈现在本次趋势报告中。在 InfoQ 面向开发者的 Java 使用版本调查中,毫无悬念,在参与问卷调研的开发者中,88.7% 正在使用 Java8 版本,这些人当中只有 35% 有升级计划,剩余 65% 并没有升级计划。杨晓峰认为这一情况也正常:Java8 在可预见的将来依然会是生产的主体,放
  • 学习笔记 | Java 垃圾回收(面试必备)
    Java 垃圾回收与垃圾收集器垃圾回收,就是通过垃圾收集器把内存中没用的对象清理掉。对象的内存分配主要在新生代的 Eden Space 和 Survivor Space 的 From Space,少数情况会直接分配到老年代。当对象在 Survivor 区躲过一次 GC 后,其年龄就会加 1。ParNew 收集器 ParNew 收集器是 Serial 收集器的多线程版本,可以使用多条线程进行垃圾收集。ParNew 是运行在 Server 模式下的虚拟机中首选的新生代收集器,只有 ParNew 收集器能够与 CMS 收集器配合工作。Parallel Scavenge 收集器的目标是 达到一个可控制的吞吐量。GCTimeRatio:参数的值是一个大于 0 且小于 100 的证书,就是垃圾收集时间占总时间的比率,相当于是吞吐量的倒数。
活跃用户
一个专注侃侃计算机视觉方向的公众号。计算机视觉、图像处理、机器学习、深度学习、C/C++、Python、诗和远方等。
分享项目实践,洞察前沿架构,聚焦云计算、微服务、大数据、超融合、软件定义、数据保护、人工智能、行业实践和解决方案。
开源软件,改变世界!专注于分享各类效率工具,加入我们,和10万人一起探宝寻器!
专注于分享互联网技术文章。笔者待过BAT等一线互联网公司,文笔流畅,酷爱写作与编码,期待你的关注!
每天分享 Java技术栈 干货,路虽远,行则必至。