当前位置: 首页 > news >正文

网站怎么收费的社交网站怎么制作

网站怎么收费的,社交网站怎么制作,免费网页代理在线,自己建的网站可以用笔记本做服务器吗JVM 1. jvm内存区域分为哪些部分 线程私有的#xff1a;程序计数器、虚拟机栈、本地方法栈 程序计数器#xff1a;指示当前线程执行到的字节码文件的行号#xff0c;是线程切换后保证线程能恢复到正确的执行位置的关键 虚拟机栈#xff1a;用于存储方法调用的数据…JVM 1. jvm内存区域分为哪些部分 线程私有的程序计数器、虚拟机栈、本地方法栈 程序计数器指示当前线程执行到的字节码文件的行号是线程切换后保证线程能恢复到正确的执行位置的关键 虚拟机栈用于存储方法调用的数据由一个个栈帧组成每个栈帧表示一个方法调用包括局部变量表、操作数栈、动态链接、方法返回地址。其中局部变量表用于存储基本数据类型的局部变量和对象的引用操作数栈用于存储中间计算结果动态链接用于存储方法的符号引用用于将符号引用转换为调用方法的直接引用。 线程共享的堆、方法区、直接内存 堆最大的一块内存区域唯一目的就是存储对象实例几乎所以对象实例都在这里分配内存除了JIT逃逸分析后在栈上分配内存的。另外堆中还包括字符串常量池。 方法区JDK1.8以前方法区是用堆中的永久代实现的也就是在堆中分配内存JDK1.8以后方法区是用元空间实现的也就是在本地内存中。方法区中包括类信息、静态变量、运行时常量池。 直接内存 2. 堆内存分为哪三个部分对象是如何在堆中晋升的 新生代内存Eden区、S0区、S1区 老生代 永久代用于实现方法区 对象首先在Eden区分配内存年龄为0 一次垃圾回收后如果对象还存活就让它的年龄1并将它放在S0或S1 此后每次垃圾回收后如果对象还存活就让它的年龄1 如果它的年龄达到15岁就晋升到老年代。 另外大对象会直接进入老年代大对象就是需要大量连续内存空间的对象例如字符串数组。 3. 运行时常量池是什么 运行时常量池用于存储编译期生成的各种字面量和符号引用 4. Java类加载的过程 1加载 由类加载器完成使用哪个类加载器取决于双亲委派模型。这一步骤主要完成了三件事 根据类名找到二进制字节流 将二进制字节流的静态存储结构转为方法区中的动态存储结构 在内存中生成一个代表该类的class对象 2验证 确保二进制字节流的信息符合JVM规范 3准备 为类变量分配内存并设置初始值 4解析 将符号引用替换为直接引用。符号引用相当于仅有名称不指向具体内存地址符号引用存储在运行时常量池中转换为直接引用即内存实际地址后才能进行具体访问操作 5初始化 执行类的初始化方法即cinit方法 5. Java对象的创建过程 1类加载检查 先检查该对象对应的类有没有被加载过如果没有先进行类加载过程 2分配内存 为对象分配足够的内存所需内存大小在类加载完成后就可以确定。 分配方式有两种 第一指针碰撞 适用于堆内存规整的情况即没有内存碎片。用过的内存全部整合到一边没有用过的内存放在另一边中间有一个分界指针只需要向着没用过的内存方向将该指针移动对象内存大小位置即可。 第二空闲列表 虚拟机会维护一个列表该列表中会记录哪些内存块是可用的在分配的时候找一块儿足够大的内存块儿来划分给对象实例最后更新列表记录。这种方式容易造成内存碎片 3初始化零值 将分配的内存区域都初始化为零 4设置对象头 设置对象头信息包括它属于哪个类、年龄是多少、哈希码是多少等信息。从这里可以看出来对象的内存分为对象头、实例数据和对齐填充三部分。 5执行init方法 6. 类加载器是什么双亲委派模型是什么 类加载器是负责完成类加载的第一步加载的。每个类都有一个classloader。 直白地说类加载器就是负责将二进制字节码文件.class文件加载到JVM中并生成一个class对象。 类加载时不会一次性加载所有的类而是在用到该类的时候再动态地加载。 类加载器有三种启动类加载器、扩展类加载器、应用程序类加载器。 启动类加载器是最顶层的加载类用于加载JDK核心类库。 扩展类加载器用于加载jar包。 应用程序类加载器用于加载用户编写的类。 那么一个类到底由哪个类加载器去加载呢这是由双亲委派模型指定的。 每个类加载器都有自己对应的父类加载器。 在classloader的loadClass方法中双亲委派模型的执行流程如下 1首先检查该类是否被加载过如果加载过直接返回 2调用父类加载器的loadClass方法来加载类这样根据类加载器的父子关系所有请求最终会传递到顶层的启动类加载器 3当父类加载器反馈自己无法加载这个类时即它没有搜索到这个类子加载器就尝试自己加载 4如果子类加载器也无法加载这个类就抛出异常 为什么要使用双亲委派模型 使用双亲委派模型是为了避免类的重复加载。如果不去调用父加载器的loadClass方法而是每个类自己加载自己的话那么如果两个类名字相同就会出现类名相同但实际上不一样的两个类。 7. 死亡对象的判断方法 引用计数法 每当有一个地方引用它计数器就加 1当引用失效计数器就减 1任何时候计数器为 0 的对象就是不可能再被使用的。 这个方法实现简单效率高但是目前主流的虚拟机中并没有选择这个算法来管理内存其最主要的原因是它很难解决对象之间循环引用的问题。 可达性分析法 用一系列GC Root作为起点构建对象的引用链。当进行可达性分析时从GC Root开始向下搜索走过的对象即有引用的对象。 而如果从GC Root无法到达对象就认为此对象是不可用的需要被回收。 8. 对象的引用类型有哪些 强引用绝不会被垃圾回收当JVM内存不足时即使抛出OOM也不会回收 软引用可有可无JVM内存不足时可能会被回收JVM内存足够就不会被回收 弱引用只有弱引用的对象被JVM发现了就会被回收不管内存是否足够 虚引用形同虚设跟没有引用一样随时可能被回收 9. 如何判断一个常量是废弃常量 假如在字符串常量池中存在字符串 “abc”如果当前没有任何 String 对象引用该字符串常量的话就说明常量 “abc” 就是废弃常量如果这时发生内存回收的话而且有必要的话“abc” 就会被系统清理出常量池了。 10. 如何判断一个类是无用的类从而发生类卸载 类卸载即类的class对象被垃圾回收。 类卸载的条件是 1该类的所有实例对象都已经被回收 2该类没有在其他任何地方被引用 3该类的加载器已经被回收 11. JVM垃圾回收算法有哪些 1标记清除算法 标记出所有不需要回收的对象然后统一回收掉所有没有被标记的。 缺点效率不高会产生内存碎片 2复制算法 每次仅使用内存区域的一半这一半使用完后将还存活的对象复制到另一半去然后将这一半的全部空间清理掉。 缺点可用内存空间变成了原来的一半如果对象很大复制会耗费大量时间。 3标记整理算法 将存活的对象向一端移动然后直接清理掉边界以外的全部内存。 缺点因为要整理效率也不高适合老年代这种垃圾回收频率不是很高的场景。 4分代收集算法 当前虚拟机的垃圾收集都采用分代收集算法即根据新生代、老年代等分代选择不同的垃圾收集算法。对于新生代GC频率比较高、对象占用内存也不是很多的情况可以选择复制算法。对于老年代存活几率比较高可以选择标记清除或者标记整理算法。 实际上JVM之所以对对象进行分代也是为了垃圾回收时能够根据不同代对象的特点选择合适的算法。 12. 垃圾回收器有哪些 1Serial串行收集器 历史最悠久的单线程的新生代标记复制算法老生代标记整理算法 2Serial Old Serial收集器的老年代版本 3并行收集器ParNew 其实就是Serial的多线程版本仍然是新生代标记复制算法老生代标记整理算法 4Parallel Scavenge JDK1.8采用的收集器。同样新生代标记复制算法老生代标记整理算法且为多线程。但提供了很多参数帮助用户实现最大吞吐量。 5Parallel Old Parallel Scavenge的老年代版本 6CMS收集器 CMSConcurrent Mark Sweep收集器是一种以获取最短回收停顿时间为目标的收集器。它非常符合在注重用户体验的应用上使用。 7G1收集器 G1 (Garbage-First) 是一款面向服务器的垃圾收集器,主要针对配备多颗处理器及大容量内存的机器. 以极高概率满足 GC 停顿时间要求的同时,还具备高吞吐量性能特征。 12. JVM常用的参数有哪些 指定堆内存大小-Xms用于指定最小堆内存大小-Xmx用于指定最大堆内存大小 指定新生代内存-XX:NewSize最小新生代内存 -XX:MaxNewSize最大新生代内存-Xmn直接指定新生代内存大小另外还可以通过-XX:NewRation指定新生代老生代内存比例 指定元空间大小-XX:MetaspaceSize、-XX:MaxMetaspaceSize 选择垃圾回收器-XX:UseSerialGC选择串行收集器、-XX:UseParallelGC选择并行收集器、-XX:UseConcMarkSweepGC选择CMS收集器、-XX:UseG1GC选择G1收集器 还有一些打印日志的参数 -XX:PrintGCDetails 打印GC信息 -XX:PrintGCDateStamps 打印GC信息 -XX:PrintTenuringDistribution # 打印对象分布 -XX:PrintHeapAtGC # 打印堆数据
http://www.hkea.cn/news/14560880/

