不得不说字节还是很难进的,提前批算是去试了一个水,自己的算法功底,还远远达不到要求,对操作系统,java虚拟机,多线程,进程等知识还有很大的欠缺,深度还远远不够,所以还是努力的刷题吧,希望秋招能顺利进入字节。 以下是主要问到的问题: 进程的信号量,线程的信号量,线程的中断, B+ 树, 手撕了一道算 ...
分类:
其他好文 时间:
2020-07-12 14:19:51
阅读次数:
91
在Java虚拟机中,如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。一共有4类引用: 强引用(Strong Reference) 类似Object obj = new Object()这类的引用,只要强引用还存在,垃圾收集器永远不会回收掉被引用 ...
分类:
编程语言 时间:
2020-07-12 13:53:05
阅读次数:
71
1.1定义 在Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽各个硬件平台和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。那么Java内存模型规定了哪些东西呢,它定义了程序中变量的访问规则,往大一点说是定义了程 ...
分类:
编程语言 时间:
2020-07-12 10:27:57
阅读次数:
57
初识Java Java特性和优势 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 JDK、JRE、JVM JDK:Java Development Kit(Java开发工具) JRE:Java Runtime Environment(Java运行时环境) JVM:Java ...
分类:
编程语言 时间:
2020-07-11 23:03:50
阅读次数:
56
一、基础内部部分 Java虚拟机在运行时,会把内存空间分为若干个区域,根据《Java虚拟机规范(Java SE 7 版)》的规定,Java虚拟机所管理的内存区域分为如下部分:方法区、堆内存、虚拟机栈、本地方法栈、程序计数器。 ? 1.方法区 方法区主要用于存储虚拟机加载的类信息、常量、静态变量,以及 ...
分类:
其他好文 时间:
2020-07-10 19:21:16
阅读次数:
59
一、问题原因 用JMeter压测,有时候当模拟并发请求较大或者脚本运行时间较长时,JMeter会停止,报OOM(内存溢出)错误。 原因是JMeter是一个纯Java开发的工具,内存由java虚拟机JVM管理,当内存回收不及时,堆内存不足时,就会报内存溢错误。 概念补充: 内存泄露:应用使用资源之后没 ...
分类:
编程语言 时间:
2020-07-10 15:43:43
阅读次数:
124
1.1 关于Caffeine Cache ? Google Guava Cache是一种非常优秀本地缓存解决方案,提供了基于容量,时间和引用的缓存回收方式。基于容量的方式内部实现采用LRU算法,基于引用回收很好的利用了Java虚拟机的垃圾回收机制。其中的缓存构造器CacheBuilder采用构建者模 ...
分类:
系统相关 时间:
2020-07-10 13:38:09
阅读次数:
146
01JVM内存结构Java虚拟机的内存空间分为5个部分:?程序计数器?Java虚拟机栈?本地方法栈?堆?方法区JDK1.8同JDK1.7比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。1.1程序计数器(PC寄存器)(1)程序计数器的定义程序计数器是一块较小的内存空间
分类:
其他好文 时间:
2020-07-10 09:58:56
阅读次数:
77
异常概述 异常:在Java语言中,将程序执行中发生的不正常情况称为 "异常"。 (开发过程中的单词拼写错误、语法错误和逻辑错误不是异常,这是你不正常) Java程序在执行过程中所发生的异常事件可分为两类 Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况 pub ...
分类:
其他好文 时间:
2020-07-08 13:34:57
阅读次数:
65
1 包对象 基本介绍:包可以包含类、对象和特质trait,但不能包含函数/方法或变量的定义。这是Java虚拟机的局限。为了弥补这一点不足,scala提供了包对象的概念来解决这个问题。 package com.atguigu { //每个包都可以有一个包对象。你需要在父包(com.atguigu)中定 ...
分类:
其他好文 时间:
2020-07-07 17:44:36
阅读次数:
61