精通JVM系列
文章平均质量分 92
深入JVM虚拟机研究,助你成为JVM技术专家
冰 河
这个作者很懒,什么都没留下…
展开
-
【JVM】关于JVM,你需要掌握这些 | 一文彻底吃透JVM系列
JVM到底是啥?原创 2022-10-31 20:29:17 · 1016 阅读 · 3 评论 -
一文秒懂JVM 逃逸分析,yyds
在JVM的实现中,为了提高JVM的性能和节省内存空间,JVM提供了一种叫做“逃逸分析”的特性,而且对于“逃逸分析”这种特性,也是近年来大厂面试常问的知识点。今天,我们就一起来聊聊什么是逃逸分析。原创 2021-12-20 08:19:44 · 1340 阅读 · 2 评论 -
史上最全JVM整体架构和调优参数说明,带你彻底理解JVM整体架构与调优技巧
史上最全JVM整体架构和调优参数说明,冰河带你彻底理解JVM整体架构与调优技巧,强烈建议收藏!!原创 2021-12-13 08:15:00 · 6141 阅读 · 19 评论 -
面试官让我现场手写内存溢出案例代码,我反手就是一个王炸!!
当初面试官让我现场手写内存溢出案例代码,我就以Java代码的方式列举了几个典型的内存溢出案例。今天分享给大家,希望大家在日常工作中,尽量避免写这些low水平的代码原创 2021-05-27 08:48:43 · 12806 阅读 · 52 评论 -
即使技术再精,面试时一问这个必挂!!
有那么难吗?原创 2021-01-30 00:36:44 · 1262 阅读 · 2 评论 -
【JVM】肝了一周,吐血整理出这份超硬核的JVM笔记(升级版)!!
万字长文带你看懂JVM!!原创 2020-11-18 00:43:19 · 1016 阅读 · 0 评论 -
【面经】面试官:讲讲类的加载、链接和初始化?
详解类的加载、链接和初始化的过程!!原创 2020-11-01 23:05:02 · 684 阅读 · 1 评论 -
【JVM】关于JVM,你需要掌握这些!!
写在前面最近,一直有小伙伴让我整理下关于JVM的知识,经过十几天的收集与整理,初版算是整理出来了。希望对大家有所帮助。JDK 是什么?JDK 是用于支持 Java 程序开发的最小环境。Java 程序设计语言Java 虚拟机Java API类库JRE 是什么?JRE 是支持 Java 程序运行的标准环境。Java SE API 子集Java 虚拟机Java历史版本的特性?Java Version SE 5.0引入泛型;增强循环,可以使用迭代方式;自动装箱与自动拆箱;原创 2020-05-26 01:34:42 · 1289 阅读 · 0 评论 -
Java之——内存溢出案例
今天,给大家打来一篇有关Java内存溢出的文章,好了,不多说了,我们直接进入主题。1、定义主类结构首先,我们创建一个类叫做BlowUpJVM,所有的案例实验都是基于这个类进行。public class BlowUpJVM { } 2、栈深度溢出public static void testStackOverFlow(){ BlowUpJVM.testSt原创 2017-09-18 22:26:40 · 2855 阅读 · 2 评论 -
JVM之——CMS
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/83722275前言CMS,全称Concurrent Low Pause Collector,是jdk1.4后期版本开始引入的新gc算法,在jdk5和jdk6中得到了进一步改进,它的主要适合场景是对响应时间的重要性需求 大于对吞吐量的要求,能够承受垃圾回收线程和应用线程共享处...原创 2018-11-04 23:37:08 · 5604 阅读 · 0 评论 -
JVM之——基本概念、可见性与同步
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80069057开发高性能并发应用不是一件容易的事情。这类应用的例子包括高性能Web服务器、游戏服务器和搜索引擎爬虫等。这样的应用可能需要同时处理成千上万个请求。对于这样的应用,一般采用多线程或事件驱动的 架构 。对于Java来说,在语言内部提供了线程的支持。但是Java的多线程应用...原创 2018-04-24 19:15:51 · 978 阅读 · 0 评论 -
JVM之——类的加载、链接和初始化
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80068986本文我们一起讨论Java类的加载、链接和初始化。 Java字节代码的表现形式是字节数组(byte[]),而Java类在JVM中的表现形式是 java.lang.Class类 的对象。一个Java类从字节代码到能够在JVM中被使用,需要经过加载、链接和初始化这三个步骤。...原创 2018-04-24 19:10:44 · 1477 阅读 · 0 评论 -
JVM之——字节代码的操纵
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80068925在一般的Java应用开发过程中,开发人员使用Java的方式比较简单。打开惯用的IDE,编写Java源代码,再利用IDE提供的功能直接运行Java 程序就可以了。这种开发模式背后的过程是:开发人员编写的是Java源代码文件(.java),IDE会负责调用Java的编译器...原创 2018-04-24 19:04:40 · 899 阅读 · 0 评论 -
JVM之——生产环境jvm参数设置建议
生产环境下,jvm参数可以设置如下:-server –Xms256m –Xmx2G -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelOldGC -XX:+UseParallelGC -XX:CompileThreshold=10 -XX:MaxInlineSize=1024 -Djava.awt.headless=t原创 2016-12-16 13:13:20 · 7223 阅读 · 2 评论 -
生成JNI的DLL时提示找不到jni.h的解决办法Cannot open include file: 'jni.h': No such file or directory
生成JNI的DLL时提示找不到jni.h的解决办法Cannot open include file: 'jni.h': No such file or directory原创 2014-10-24 14:38:18 · 5430 阅读 · 0 评论 -
JNI总结(一)
JNI 是 Java 平台中的一个强大特性。应用程序可以通过 JNI 把 C/C++代码集成进 Java 程序中。通过 JNI,开发者在利用 Java 平台强大功能的同时,又不必放弃对原有代码的投资;因为 JNI 是 Java 平台定义的规范接口,当程序员向 Java 代码集成本地库时,只要在一个平台中解决了语言互操作问题,就可以把该解决方案比较容易的移植到其他 Java 平台中。原创 2014-10-28 11:59:55 · 2206 阅读 · 0 评论 -
JNI之——在cmd命令行下编译运行C/C++源文件
一直用java来写程序,java配置好jre路径之后,在cmd下编译运行,很方便。刚好要给一个舍友改下C程序,想到可不可以像java一样在环境变量里配置好C的编译路径呢?于是上网搜了一下,得到如下结果:一、如果装有VC,那就简单了,因为VC带有C的编译器,可以将此路径设置进环境变量。Windows系统下编译连接源代码方法:cl -GX test.c-GX: 启动同步异常原创 2015-06-23 11:53:39 · 3542 阅读 · 0 评论 -
JNI之——'cl' 不是内部或外部命令,也不是可运行的程序或批处理文件
问题的出现: 今天卸载了VS2010,重装vs2008后,发现qtcreator不能用了,弹出如下的界面: qtcreator 'cl' 不是内部或外部命令,也不是可运行的程序或批处理文件解决方案:将D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin加入到环境变量Path中,D:\Program Fil原创 2015-06-23 12:00:54 · 6088 阅读 · 1 评论 -
JNI之——编译时各种问题解决方案
在cmd中键入cl执行编译(或lib)时会出现mspdb100.dll无法找到的情况,是因为VC\Bin\下没有mspdb100.dll“这个文件,直接从Common7\IDE\下复制这个文件到VC\Bin\下即可解决。原创 2015-06-23 13:40:28 · 2389 阅读 · 0 评论 -
JNI之——VS编译c++时Error:无法打开源文件"xxx.h"
利用VS.2010编译C++文件时出现fatal error C1083: 无法打开包括文件:“xxx.h”: No such file or directory.错误。我把头文件复制,直接选择项目粘贴进来,虽然解决方案资源管理器里显示此头文件,但是编译就出现上面的错误,找不到头文件,我打开项目目录,发现里面不存在我刚才复制的头文件,我只能无语微软为什么这么作,不是BUG,就是个坑。最后我只能原创 2015-06-23 13:45:05 · 13384 阅读 · 2 评论 -
JNI之——Can't load IA 32-bit .dll on a AMD 64-bit platform错误的解决
在JNI开发中,Java程序需要调用操作系统动态链接库时,报错信息:Can't load IA 32-bit .dll on a AMD 64-bit platform。这是由于你的版本是Windows 64位,而你用VS生成的DDL是32位。因此只需要编译生成一个64位的DDL动态链接库就行。具体步骤如下:1.新建项目选择win32项目 语言C++,输入项目名称"Utils"原创 2015-06-23 14:07:31 · 45897 阅读 · 4 评论 -
JNI之—— Eclipse配置C/C++开发环境
开发环境:Eclipse3.2、CDT3.1、MinGW5.11、Eclipse及CDT的安装到Eclipse的官方网站http://www.eclipse.org上下载Eclipse。安装CDT。CDT的全称是C/C++ DevelopmentTools,是使Eclipse能够支持C/C++开发的插件,保健康。进入CDT的官方网站,http://www/eclipse.org/cdt原创 2015-06-24 14:59:07 · 3052 阅读 · 0 评论 -
Android之——jni通用工具方法
1、将java字符串转化为c++字符串/** *工具方法 *将java字符串转化为c++字符串 *返回字符串数组的首地址 */char* Jstring2CPPStr(JNIEnv* env, jstring jstr, jstring encode) { char* rtn = NULL; jclass clsstring = env->FindClass("java/lang原创 2015-07-22 13:55:43 · 1806 阅读 · 0 评论 -
Android之——NDK环境搭建
1.为eclipse增加c和c++的开发插件Help中的install new software选择 Helios-http://download.eclipse.org/release/helios等待展开,选择Programinglanguage选择c/c++ 开发工具一路next下去。 同意licenses安装成功会提示是不是确认重启ecl原创 2015-08-10 20:55:45 · 2108 阅读 · 0 评论 -
Android之——JNI初探
这里,我将用一个小例子的形式来帮助大家初探JNI的用法,首先,大家要先搭建好NDK环境,请大家先阅读《Android之——NDK环境搭建》一文。一、实现这个小例子实现的功能就是,通过Android中的java代码来调用C代码实现java代码与C代码之间的交互。1、布局文件我们首先在布局文件activity_main.xml中,添加一个按钮控件,并给按钮控件设置一个点击事件,具体代码原创 2015-08-10 22:31:21 · 2100 阅读 · 2 评论 -
Android之——JNI配置C语言打印Logcat信息
这篇文章给大家介绍一下在JNI中如何为C语言配置打印Logcat信息。首先,这篇文章是在博文《Android之——JNI初探》基础上完善的,所以,请大家先阅读博文《Android之——JNI初探》。好了,我们直接进入主题吧。一、实现1、修改Android.mk文件。在这个配置文件中我们加入如下一行代码:LOCAL_LDLIBS += -llog注意:这行代码一定要加载include原创 2015-08-11 19:12:21 · 6642 阅读 · 0 评论 -
Android之——JNI与C语言常见术语
库函数:|- 为了代码重用,在C语言中提供了一些常用的、用于执行一些标准任务(如输入/出)的函数,这些函数事先被编译,并生成目标代码,然后将生成的目标代码打包成一个库文件,以供再次使用。库文件中的函数被称为库函数,库文件被称为函数库。|- 在Windows中C语言库函数中的中间代码都是以.obj为后缀的,Linux中是以.o为后缀。提示:单个目标代码是无法直接执行的,目标代码在原创 2015-08-12 20:39:48 · 2019 阅读 · 0 评论 -
JVM之——调整java虚拟机可使用的最大内存
在tomcat6/bin目录下的catalina.bat文件加上如下一行代码:JAVA_OPTS="-server -XX:PermSize=800M -XX:MaxPermSize=1500M" java虚拟机可使用的最大内存是有限制的,缺省值通常为64MB或128MB。假如一个应用程序为了提高性能而把数据加载内存中而占用较大的内存,比如超过了默认的最大值128MB,需要加大原创 2015-11-26 09:53:17 · 10091 阅读 · 0 评论