【深入分析Java ClassLoader原理】教程文章相关的互联网学习教程文章

Java:计数/分析同步调用

我正在寻找一种方法来列出正在运行的并行Java应用程序的所有同步调用,以便检测可伸缩性问题(就线程/核心而言).据我所知,每次进入同步块时,机器都需要同步缓存.这会影响所有正在运行的CPU(以多种方式,如内存带宽),即使进入同步区域未阻止正在运行的任务也是如此. 那个设定: 我有一个在更高级别上并行化的大型应用程序,即它具有并行执行的复杂任务.并行化在该术语中起作用,即所有核心都处于负载状态,并且我没有阻塞线程.性能仍然没有...

如何分析非常大的Java Web应用程序?

我有一个非常大的Java应用程序.它运行在Tomcat上,是典型的Spring / Hibernate webapp.它也是一个非常大的Java程序.我很容易测试数据库查询的性能,因为我可以单独运行它们,但我不知道在这样的堆栈上查找Java瓶颈.我尝试过Eclipse的TPTP分析器,但它似乎并不喜欢我的程序,我怀疑这是因为我的程序太大了.有没有人对分析大型webapp有任何建议?解决方法:现在随JDK一起提供的Visual VM分析器可以附加到正在运行的进程,并且至少可以初步概...

Java Lambda 与 匿名内部类的this 来分析【代码】

Java Lambda 表达式中的this是调用该方法调用者,匿名内部类的的this是匿名内部类本身。 如下 public class TestMain {public static void main(String[] args) {new TestMain().test();}private void test(){Function<String, String> fnc = new Function<String, String>() {@Overridepublic String apply(String s) {System.out.println(this.getClass().getName());return "";}};String thisName = fnc.apply("");} }输出结果如...

Java线程分析器?

在Visual Studio中是否有类似concurrency analyzer的Java线程分析器?解决方法:VisualVM,现在作为标准Oracle JDK的一部分出现.

如果项目使用Java8,我如何通过静态分析检测?

