logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

JVM源码研读:章节序列

Java 虚拟机基础JVM源码系列:JVM内部运行之Class的MethodJava (JDK7)中的String常量和String.intern的实现JVM源码系列:ThreadMXBean 打出堆栈信息原理分析JVM源码系列:使用PrintAssembly打印java运行过程中的汇编JVM源码系列:java如何实现多态性,基于itable, vtable源码分析JVM源...

大数据:Spark Standalone 集群调度(一)从远程调试开始说application创建

远程debug,特别是在集群方式时候,会很方便了解代码的运行方式,这也是码农比较喜欢的方式虽然scala的语法和java不一样,但是scala是运行在JVM虚拟机上的,也就是scala最后编译成字节码运行在JVM上,那么远程调试方式就是JVM调试方式在服务器端:-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=7001

#spark#大数据
Java 工具(jmap,jstack)在linux上的源码分析(二)信号处理

当java虚拟机启动的时候,会启动很多内部的线程,这些线程主要在thread.cpp里的create_vm方法体里实现而在thread.cpp里主要起了2个线程来处理信号相关的JvmtiExport::enter_live_phase();// Signal Dispatcher needs to be started before VMInit event is posted

#linux#java
java JNI 实现原理 (二) Linux 下如何 load JNILibrary

在博客javaJNI (一)虚拟机中classloader的JNILibrary 中讨论了java中的Library 是由classloader 来load的,那我们来看看 classloader是如何去load 一个library的ClassLoader.c  JNIEXPORT void JNICALLJava_java_lang_ClassLoader_00024Nat

#java#jvm
Java 工具(jmap,jstack)在linux上的源码分析(一)

在我们常用的Jstack, Jmap 用于分析java虚拟机的状态的工具,通过起另一个虚拟机通过运行sun.tools包下的java文件,去跟踪另一个虚拟机的状态。如果让你设计一个跟踪另一个进程的方法,你也通常会考虑这几种常用的方式。第一种,就是通知被跟踪的进程,让进程执行相应的消息,同时对该消息做出反应。第二种,就是通过内核的调用,直接能够访问进程的内存,堆栈情况,通过分析被

#java#linux#虚拟机
Java 8 动态类型语言Lambda表达式实现原理分析

Java 8支持动态语言,看到了很酷的Lambda表达式,对一直以静态类型语言自居的Java,让人看到了Java虚拟机可以支持动态语言的目标。

java JNI 实现原理 (一)虚拟机中classloader的JNILibrary

调用JNI的时候,通常我们使用System.loadLibrary(String libname)来load JNI library, 同样也可以使用System.load(String fileName)来load JNI library,两者的区别是一个只需要设置库的名字,比如如果libA.so 只要输入A就可以了,而libA.so的位置可以同过设置 java.library.path 或者

java垃圾回收那点事(三)不同gc策略的heap分配

在前面的文章中曾提到了在java虚拟机启动的时候会让不同的GC,使用不同的heap的分配策略。

Linux下关于TCP的keep alive的实现源码分析

TCP下的Keep Alive我们常说的TCP的keep alive,就是为了保证连接的有效性,在间隔一定的时间发探测包,根据回复来确认该连接是否有效。通常上层应用会自己提供心跳检测机制,而Linux内核本身也提供了从内核态确保连接有效性的方式。在sock 函数中可以设置是否需要打开keep alive开关,默认建立socket 是关闭keep alive的。代码如下opt

java JNI 实现原理 (二) Linux 下如何 load JNILibrary

在博客javaJNI (一)虚拟机中classloader的JNILibrary 中讨论了java中的Library 是由classloader 来load的,那我们来看看 classloader是如何去load 一个library的ClassLoader.c  JNIEXPORT void JNICALLJava_java_lang_ClassLoader_00024Nat

#java#jvm
    共 22 条
  • 1
  • 2
  • 3
  • 请选择