黑加白
黑加白
全部文章
未归档
Arraylist(1)
HTML(6)
http(1)
java(32)
java web(1)
java底层(26)
JDBC(5)
JS(1)
Linux(1)
mysql(5)
Oracle(8)
Python(6)
Redis(1)
云计算(3)
产品运营(2)
产品运营之道(7)
剑指offer(3)
多线程高并发(4)
大数据(2)
排序算法(1)
数据库(3)
框架(5)
继承(1)
设计模式(1)
运营(1)
面向对象(2)
面试(19)
归档
标签
去牛客网
登录
/
注册
黑加白的博客
全部文章
/ 未归档
(共174篇)
谈谈 Spring Bean 的生命周期和作用域?
Spring Bean 生命周期比较复杂,可以分为创建和销毁两个过程。 首先,创建 Bean 会经过一系列的步骤,主要包括: 实例化 Bean 对象。 设置 Bean 属性。 如果我们通过各种 Aware 接口声明了依赖关系,则会注入 Bean 对容器基础设施层面的依 赖。 具体包括 BeanNa...
2019-04-14
0
825
JVM中的新生代和老年代
JVM在程序运行过程当中,会创建大量的对象,这些对象,大部分是短周期的对象,小部分是长周期的对象,对于短周期的对象,需要频繁地进行垃圾回收以保证无用对象尽早被释放掉,对于长周期对象,则不需要频率垃圾回收以确保无谓地垃圾扫描检测。 为解决这种矛盾,Sun JVM的内存管理采用分代的策略。 1)年轻...
2019-04-13
0
531
JVM优化Java代码时都做了什么?
JVM优化Java代码时都做了什么? JVM在对代码执行的优化可分为运行时化和即时编译器优化。运行时优化主要是解析执行和动态编译通用的一些机制,比如说锁机制(如偏向锁)、内存分配机制(如TLAB)。除此之外,还有一些专门优化器执行效率的,比如说模板解析器,内联缓存。 JVM的即时编译器优化是指将热...
2019-04-13
0
468
Java常见的垃圾收集器有哪些?
Serial GC, 它是最古老的垃圾收集器, “Serial”体现在其收集工作是单线程的,并且在进行垃圾收集过程中,会进入臭名昭著的“Stop-The-World”状态。当然,其单线程设计也意味着精简的GC实现,无需维护复杂的数据结构,初始化也简单,所以一直是Client模式下JVM的默认选项。 ...
2019-04-13
0
850
如何监控和诊断JVM堆内和堆外内存使用?
可以使用综合性的图形化工具,如JConsole、 VisualVM(注意,从Oracle JDK 9开始, VisualVM已经不再包含在JDK安装包中)等。这些工具具体使用起来相对比较直观,直接连接到Java进程,然后就可以在图形化界面里掌握内存使用情况。 以JConsole为例,其内存页面可以显...
2019-04-13
0
918
谈谈JVM内存区域的划分,哪些区域可能发生 OutOfMemoryError?
首先,程序计数器(PC,Program Counter Register)。在 JVM 规范中,每个线程都有它自己的程序计数器,并且任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序计数器会存储当前线程正在执行的 Java 方法的 JVM 指令地址;或者,如果是在执行本地方法,则是未指...
2019-04-13
0
711
有哪些方法可以在运行时动态生成一个Java类?
我们可以从常见的 Java 类来源分析,通常的开发过程是,开发者编写 Java 代码,调用 javac编译成 class 文件,然后通过类加载机制载入 JVM,就成为应用运行时可以使用的 Java 类了。从上面过程得到启发,其中一个直接的方式是从源码入手,可以利用 Java 程序生成一段源码,然后保...
2019-04-13
0
504
Java并发类库提供的线程池有哪几种? 分别有什么特点?
通常开发者都是利用 Executors 提供的通用线程池创建方法,去创建不同配置的线程池,主要区别在于不同的 ExecutorService 类型或者不同的初始参数。 Executors 目前提供了 5 种不同的线程池创建配置: newCachedThreadPool(),它是一种用来处理大量短...
2019-04-13
0
523
请介绍类加载过程,什么是双亲委派模型?
一般来说,我们把 Java 的类加载过程分为三个主要步骤: 加载、链接、初始化, 具体行为在Java 虚拟机规范里有非常详细的定义。首先是加载阶段(Loading),它是 Java 将字节码数据从不同的数据源读取到 JVM 中,并映射为 JVM 认可的数据结构(Class 对象),这里的数据源可能是...
2019-04-13
0
627
Java并发包提供了哪些并发工具类?
我们通常所说的并发包也就是 java.util.concurrent 及其子包,集中了 Java 并发的各种基础工具类,具体主要包括几个方面 提供了比 synchronized 更加高级的各种同步结构,包括 CountDownLatch、 CyclicBarrier、Sempahore 等,可以实...
2019-04-13
0
715
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页