我目前正在使用javaparser(https://github.com/javaparser/javaparser)和javasymbolsolver(https://github.com/javaparser/javasymbolsolver)来解析代码.如果我检测到Collections#Streams的使用,来决定特定项目是否已迁移到Java8,那么它是否是一种整体方法.(假设Collection#Streams是使用最广泛的java8特性).解决方法:我可以在这里看到多种方法,包括源代码和基于二进制代码,寻找Java 8 API并寻找Java 8语言特性. 寻找Java 8 API 在...

Java 序列化和反序列化(二)Serializable 源码分析 - 1【图】

目录 Java 序列化和反序列化(二)Serializable 源码分析 - 1 1. Java 序列化接口Java 序列化和反序列化(二)Serializable 源码分析 - 1 在上一篇文章中讲解了一下 Serializable 的大致用法,本节重点关注 Java 序列化的实现,围绕 ObjectOutputStream#writeObject 方法展开。 1. Java 序列化接口 Java 为了方便开发人员将 Java 对象进行序列化及反序列化提供了一套方便的 API 来支持。其中包括以下接口和类:Serializable 和 Ext...

java – 如何在没有浏览器的情况下以编程方式触发谷歌分析事件?

背景: 我们收到非基于Web的事件(如SMS)到我们的服务器,能够通过分析跟踪它们会很不错. 我已经想到了几个解决方案,但我对它们中的任何一个都不满意. >将分析网址集中在一起,并使用服务器进行发布. 不确定这是否可行,因为URL中存在大量无法解释的变量>使用Javascript库(如Rhino)尝试在没有Web请求的情况下使用ga.js脚本. 再一次,不确定这是否有效,rhino似乎不支持脚本所需的Document.>我正在考虑从服务器向页面发送事件,但当然这需要...

【JAVA】java 堆溢出分析【代码】

Java 堆内存分析 jvm 运行参数设置 用于分析的hprof 文件生成 分析文件工具 MAT(Memory Analyzer Tool) -Dfile.encoding=UTF-8 -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=C:\Users\wb-ndz525238\Desktop #如果堆溢出后生成的hprof文件路径 -XX:SurvivorRatio=8 如果用到jconsole 提示不安全的连接 那么加入以下jvm参数 -Xmx1024m -Xms1024m -Dcom.sun.management.jmxremote -Dcom.sun.management.j...

基于JDK1.8,Java容器源码分析

容器源码分析如果没有特别说明,以下源码分析基于 JDK 1.8。在 IDEA 中 double shift 调出 Search EveryWhere,查找源码文件,找到之后就可以阅读源码。ListArrayList1. 概览实现了 RandomAccess 接口,因此支持随机访问。这是理所当然的,因为 ArrayList 是基于数组实现的。public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable数组的默认大小为 10。p...

Java集合源码分析(一)ArrayList【代码】【图】

Java集合源码分析(一)ArrayList ?阅读目录(Content) 一、ArrayList简介1.1、ArrayList概述 1.2、ArrayList的数据结构二、ArrayList源码分析2.1、继承结构和层次关系 2.2、类中的属性 2.3、构造方法 2.4、核心方法2.4.1、add()方法(有四个)2.4.2、删除方法2.4.3、set()方法2.4.4、indexOf()方法2.4.5、get()方法三、总结  前言在前面的学习集合中只是介绍了集合的相关用法,我们想要更深入的去了解集合那就要通过我们去分析它的...

Java ArrayList相关方法介绍及源码分析【代码】

ArrayList简介: java.util.ArrayList 是我们最常用的一个类,ArrayList 底层是动态数组,读者可以把它理解为数组的实现 public class ArrayList<E> extends AbstractList<E>implements List<E>, RandomAccess, Cloneable, java.io.Serializable{}如上代码我们可以看到 ArrayList 继承了 AbstractList() 抽象类,并实现了 List, RandomAccess, Cloneable, Serializable 接口 AbstractList : public abstract class AbstractList<E>...

java – 并发代码分析器

我想知道是否有任何框架或应用程序(app)/程序可以分析任何Java代码的并发性? 如果该工具知道jre传送的类和方法的所有实现,那么它归结为对同步块和方法及其调用层次结构的简单分析.从这里它可以创建一个petri网,并告诉你,如果你可能遇到死锁. 我错过了什么或者这真的很容易吗?然后必须有一些很酷的工具做那种东西?或者这样的工具是否会报告太多可能因为一些底层程序/业务逻辑而完全保存的死锁? Petri网应该足够强大以处理这些情...

在Java中分析和避免使用Full GC

我正在研究一个时间关键的应用程序,每次迭代的时间上限为40毫秒.如果仅超过一次时间上限,则终止应用程序并结束游戏.应用程序本身在40毫秒标记下没有问题,垃圾收集器有时会超出限制. 使用对象池结合工厂模式,我成功地消除了对垃圾收集的需求,并且应用程序实现了稳定的17毫秒迭代时间,包括小型GC运行,除了在应用程序启动后10到20次迭代之后只需一个完整的GC发生超过40毫秒并杀死我的应用程序. 我的问题是,如何分析导致这一个完整GC的...

JAVA类集源码分析和实现——Map【代码】

HashMap底层结构是哈希表,使用数组+链表的方式;同一个链表存储地址是一样的; 链表的每一个结点是一个Entry对象,四个部分:hash、key、value、next 添加元素,不是添加到链表的后面,面是添加到链表前面 哈希表的优点:添加快,查询也快(通过计算得到存储位置,不是通过比较)、无序的、key唯一 关键参数:默认主数组长度为:16?默认装填因子为0.75?每次主数组扩容为原来的2倍、JDK1.8当链表长度大于8,链表变成红黑树; 手写Hash...

如何将生成的词法分析器/解析器从Antlr4集成到我的java项目中【代码】

请耐心等待我不是编码专家. 我使用ANTRWorks 2在ANTLR4中构建了一个语法.我用各种测试字符串测试了语法,它在那里工作得很好.现在我遇到的麻烦就是在我自己的代码中使用生成的词法分析器和解析器.作为代码生成目标,我正在使用Java. 这是我正在尝试的代码:String s = "query(std::map .find(x) == y): bla"; ANTLRInputStream input = new ANTLRInputStream(s); TokenStream tokens = new CommonTokenStream(new pqlcLexer(input));...

分析 - 相关标签