java类中运行main方法时报错:找不到或无法加载主类 XXX 运行main类报了这个错 错误: 找不到或无法加载主类 XXX。将pom.xml中标注provided的注释掉,就不报错了。maven项目的provided导致的,现在记录一下。经过好一番查证才找出了问题所在。
Mac安装wget的两种方法 第一种:传统的安装包A - 从ftp://ftp.gnu.org/gnu/wget/下载到最新的wget安装包到本地B - 然后通过终端tar -zxvf命令解压到我们某个目录C - 然后依次执行./configure 和 make 以及 make install命令。第二种:HomebrewHomebrew是一款非常强大的可以应用在MAC中的Linux管理包,如果上面的方法感觉比较麻烦,我们可以通过下面的方法解决。A - 执行安装brew进入终端之后,执行brew的安装ruby -e "$
JVM知识点梳理 通过Java命令执行代码的大体流程类加载器的双亲委派机制JVM内存模型JVM通用参数设置对象创建的主要流程分配内存之划分内存1.指针碰撞2.空闲列表分配内存之并发问题解决方法1.CAS2.本地线程分配缓冲(TLAB)对象头组成部分1.标记字段2.Klass类型执行3.数组长度指针压缩1.33位到35位的内存地址在存储时会进行压缩成32位进行存储,节省内存空间2.堆内存小于4G时不需要启用指针压缩3.堆内存大于32G时压缩指针会失效对象内存分配流程图老年代空
JVM之记忆集|卡表|写屏障 背景分代收集理论的时候,会存在为了解决对象跨代引用所带来的的问题。垃圾收集器在新生代中建立了名为记忆集的数据结构,用来避免把整个老年代加进GC roots扫描范围。事 实上并不只是新生代、老年代之间才有跨代引用的问题,所有涉及部分区域收集(Partial GC)行为的 垃圾收集器,典型的如G1、ZGC和Shenandoah收集器,都会面临相同的问题,因此我们有必要进一步理清记忆集的原理和实现方式,以便学习几款最新的收集器相关知识时能更好地理解。记忆集记忆集是一种用于记录从非收集区域指向收集区域的指针集
G1分区最大数量能超过2048吗 说明:JDK7和JDK8的Region划分实现略有不同(差异非常小,且只有-Xmx和-Xms的值不一样才有区别),本篇文章讲解的是JDK8中Region的划分实现;如果要了解JDK7的Region划分实现,请参考JDK7 headpRegion.cpp之所以写这篇文章是因为看到有人发出了这样的提问:G1的Xmx大于64G有意义吗?看过一些资料,G1的Region最大可以到32M,2048个分区,这样算下来,32M*2048=64G。首先说结论,大于64G肯定有意义。那么他的计算方式问题出在哪里呢?让我们
归并排序时间复杂度分析过程 具体分析过程归并排序方法就是把一组n个数的序列,折半分为两个序列,然后再将这两个序列再分,一直分下去,直到分为n个长度为1的序列。然后两两按大小归并。如此反复,直到最后形成包含n个数的一个数组。归并排序总时间=分解时间+子序列排好序时间+合并时间无论每个序列有多少数都是折中分解,所以分解时间是个常数,可以忽略不计。则:归并排序总时间=子序列排好序时间+合并时间1如果假设一个序列有n个数的排序时间为T(n),T(n)是一个关于n的函数,随着n的变化而变化。那么我们将n个数的序列,分为两个(n/2
JVM的三色标记法&漏标解决方案:增量更新|原始快照 三色标记法基本算法要找出存活对象,根据可达性分析,从GC Roots开始进行遍历访问,可达的则为存活对象:最终结果:A/D/E/F/G 可达我们把遍历对象图过程中遇到的对象,按“是否访问过”这个条件标记成以下三种颜色:白色:尚未访问过。黑色:本对象已访问过,而且本对象 引用到 的其他对象 也全部访问过了。灰色:本对象已访问过,但是本对象 引用到 的其他对象 尚未全部访问完。全部访问后,会转换为黑色。三色标记遍历过程假设现在有白、灰、黑三个集合(表示当前对象的颜色),其遍历访问过程为:
Idea上调jvm参数,配置vm options报错“找不到或无法加载主类” 是开头的字符的问题:应该用连字符(hyphen-minus):-XX:+PrintGCDetails而不是连接号(en dash): ‐XX:+PrintGCDetails第一个字符不一样连字符要长一点参考:https://www.zhihu.com/question/437559413https://stackoverflow.com/questions/45490492/error-could-not-find-or-load-main-class-xmx1g...
idea字节码查看插件jclasslib 1.安装https://blog.csdn.net/w605283073/article/details/103209221全称:jclasslib bytecode viewer使用时直接选择 View --> Show Bytecode With jclasslib注意:如果是自己项目的源码需要先编译2.详细分析jclasslib的结果https://www.jianshu.com/p/85fcc4676b36...
hive在已有表添加或删除字段时要注意的坑点 hive在已有表添加或删除字段时若该表已在某个脚本中有insert语句,一定要把脚本中对应的insert语句进行修改适配,否则脚本就会运行失败。另外hive插入数据需要完全按照hive表中列的创建顺序来进行,并且数据的各个列要与hive表中列顺序一致;...
discard connection 现象ERROR com.alibaba.druid.pool.DruidDataSource- discard connection.No operations allowed after connection closed。原因之所以会出现这个异常,是因为MySQL5.0以后针对超长时间DB连接做了一个处理,那就是如果一个DB连接在无任何操作情况下过了8个小时后(Mysql 服务器默认的“wait_timeout”是8小时),Mysql会自动把这个连接关闭。这就是问题的所在,在连接池中的conne
Offset commit with offsets failed 报错现象2021/05/31-14:17:26.488 [] [JdqConsumerThread_unique_device_identification_mapper_yf_0] ERROR org.apache.kafka.clients.consumer.internals.ConsumerCoordinator- [Consumer clientId=4670fce6, groupId=hisotry1617153935172] Offset commit with offsets {uniqu
idea import javafx.util.Pair 飘红编译报错 现象idea import javafx.util.Pair操作系统mac pro原因使用的jdk是adopt-openjdk-1.8.0_292 这是从idea软件直接下载的jdk,默认是1.8的最新版本,而最新版本没有 javafx.util.Pair这个类对应的jar包,jre/lib/ext/目录下缺少jfxrt.jar包(根本原因)解决方案将jdk版本回退到jdk1.8.0_271.jdk...
idea中lombok注解不生效 排查1 lombok插件刚开始怀疑是:lombok相关插件未安装,网上搜索资料后发现idea默认会安装Hirsey Plugin插件,这个就是lombok插件,另外注意,Lombok插件和Hirsey Plugin插件功能相同,只能同时启用一个,两个一起启用的话会报错。排查2增加配置:-Djps.track.ap.dependencies=false排查3解决...
一个类的main方法设置日志级别 一个类的main方法设置日志级别,默认是debug,配置logback.xml文件无效,其实不用配置xml文件,只需在类静态代码块中加以下代码即可static { LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory(); List<ch.qos.logback.classic.Logger> loggerList = loggerContext.getLogg
insert ignore insert或insert into功能:单个或批量插入数据,若数据已存在,则会抛异常insert ignore into功能:单个或批量插入数据,若数据已存在,则忽略,只会把数据库中没有的数据查询出来shardingsphere 支持ignore这种写法...
mac安装protobuf 1.从github上下载protobuf3protobuf3下载地址:https://github.com/protocolbuffers/protobuf/releases有很多语言版本的,mac下选择第一个。2.下载下来后解压压缩包,并进入目录cd protobuf-3.13.0/3.设置编译目录./configure --prefix=/usr/local/protobuf4.切换到root用户sudo -i5.安装先执行编译命令:make这个执行的比较慢执行完后再