相关文章:

  • 上海网站建设开发公网站建设用什么系统
  • 有没有做美食的视频网站外部链接对网站的影响
  • 长沙网站策划简述网络营销的含义
  • 河南餐饮网站建设网络营销如何进行
  • 徐州优化网站建设济南网站建设联系方式
  • 哪个公司做网站好 知乎公明做企业网站
  • 企业门户网站布局特征网站域名过户查询
  • 东莞做网站设计制作做抽奖网站用什么cms
  • 上门做指甲哪个网站做外贸的经常浏览的三个网站
  • 泰坦科技网站建设19寸 网站做多大
  • 网站开发认证考试重庆做手机网站建设
  • 网站设计制作厂家有哪些joomla做的网站
  • 做网站和做阿里巴巴wordpress多级tree分类目录
  • 网站的建设目标有哪些小程序图片素材库
  • asp.net 4.0网站开...做公司网站麻烦吗
  • 动态ip建网站wordpress+360友链
  • 做网站须知WordPress 5.0升级
  • 虚拟机怎么做网站wordpress单页导航模版
  • 深圳市交易建设工程交易服务中心网站seo百度站长工具查询
  • 泰兴做网站电话网页设计与制作相关书籍
  • 聊城手机网站制作专业做网站建设制作服务
  • 国家示范校建设专题网站工商网站备案办法
  • 如何建设一个博客网站教育网站建设备案
  • php 家政网站ps切片工具做网站
  • 湖北省住房和建设厅官方网站企业网站怎么制作流程
  • 500元制作网站asp 网站数据库连接错误
  • 网站建设培训网站天辰建设网
  • 海报在线制作网站dz网站模板 首页显示内容
  • 个人网站转为企业网站石碣网站建设
  • 网站地图1 500 怎么做百度服务中心电话