Java提示找不到或无法加载主类怎么解决?

Java系列 3年前 (2021-03-28) 浏览: 1296 评论: 0

一旦您编写了一个Java程序,您需要使用javac命令来编译它,这将显示发生的编译时错误(如果有的话)。 一旦解析它们并成功编译程序,将在当前文件夹中生成一个与类名同名的可执行文件,扩展名为.class。 然后需要使用java命令执行它,如: java class_name 在执行时,当JVM找不到具有指定名称的.class文件时,会出现运行时错误,错误为"Could not found or l

云原生架构的五个原则

相关技术 3年前 (2021-03-07) 浏览: 968 评论: 0

  我们经常把术语 Cloud-native“云原生/本地架构”作为您迁移或构建在Google Cloud平台(GCP)上的应用程序的预期最终目标。但是我们所说的云原生到底是什么意思呢?更重要的是,你如何着手设计这样一个系统? 在较高的层次上,云原生架构意味着要适应许多新的可能性,但与传统的本地基础设施相比,云提供的架构约束非常不同。考虑一下我们作为软件架构师所要考虑的高级元素: 系统的

Java8如何在运行时找出元空间metaspace的大小

爪哇岛 4年前 (2020-09-09) 浏览: 2120 评论: 0

Java8使用能够动态扩展的元空间。GC将在metaspace满时运行。 这是否意味着GC永远不会在metaspace上运行呢? 我的Java8应用程序占用了大量内存。我想知道我的元空间在运行时的大小。我该怎么做? 我正在考虑设置MaxMetaspaceSize。我应该把它设置成什么?有什么建议吗? jstat -gc PID 执行jvm指令 jstat -gc PID (用要监视的JVM的PID

WheelTimer哈希轮计时器介绍

相关技术 3年前 (2021-03-18) 浏览: 735 评论: 0

Hashed wheel timers介绍 哈希轮计时器是一种非常有趣的数据结构,在网络服务器中得到了广泛的应用。它们的低内存开销和合理的效率保证非常适合处理数百万个连接的服务器,每个连接都有一个计时器。我们不会花太多时间描述它们是如何工作的,相反,我们将研究一些实现,并尝试评估它们的相对权衡。 让我们快速回顾一下哈希轮计时器的基本数据结构: 基本的数据结构看起来像一个hashmap,带有单独的链

gRPC:Java中的同步和异步unary RPC

相关技术 3年前 (2021-09-26) 浏览: 3807 评论: 0

gRPC是用于微服务间通信的远程过程调用(RPC)框架。gRPC支持四种类型的RPC: 1. Unary RPC:客户端发送单个请求并接收单个响应。 2. Server streaming RPC(服务器流式):客户端发送单个请求,作为回报,服务器发送消息流。 3. Client streaming RPC(客户端流式):客户端发送消息流,服务器以单个消息响应。 4. Bidirectional

JVM Metaspace内存溢出排查与总结

Java系列 4年前 (2020-02-13) 浏览: 7689 评论: 0

一. 现象 前段时间公司线上环境的一个Java应用因为OOM的异常报警,导致整个服务不可用被拉出集群,本地模拟重现的现象如下: 当时的解决方案是增加metaspace的容量:-XX:MaxMetaspaceSize=500m,从原来默认的256m改为500m,虽然没有再出现oom,但这个只是临时解决方案,通过公司的监控系统观察metaspace的使用情况还是在上升,而且后面随着业务访问量越来越大还

Spock代码讲解- if esle 多分支场景测试

Spock系列 4年前 (2020-08-09) 浏览: 2701 评论: 2

这是Spock系列的第四篇文章,在第二篇讲单元测试开发成本和效率问题时,提到了如何测试复杂的if else场景,分别使用Junit和Spock的实现,以及Spock的优势在哪里,这一篇会详细讲解Spock代码的语法 一. expect + where 如果业务比较复杂,对应的代码实现会有不同的分支逻辑,类似下面的伪代码: if () { if () { // 代码逻辑 } else { // 代码

内存泄露检测工具

jvm 4年前 (2020-12-04) 浏览: 1330 评论: 0

如果应用程序的执行时间越来越长,或者操作系统的执行速度越来越慢,这可能是内存泄漏的迹象。换句话说,正在分配虚拟内存,但在不再需要时不会返回。最终应用程序或系统内存不足,应用程序异常终止。 使用Java飞行记录器调试内存泄漏 Java飞行记录器(JFR)是一个商业特性。您可以在开发人员台式机或笔记本电脑上免费使用它,也可以在测试、开发和生产环境中用于评估目的。 但是,要在生产服务器上启用JFR,必须

异或双向链表是什么?

相关技术 3年前 (2021-03-08) 浏览: 601 评论: 0

异或双向链表的特点是在内存使用上更有效率 为了使小型设备具有成本效益,制造商通常需要考虑减小内存大小。一种选择是找到我们日常实现中使用的抽象数据类型(ADTs)的替代实现。一个这样的ADT是双链表结构。 在这篇文章中,一个传统的实现和替代实现的双链表ADT,插入,遍历和删除操作。我还提供了每种方法的时间和内存度量,以比较它们的优缺点。另一种实现是基于指针距离的,因此在本文中我称之为指针距离实现。每

Apache Pulsar系列之-客户端

相关技术 3年前 (2021-07-14) 浏览: 2113 评论: 0

在上一篇中介绍了Apache Pulsar的相关概念和架构体现,这一篇说明如何通过客户端程序操作Apache Pulsar。 Apache Pulsar入门 现在我们对什么是Apache Pulsar以及它是如何工作的有了更好的了解,让我们从中获得一些乐趣。 1. 首先,我们要在机器上安装并部署一个独立的集群。 $ wget https://archive.apache.org/dist/puls

Quarkus|云原生时代的Java框架

相关技术 3年前 (2021-08-15) 浏览: 1671 评论: 0

在这个数字第一的时代,技术发展更快。它帮助技术人员开发和部署更快、更面向性能、更高效和更低内存消耗的应用程序。Quarkus是RedHat的一项此类计划。它是由RedHat设计和开发的,考虑到cloud-native、serverless和容器化应用程序的未来。 根据RedHat的定义:“Quarkus是一个完整的堆栈,Kubernetes原生Java框架,用于Java虚拟机(JVM)和本机编译,

Java 8–使用Lambda表达式进行比较

Java系列 2年前 (2022-01-26) 浏览: 1264 评论: 0

在Java 8之前,对集合进行排序需要为排序中使用的比较器Comparator创建一个匿名内部类: new Comparator<Human>() { @Override public int compare(Human h1, Human h2) { return h1.getName().compareTo(h2.getName()); } } 这仅用于对Human实体列表进行排序

Spring框架:为什么我现在更喜欢简单的解决方案?

Java系列 2年前 (2022-06-15) 浏览: 371 评论: 0

曾几何时,Spring框架提供了比J2EE更轻量级和更灵活的解决方案。即使在2013年左右,我也很高兴详细了解当时的新款Spring 4。如今,7年后,当我看到春天的时候,我感到一阵恐慌。注释和@ComponentScan已经用更好的东西取代了XML,这需要一个可视化工具来理解您的系统。Spring变成了一头不断生长(和变化)的水螅。我接手并试图理解他人编写的Spring应用程序,这让我很痛苦。最

排查JVM元空间metaspace溢出问题

jvm 4年前 (2020-11-13) 浏览: 3710 评论: 0

OutOfMemoryError:Metaspace 背景 我最近开始使用Jython,以便在Delphix的一个项目的Java虚拟机(JVM)中执行Python代码。对于那些不熟悉Jython的人来说,它是基于JVM的Python实现。您可以将Python源代码编译为Java字节码并在JVM中执行。当我们开始使用Jython时,一切都很顺利……直到我们开始对我们的产品进行功能测试。每隔一次测试运

Spock注意事项-groovy的maven编译插件版本不兼容问题

Spock系列 2年前 (2022-10-17) 浏览: 1315 评论: 0

有些项目虽然在Idea里执行spock单元测试时一切正常,但通过maven执行或在公司内部一些CICD系统中运行spock的单测时可能会遇到以下异常: Execution default of goal org.codehaus.gmavenplus:gmavenplus-plugin:1.6:compileTests failed 或者是这种异常: Unable to determine Gro

Spock代码讲解-异常测试

Spock系列 4年前 (2020-08-11) 浏览: 2621 评论: 0

这是Spock系列的第五篇文章,这一篇主要讲使用Spock如何测试代码中抛异常的场景 背景 有些方法需要抛出异常来中断或控制流程,比如参数校验的逻辑: 不能为null,不符合指定的类型,list不能为空等验证,如果校验不通过则抛出checked异常,这个异常一般都是我们封装的业务异常信息,比如下面的业务代码: /** * 校验请求参数user是否合法 * @param user * @throws

如何在Windows和Linux上为Java设置classpath

Java系列 3年前 (2021-02-06) 浏览: 2306 评论: 0

  Java中的classpath是什么? Java中的classpath类路径是指向目录的路径或目录列表,类加载器用它在Java程序中查找和加载类。可以使用不区分大小写的Classpath环境变量、-cp或-Classpath命令行选项或中的Classpath属性来指定Classpath在JAR文件中的manifest.mf文件。在这篇Java文章中,我们将学习什么是Java中的cla

Java Instrumentation API使用指南

Java系列 3年前 (2021-08-17) 浏览: 1248 评论: 0

在本文中,我们将讨论Java Instrumentation API。它提供了向现有编译的Java类添加字节码的能力。 我们还将讨论java代理以及如何使用它们为代码提供工具。 我们将使用工具构建一个应用程序。 我们的应用程序将包括两个模块: 1. 允许我们取款的ATM应用程序 2. 还有一个Java代理,它允许我们通过测量投入的时间和花费的金钱来测量ATM的性能 Java agent将修改ATM

GraalVM:更高效的编译器

jvm 3年前 (2021-05-24) 浏览: 1101 评论: 0

GraalVM是开发人员编写和执行Java代码的工具。具体来说,GraalVM是由Oracle创建的Java虚拟机(JVM)和Java开发工具包(JDK)。它是一个高性能的运行时,可以提高应用程序的性能和效率。 GraalVM的目标包括:编写一个更快、更易于维护的编译器,提高在JVM上运行的语言的性能,减少应用程序启动时间,将多语言支持集成到Java生态系统中,以及为此提供一组编程工具。 Graa

Spring Boot使用GraphQL入门

Java系列 3年前 (2021-10-31) 浏览: 3319 评论: 1

GraphQL是来自Facebook的一个相对较新的概念,被宣传为RESTforWebAPI的替代品。 本文将介绍如何使用Spring Boot设置GraphQL服务器,以便将其添加到现有应用程序或用于新应用程序。 什么是GraphQL? 传统的RESTAPI使用服务器管理的资源概念。这些资源可以按照各种HTTP谓词以一些标准方式进行操作。只要我们的API符合资源概念,它就可以很好地工作,但当我们

登录

忘记密码 ?

切换登录

注册