后端
cjyj
致力于电商开发的一名小小java工程师
展开
-
JVM垃圾收集算法与收集器
算法是什么?复制算法copying:新生代内:GC ROOTS 根节点–>扫描M0老内存区–>标记live对象–>复制–>新内存M1–>清空M0老内存区场景:live少,dead多 为什么?反之 扫描+标记+复制+开辟新内存 增加成本为什么放新生代?答:新生代 eden from to 区域 内对象活动比较少 。为什么效率高?答:内存容量均等–>...原创 2020-03-16 00:06:59 · 194 阅读 · 0 评论 -
JVM
Jvm是什么?答:jvm 虚拟机规范的一套实现组成? 字节码指令集 PC寄存器 栈 堆 方法区等组成特性? 答: 跨平台如何执行? 答: 加载class文件解释成机器指令执行。JDK是什么?答:编译调试java程序开发工具包 基于JRE运行。JRE是什么?答:Java运行环境 可以叫做平台。和操作系统比呢?答:只是一个应用程序 一个进程。JVM是什么?答:JRE的...原创 2020-03-15 21:17:35 · 146 阅读 · 0 评论 -
Java虚拟机-类加载-双亲委派模型
双亲委派模型叫什么?答:一种类加载器组合关系模型描述什么?答:Bootstrap(启动类加载器) Extension(标准扩展类加载器) Application(应用类加载器) Custom(自定义类加载器) 三者之间的关系过程是怎么样的?答:req–>类加载器–>委托父类加载器完成。父类不存在无法完成<–父类加载器类加载器–>委托父类的父类加载器完成。...原创 2020-03-15 12:12:22 · 156 阅读 · 0 评论 -
Java虚拟机-类加载
java类加载什么是类加载?答:jvm将class文件加载到内存的过程称为类加载过程是啥样的?答:装载-链接-初始化-调用-卸载 这叫做类的生命周期每个过程又是啥样的?答:装载 Load:找到类的二进制数据-导入到内存中如何找? 答:根据类信息(如:类全名)找如何导入内存? 答:申请内存空间-流读取-写入内存啥意思? 答:字节流的静态存储结构放入运行时数据区的过...原创 2020-03-15 11:48:17 · 136 阅读 · 0 评论 -
Java虚拟机内存模型-命令大全
jps: 查看显示虚拟机进程以及进程的配置、环境信息jps -h :查看使用帮助jps -q :查看PIDjps -m :查看main函数参数 嵌入式为nulljps -l :查看mainclass的全名jps -v :查看jvm传递参数jps -V :隐藏jvm传递参数jcmd: 打印java进程中的线程信息 虚拟机信息 基本类信息jcmd -l : 查看当前机器所有jvm进程...原创 2020-03-14 14:28:39 · 306 阅读 · 0 评论 -
Java虚拟机内存模型-方法区
方法区:叫什么? 答:别名:Non-Heap(非堆区) 也叫永久区是什么? 答:JVM一种规范位置在哪?答:堆中的独立内存空间 1.8+ 实现方法区规范的元空间 位置移动到了本地内存区存储什么?答:元数据 :类结构:类全名 父类全名 类型修饰符 类直接接口类表 类型信息域信息:域全名 域类型 域修饰符方法信息:(方法名称 返回类型 方法参数 方法修饰符 方法字节码 操作数栈 方法...原创 2020-03-14 12:50:57 · 147 阅读 · 0 评论 -
Java虚拟机内存模型-元空间
元空间:叫什么? 答: MetaSpace区位置在哪?答:本地内存-nativeMemorySpace存储什么?答:元数据:类结构:类全名 父类全名 类型修饰符 类直接接口类表 类型信息常量池:串池 静态变量 域常量信息 方法常量信息域信息:域全名 域类型 域修饰符方法信息:(方法名称 返回类型 方法参数 方法修饰符 方法字节码 操作数栈 方法帧栈局部变量表大小 异常表)干什么?...原创 2020-03-14 12:46:55 · 385 阅读 · 0 评论 -
Java虚拟机内存模式-堆空间
堆空间:Java堆是干什么?答:为对象和数组分配空间。特点:线程共享组成:新生代(伊甸园 生存区1 生存区2) 老年代 永久代新生代叫什么?Young Generation伊甸园叫什么? 答:eden 用来干什么? 答:出生地生存区1叫什么?答:space0 | s0 |from space | 全名 用来干什么? 答:幸存...原创 2020-03-14 12:45:59 · 163 阅读 · 0 评论 -
如何进行有效的系统拆分?
条件:用户数是否大 交易数是否大 系统性能是否遇到瓶颈 对于目前来说大而全的系统已经是存在各种问题了。比如用户数和交易数的剧增,会带来多线程和高并发的业务问题甚至代码问题。再比如:系统性能在面对小用户数并发时依然低下的问题。因此我们就需要对我们的架构或者业务进行拆分。拆分是立马着手的吗?no,不是的。这需要我们在一些中小型企业或者一些更复杂的一些大平台比如像银行的一些系统中需要有...原创 2018-11-22 12:13:27 · 1852 阅读 · 0 评论 -
怎么理解和设计应用的无状态化?
什么是无状态?无状态(statelessness)指的是服务内部变量值的存储。这句话怎么理解?我们可以理解为在我们的服务器内部存储一个变量。一个请求过来,那么此时带着该变量的就为有状态,或者在客户端存储了该变量,请求过来时,需要重复使用该变量的也是有状态的体现。那么我们怎么做,可以让我们的应用软件是无状态。那么我们需要将该变量存储在第三方的一些服务或者中间件上,比如将用户登陆token...原创 2018-11-22 11:18:20 · 5659 阅读 · 0 评论