接收输入 Scanner类。有scanner构造函数,可以选择标准输入system.in,也可以选择文件。 scanner的hasnext方法返回Boolean,表示是否还有输入。next返回出输入。 系统相关 加载文件和动态链接库,针对native方法。如需完成操作系统底层硬件设备,需要借助c语言 ...
分类:
编程语言 时间:
2020-03-05 13:48:26
阅读次数:
79
abstract的method不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系! native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实现的问题,所以,它也不能是抽象的,不能与abstract混用。例如,FileOutputSteam类 ...
分类:
其他好文 时间:
2020-02-09 11:47:11
阅读次数:
56
1.JVM内存模型 说起JVM内存模型,都是知道是Java方法区、Java栈、Native方法区、Java堆和程序计数器五部分,不过具体是做什么的,又有什么关系可能大家就不太清楚了,所以话不多说,直接上干货。 首先是JVM内存规范。 编译器和类加载在上篇博客已经讲了,不了解的可去看一下。现在主要就是 ...
分类:
其他好文 时间:
2020-01-11 13:20:42
阅读次数:
75
Java侧使用Native方法: 1.加载对应的JNI库 2.声明由native修饰的函数 java 函数找到jni函数的方法 1.静态注册:先通过函数名,找到后,保存函数指针 2.动态注册,registerNativeMethods()(在JNI_ONLoad中动态注册) JNIEvn 虚拟机在J ...
分类:
其他好文 时间:
2019-12-17 13:09:29
阅读次数:
79
1、概念:native method:就是说一个java方法调用了一个非java代码的接口。 2、用法:定义native方法时,并不提供实现体(但不代表其没有实现体),因为其实现体是用非java语言在外面实现的。native可以和任何修饰符连用,但abstract除外(因为native修饰时暗示这个 ...
分类:
其他好文 时间:
2019-12-12 13:32:49
阅读次数:
92
https://www.cnblogs.com/panzi/p/11956782.html 前言 在之前的面试经历中,对于String的考察还是挺频繁的,大致考察以下几个知识点: String 常量池 new String() == 和 equals 的区别 native 方法 String.int ...
分类:
编程语言 时间:
2019-11-29 14:25:09
阅读次数:
69
良心制作,JVM原理速记复习Java虚拟机总结思维导图面试必备。
一、运行时数据区域
线程私有
程序计数器
记录正在执行的虚拟机字节码指令的地址(如果正在执行的是Native方法则为空),是唯一一个没有规定OOM(OutOfMemoryError)的区域。
Java虚拟机栈
每个Java方法在执... ...
分类:
编程语言 时间:
2019-11-16 23:46:01
阅读次数:
156
1 简介 是JDK一早就提供的 native 方法,不由Java实现,而是底层JVM实现,这让我们对它的窥探提高了难度。特别是在 Oracle 收购了 Sun 公司后,源代码不开源了,更无法深入研究了。但我们还是有必要尽量地去探索。 本文将主要讲解一下 方法的原理、特点,并介绍一个新奇的应用。 2 ...
分类:
编程语言 时间:
2019-11-10 16:01:07
阅读次数:
80
JAVA内存区域介绍 程序计数器: 线程私有,很小的内存空间,可以看做是当前线程所执行的字节码的行号指示器; 每个线程都有一个独立的程序计数器,各个线程之间的计数器相互不影响,独立存储; 如果线程执行的是Java 方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址,如果是一个Native方法, ...
分类:
编程语言 时间:
2019-10-30 21:10:39
阅读次数:
110
课程总结 1、继承Thread类创建线程: Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单, ...
分类:
其他好文 时间:
2019-10-23 21:58:53
阅读次数:
75