尚硅谷
文章平均质量分 81
zgcadmin
这个作者很懒,什么都没留下…
展开
-
谷粒商城-目录
123原创 2021-08-31 12:50:29 · 154 阅读 · 0 评论 -
分布式消息系统RocketMQ
消息队列MQ 的相关概念什么是 MQMQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。为什么要用 MQ流量消峰举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正常时段我们下单一秒后就能返回结果。但是在高峰期,如果有两万次下单操作系统是处理不了的,只能限制订单超过一万后不允许用户下单。使用消息队列做缓冲,我们可以取消这个限制原创 2021-08-27 21:31:48 · 720 阅读 · 1 评论 -
Redis6视频课程
NoSQL数据库简介技术发展技术的分类解决功能性的问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN解决扩展性的问题:Struts、Spring、SpringMVC、Hibernate、Mybatis解决性能的问题:NoSQL、Java线程、Hadoop、Nginx、MQ、ElasticSearchNoSQL数据库NoSQL数据库概述NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。 NoSQ原创 2021-08-26 11:47:09 · 290 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-下篇-第1章:概述篇
大厂面试题支付宝:支付宝三面:JVM 性能调优都做了什么?小米:有做过 JVM 内存优化吗?从 SQL、JVM、架构、数据库四个方面讲讲优化思路蚂蚁金服:JVM 的编译优化jvm 性能调优都做了什么JVM 诊断调优工具用过哪些?二面:jvm 怎样调优,堆内存、栈空间设置多少合适三面:JVM 相关的分析工具使用过的有哪些?具体的性能调优步骤如何阿里:如何进行 JVM 调优?有哪些方法?如何理解内存泄漏问题?有哪些情况会导致内存泄漏?如何解决?字节跳动:原创 2021-08-23 17:16:20 · 291 阅读 · 1 评论 -
尚硅谷MySQL数据库高级-目录
尚硅谷MySQL数据库高级-01-mysq1的架构介绍尚硅谷MySQL数据库高级-02-索引优化分析尚硅谷MySQL数据库高级-03-查询截取分析尚硅谷MySQL数据库高级-04-MySQL锁机制尚硅谷MySQL数据库高级-05-主从复制...原创 2021-08-23 16:06:54 · 141 阅读 · 0 评论 -
JAVA30天-高级篇-5-泛型
泛型类可能有多个参数,此时应将多个参数一起放在尖括号内。比如: 泛型类的构造器如下: public GenericClass(){}。而下面是错误的: public GenericClass(){}实例化后,操作原来泛型位置的结构必须与指定的泛型类型一致。泛型不同的引用不能相互赋值。尽管在编译时ArrayList和ArrayList是两种类型,但是,在运行时只有一个ArrayList被加载到JVM中。原创 2021-08-19 23:24:11 · 83 阅读 · 0 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第4章:再谈类的加载器-06-08
沙箱安全机制前言沙箱安全机制保证程序安全保护Java原生的JDK代码Java安全模型的核心就是Java沙箱(sandbox)。什么是沙箱?沙箱是一个限制程序运行的环境。沙箱机制就是将Java代码限定在虚拟机(JVM)特定的运行范围中,并且严格限制代码对本地系统资源访问。通过这样的措施来保证对代码的有限隔离,防止对本地系统造成破坏。沙箱主要限制系统资源访问,那系统资源包括什么?CPU、内存、文件系统、网络。不同级别的沙箱对这些资源访问的限制也可以不一样。所有的Java程序运行都可以指定原创 2020-10-18 16:01:36 · 260 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第4章:再谈类的加载器-05-双亲委派模型
定义与本质类加载器用来把类加载到Java虚拟机中。从JDK1.2版本开始,类的加载过程采用双亲委派机制,这种机制能更好地保证Java平台的安全。定义如果一个类加载器在接到加载类的请求时,它首先不会自己尝试去加载这个类,而是把这个请求任务委托给父类加载器去完成,依次递归,如果父类加载器可以完成类加载任务,就成功返回。只有父类加载器无法完成此加载任务时,才自己去加载。本质规定了类加载的顺序是:引导类加载器先加载,若加载不到,由扩展类加载器加载,若还加载不到,才会由系统类加载器或自定义的类加载器进行原创 2020-10-15 11:19:28 · 430 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第4章:再谈类的加载器-04-ClassLoader源码解析
引言除了以上虚拟机自带的加载器外,用户还可以定制自己的类加载器。Java提供了抽象类java.lang.ClassLoader,所有用户自定义的类加载器都应该继承ClassLoader类。关于Launcher类ClassLoader的主要方法抽象类ClassLoader的主要方法:(内部没有抽象方法)public final ClassLoader getParent()返回该类加载器的超类加载器public Class<?> loadClass(String原创 2020-10-13 18:24:41 · 231 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第4章:再谈类的加载器-02和03-类的加载器分类
引导类加载器扩展类加载器系统类加载器用户自定义类加载器原创 2020-10-11 17:30:55 · 265 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第4章:再谈类的加载器-01-概述
引言类加载器是JVM执行类加载机制的前提。ClassLoader的作用:ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的,ClassLoader负责通过各种方式将Class信息的二进制数据流读入JVM内部,转换为一个与目标类对应的java.lang.Class对象实例。然后交给Java虚拟机进行链接、初始化等操作。因此,ClassLoader在整个装载阶段,只能影响到类的加载,而无法通过ClassLoader去改变类的链接和初始化行为。至于它是否可以运原创 2020-10-10 23:04:14 · 296 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第3章类的加载过程(类的生命周期)详解-5和6-类的使用和卸载
过程四:类的Using(使用)任何一个类型在使用之前都必须经历过完整的加载、链接和初始化3个类加载步骤。一旦一个类型成功经历过这3个步骤之后,便“厉事俱备只欠东风”,就等着开发者使用了。开发人员可以在程序中访问和调用它的静态类成员信息(比如:静态字段、静态方法),或者使用new关键字为其创建对象实例。过程五:类的Unloading(卸载)类、类的加载器、类的实例之间的引用关系在类加载器的内部实现中,用一个Java集合来存放所加载类的引用。另一方面,一个Class对象总是会引用它的类加载器,调原创 2020-10-10 16:03:17 · 185 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第3章类的加载过程(类的生命周期)详解-4-过程三:Initialization(初始化)阶段
static与final的搭配问题初始化阶段,简言之,为类的静态变量赋予正确的初始值。具体描述类的初始化是类装载的最后一个阶段。如果前面的步骤都没有问题,那么表示类可以顺利装载到系统中。此时,类才会开始执行Java字节码。(即:到了初始化阶段,才真正开始执行类中定义的Java程序代码。)初始化阶段的重要工作是执行类的初始化方法:<clinit>()方法。该方法仅能由Java编译器生成并由JVM调用,程序开发者无法自定义一个同名的方法,更无法直接在Java程序中调用该方法,虽然该方法原创 2020-10-10 14:43:12 · 266 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第3章类的加载过程(类的生命周期)详解-3-过程二:Linking(链接)阶段
环节1:链接阶段之Verification(验证)当类加载到系统后,就开始链接操作,验证是链接操作的第一步。它的目的是保证加载的字节码是合法、合理并符合规范的。验证的步骤比较复杂,实际要验证的项目也很繁多,大体上Java虚拟机需要做以下检查,如图所示。整体说明:验证的内容则涵盖了类数据信息的格式验证、语义检查、字节码验证,以及符号引用验证等。其中格式验证会和加载阶段一起执行。验证通过之后,类加载器才会成功将类的二进制数据信息加载到方法区中。格式验证之外的验证操作将会在方法区中进行。原创 2020-10-08 22:39:44 · 282 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第3章类的加载过程(类的生命周期)详解-2-过程一:Loading(加载)阶段
加载完成的操作加载的理解所谓加载,简而言之就是将Java类的字节码文件加载到机器内存中,并在内存中构建出Java类的原型——类模板对象。所谓类模板对象,其实就是Java类在]VM内存中的一个快照,JVM将从字节码文件中解析出的常量池、类字段、类方法等信息存储到类模板中,这样]VM在运行期便能通过类模板而获取Java类中的任意信息,能够对Java类的成员变量进行遍历,也能进行Java方法的调用。反射的机制即基于这一基础。如果JVM没有将Java类的声明信息存储起来,则JVM在运行期也无法反射。加载原创 2020-10-08 17:26:06 · 253 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第3章类的加载过程(类的生命周期)详解-1-概述
引言在Java中数据类型分为基本数据类型和引用数据类型。基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载。按照Java虚拟机规范,从class文件到加载到内存中的类,到类卸载出内存为止,它的整个生命周期包括如下7个阶段:其中,验证、准备、解析3个部分统称为链接(Linking)从程序中类的使用过程看:大厂面试题蚂蚁金服:描述一下JvM加载Class文件的原理机制?一面:类加载过程百度:类加载的时机java类加载过程?简述java类加载机制?腾讯:JVM原创 2020-10-08 16:24:57 · 318 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第2章Class文件结构-1-概述
引言Java字节码对于虚拟机,就好像汇编语言对于计算机,属于基本执行指令。Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。由于Java虚拟机采用面向操作数栈而不是寄存器的结构,所以大多数的指令都不包含操作数,只有一个操作码。由于限制了Java虚拟机操作码的长度为一个字节(即0~255),这意味着指令集的操作码总数不可能超过256条。官方文档:https://docs.ora原创 2020-09-28 15:41:43 · 382 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第1章Class文件结构-3-Class文件结构
魔数:Class文件的标志官方文档位置: https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.htmlClass文件版本号原创 2020-09-28 12:37:16 · 942 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第1章Class文件结构-2-虚拟机的基石:Class文件
字节码文件里是什么?源代码经过编译器编译之后便会生成一个字节码文,字节码是一种二进制的类文件,它的内容是JVM的指令,而不像C、C++经由编译器直接生成机器码。什么是字节码指令(byte code)?Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的操作码(opcode)以及跟随其后的零至多个代表此操作所需参数的操作数(operand)所构成。虚拟机中许多指令并不包含操作数,只有一个操作码。比如 操作码 操作数solt1-3是现成的,不需要额外操作数如何解读供虚拟机原创 2020-09-24 17:56:34 · 299 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-中篇-第1章Class文件结构-1-字节码文件的跨平台性
字节码文件的跨平台性Java语言:跨平台的语言(write once,run anywhere)当Java源代码成功编译成字节码后,如果想在不同的平台上面运行,则无须再次编译。这个优势不再那么吸引人了,Python、PHP、Per1、Ruby、Lisp等有强大的解释器。跨平台似乎已经快成为一门语言必选的特性。Java虚拟机:跨语言的平台Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格所关联。无论使用何种语言进行软件开发,只要能将源文件编译为正原创 2020-09-24 17:32:38 · 539 阅读 · 1 评论 -
尚硅谷2020最新版宋红康JVM教程-17-垃圾回收器
转载:https://www.bilibili.com/video/BV1PJ411n7xZ参考:https://gitee.com/moxi159753/LearningNotes/tree/master/JVM,https://www.cnblogs.com/yanl55555/p/12623447.html1GC分类与性能指标2不同的垃圾回收器概述3|Serial回收器:串行回收4ParNew回收器:并行回收5||Parallel回收器:吞吐量优先6|CMS回收器:低延迟7G1回原创 2020-09-22 23:38:30 · 563 阅读 · 1 评论