java基础
赵大学士
勤能补拙
展开
-
死磕JVM-如何构造JVM内存溢出和栈溢出
为什么要写这个题目?我记得我在面试阿里的时候面试官问了我这个问题,当时没能答得很好,只说了些概念的东西,很是心虚,于是下定决心要把这个问题搞懂,现在终于把这个问题怼清楚了,分享给大家,希望你们以后面试问到这种问题能有所准备。Java虚拟机中描述了两种异常:1、如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出StackOverflowError异常;2、如果在虚拟机中无法申请到足够...转载 2017-10-25 16:19:22 · 1318 阅读 · 1 评论 -
死磕JVM-Java内存模型
Java虚拟机是Java工程师必学的进阶功课,这段时间开始死磕JVM。今天把JVM的基础知识点Java的内存模型怼清楚,废话不多说,干货走起!程序计数器是什么:程序计数器是很小的一块内存空间,它是当前线程所执行的字节码的行号指示器。有什么用:解释器通过这个计数器来选取下一条需要执行的字节码指令。存储什么内容:如果线程执行的是Java方法,存储的是正在执行的虚拟机字节码指转载 2017-10-25 16:19:58 · 346 阅读 · 0 评论 -
什么是JVM、Java编译器和Java解释器
JVM:够运行Java字节码(Java bytecode)的虚拟机Java编译器:将Java源文件(.java文件)编译成字节码文件(.class文件,是特殊的二进制文件,二进制字节码文件),这种字节码就是JVM的“机器语言”。javac.exe可以简单看成是Java编译器。Java解释器:是JVM的一部分。Java解释器用来解释执行Java编译器编译后的程序。java.exe可以简原创 2017-10-25 16:42:08 · 16896 阅读 · 5 评论 -
Java native方法详解
一. 什么是Native Method简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。"A native method翻译 2017-10-26 10:42:08 · 1180 阅读 · 0 评论 -
java反射基础
1、获得Class对象方法有三种(1)使用Class类的forName静态方法:1 2 3 4 5 publicstatic Class<?> forName(String className) ``` 在JDBC开发中常用此方法加载数据库驱动: ```java Class.forName(driver); (2)直接获取某一个对象的class,比如:1 2...转载 2018-02-24 14:19:51 · 184 阅读 · 0 评论