大厂面试题
文章平均质量分 61
百知_zmj
技术型女性
展开
-
第七章 - c语言中的指针
指针的定义:数据类型 *指针变量名 [= 初始值 ];// 初始值可以省略。变量是存放数据的内存单元,变量的地址就是指针,而且不同类型的变量有不同类型的指针。指针:是内存单元的地址,使用指针可以更灵活访问内存单元中的数据。原创 2024-08-02 17:15:16 · 269 阅读 · 0 评论 -
第六章 - c语言中的数组-二维数组(下)
二维数组案例:杨辉三角形。原创 2024-08-02 11:13:22 · 277 阅读 · 0 评论 -
JVM调优 - 参数配置
你平时工作用过的jvm常用基本配置参数有哪些?long totalMemory = Runtime.getRuntime().totalMemory();//返回jvm启动时内存总容量long maxMemory = Runtime.getRuntime().maxMemory();// 返回jvm视图使用最大的内容容量System.out.println("-Xms:"+totalMemory/1024/1024);System.out.println("-Xmx:"+maxMemory/1024原创 2020-05-22 11:08:34 · 310 阅读 · 0 评论 -
JVM调优 - jvm参数盘点家底
查看jvm参数盘点家底你刚才提到说做过jvm调优和参数配置,请问如何盘点查看jvm系统默认值?第一种方式:jps 和 info(1) jps -l : 查看Java程序中运行中的进程号和对应的应用类 jinfo -flag PrintGCDetails 23480: 查看某个运行进程的jvm参数(2) jinfo -flags 23480 : 查看某一个进程中所有参数第二种方式:(1) -XX:+PrintFlagsInitial -->查看初原创 2020-05-22 11:04:56 · 278 阅读 · 0 评论 -
JVM调优 - 参数的类型
JVM的 参数类型(1) 标配参数[稳定]:java -version 、java -help、java -showversion(2) X参数(了解):-Xint : 解释执行-Xcomp:第一次使用就编译成本地代码-Xmixed:混合模式(3) XX参数【重点】boolean类型公式:-XX: + 或是-某一个属性值 注意:+表示开启 ; - 表示关闭案例:a. 是否打印GC收集细节? jps -l : 查看Java程序中原创 2020-05-22 10:56:52 · 297 阅读 · 0 评论 -
深入JVM原理之类加载 - 双亲委派模型
一、类加载机制类加载机制:虚拟机把描述类的数据从.class文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。类加载的过程:(1) 加载:将class文件字节码内容加载到内存中;并将这些内容转换成方法区中的运行时数据结构;在内存中生成一个代表这个类的java.lang.Class对象,作为方法区类数据的访问入口在方法区中分配(2) 验证:确保class 文件中的字节内容符合jvm规范,并且不会危害jvm自身的安全(3) 准备:正式为类变量(原创 2020-05-08 21:08:12 · 336 阅读 · 0 评论 -
JVM - 垃圾回收
垃圾回收判断对象是否已死(1) 引用计数算法:给每一个对象中添加一个引用计数器,即每当一个地方引用此对象时,则计数器就加1,当引用失效时,则计数器就减1;任何时刻计数器为0的对象是不可能再被使用。优点:引用计数算符实现比较简单,判断效率高缺点:很难解决对象之间循环引用的问题。注意:目前主流的Java虚拟机并没有采用引用计数算法来管理内存。(2) 可达性分析算法:通过一系...原创 2020-05-08 14:23:32 · 239 阅读 · 0 评论 -
JVM内存结构及概述
JVM的内存结构JVM是运行在操作系统之上的,它并不没有直接和硬件进行交互。JVM内存体系结构图:注意:橘色代表所有线程共享的区域 灰色代表线程隔离的数据区域程序计数器:是一块较小的内存空间,它可以看作是当前线程执行的字节码的行号指示器。 字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令, 分支、循环、跳转、异常处理、线程活肤等...原创 2020-04-11 21:43:32 · 277 阅读 · 0 评论 -
集合源码解析:HashMap的底层实现原理(jdk8.0)
源码解析JDK8.0集合:HashMap底层实现原理一、HashMap的概述HashMap是Map接口的实现类,键值对存储(基于哈希表的映射:根据指定的键,可以获取对应的值),并允许null作为键和值,线程不安全,即方法为非同步方法。这一点jdk7.0 和 jdk8.0没有区别。二、HashMap的存储结构jdk7.0中的HashMap采用数组+链表形式进行存储,但是如果一个数组...原创 2020-04-11 20:59:32 · 576 阅读 · 1 评论 -
集合源码解析:ArrayList的底层实现原理
jdk7.0源码解析ArrayList底层实现原理一、ArrayList的概述ArrayList是List的实现类, 存储多个元素,有序、有下标、元素可以重复,允许null作为元素进行存储;线程不安全,因为底层方法为非同步。二、ArrayList的存储结构底层用数组实现,所以每个ArrayList实例都有一个容量,代表底层数组的长度,默认长度为10。随着存储的数据不断增加,底层数组需要扩...原创 2020-04-10 00:39:51 · 633 阅读 · 0 评论 -
集合源码解析:LinkedList的底层实现原理
jdk7.0源码解析LinkedList底层实现原理一、LinkedList的概述LinkedList是List接口的实现类,底层用双向链表实现,有序、有下标、元素可以重复;线程不安全,因为底层方法为非同步。二、LinkedList的存储结构底层通过双向链表来实现,链表的每一个节点为Node,除了自身的数据域之外,还有一个前指针(prev)和后指针(next),分别指向前驱节点和后续节点...原创 2020-04-10 00:34:06 · 523 阅读 · 0 评论 -
大厂面试题目 - String 的内容替换相关面试题目
面试题目 - String 的内容替换public class Test { public static void main(String[] args) { // 定义如下三个 字符串: String s1 = "aabbcdabbajklkabb"; String s2 = "ab"; String s3 = "bab"; String r2=""...原创 2020-04-09 23:25:54 · 287 阅读 · 0 评论 -
大厂面试题目 - String中字符排列组合相关面试题目
面试题目 - String 相关输入一个字符串,打印输出该字符串中字符的所有排列。你可以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入: s = “abc”;输出:[“abc”,“acb”,“bac”,“bca”,“cab”,“cba”]限制:1 <= s 的长度 < = 8import java.util.Arrays;import java.u...原创 2020-04-09 23:12:05 · 354 阅读 · 0 评论