草庐IT

fixed-size-types

全部标签

java - 是否有 Class.isAssignableFrom 与 Type 对象一起使用的替代方法?

在Java中,Class有一个isAssignableFrommethod定义如下:publicbooleanisAssignableFrom(Classcls)DeterminesiftheclassorinterfacerepresentedbythisClassobjectiseitherthesameas,orisasuperclassorsuperinterfaceof,theclassorinterfacerepresentedbythespecifiedClassparameter.Itreturnstrueifso;otherwiseitreturnsfalse.Ift

java - 如何重构 "stringly-typed"代码?

我目前正在开发一个代码库,其中有几类变量,例如数据库路径,它们简单地表示为字符串。这些(非)类型的大部分操作都在实用程序类中定义。我创建了一个新类来表示一个数据库,其中的操作定义为传统OOP风格的实例方法。然而,遍历大型代码库并重构它以使用新类型是非常费力的。有没有人对如何快速有效地执行此操作有任何建议? 最佳答案 迁移实用程序类以使用您的新类。那么实用类方法应该只包含两个语句。一个用于创建您的类(class),另一个用于调用您的类(class)。之后,您可以内联实用程序类方法,从而消除对它的需要。完成后,您需要寻找一种方法来避免一

java - 为什么在静态上下文中使用实例方法时 javac 会发出 "error: method in class cannot be applied to given types"?

考虑以下(无效的)Java程序:publicclassTest{publicstaticvoidmain(String[]args){int[]ints={1,2,3,4,5};print(ints);}publicvoidprint(int...ints){for(inti:ints){System.out.print(i);}}}我希望出现与此类似的错误:Cannotmakeastaticreferencetothenon-staticmethodprint(int[])fromthetypeTestatTest.main(Test.java:5)相反,javac发出:Test.j

Git commit 提交时报错: “subject may not be empty“ 或 “type may not be empty“

Gitcommit提交时报错,提示信息如下:⧗input:项目搭建:基于xx框架搭建的...,包含一些基础示例和项目配置✖subjectmaynotbeempty[subject-empty]✖typemaynotbeempty[type-empty]✖found2problems,0warningsⓘGethelp:https://github.com/conventional-changelog/commitlint/#what-is-commitlinthusky-commit-msghookexitedwithcode1(error)报错原因使用Git提交代码时,commitmessa

java - 如何使用@Target(ElementType.TYPE_USE) 处理注解?

我正在实现一个注释处理器,以确保标有注释的元素是实现特定接口(interface)的类的实例,或者是实现特定接口(interface)的类型的使用:@Documented@Target(value={ElementType.PARAMETER,ElementType.TYPE_USE})@Retention(value=RetentionPolicy.RUNTIME)public@interfaceAuditSubject{}publicinterfaceAuditable{//methodsthatprovidedataforwritingalogentry...}publiccla

innodb_log_file_size 和 innodb_buffer_pool_size

innodb_log_file_size和innodb_buffer_pool_size是MySQL数据库中InnoDB存储引擎的两个重要配置参数。它们对数据库的性能和可靠性有着显著的影响。1.innodb_log_file_sizeinnodb_log_file_size参数用于指定InnoDB重做日志文件(redologfiles)的大小。重做日志是InnoDB用来保证事务的持久性和数据库的恢复能力的重要机制。当事务提交时,相关的更改会先被写入重做日志,然后再异步地刷新到磁盘上的数据文件中。设置建议:这个参数的设置应该基于你的工作负载和系统的可用磁盘空间。太小的设置可能会导致频繁的日志切换

Java 泛型 : Question regarding type capture and generated inference using generic methods

这是我上一个问题的后续问题,但由于上一个线程很长,我决定开始另一个与几乎相同主题相关的线程。publicclassGenericMethodInference{staticvoidtest1(Tt1,Tt2){}staticvoidtest3(Tt1,Listt2){}staticvoidtest4(Listt1,Listt2){}publicstaticvoidmain(String[]args){Listc=newLinkedList();Listd=newArrayList();Liste=newArrayList();test1("Hello",newInteger(1));/

Java 泛型 : Inferring types over two parameters

假设我有一个像这样的简单方法来处理两个列表:publicstaticvoidfoo(Listlist1,Listlist2){}假设我想这样调用它:foo(ImmutableList.of(),ImmutableList.of(1));这不会编译,因为javac不够聪明,无法弄清楚我正在尝试创建两个整数列表。相反,我必须写:foo(ImmutableList.of(),ImmutableList.of(1));我应该如何更改foo的声明以允许第一个版本和第二个版本一样工作? 最佳答案 我很确定Java的类型推断不够强大,无法处理统一

记录一次SpringBoot项目中因为server.max-http-header-size导致的内存溢出 并使用JVM命令以及Jprofile排查过程

这段时间不太忙,记录一下前段时间遇到的一个问题,有一次经理给我说线上服务器收到报警,内存已经达到了90%,而且还有增长的可能,平时的内存基本上在50%左右,一下子增加将近一倍的量,首先猜想可能是某个对象没有被释放掉或者说泄漏了,而且内存泄漏一般发生在堆内存的情况也比较多一点,下面介绍处理的过程,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。1、首先先在服务器中执行top-c命令,配合Shift+P键,一般异常的几个进程会排到前几位可以看到PID为2817的这个进程占用的MEM,也就是memory内存数值比较高,由此锁定了这个2817进程2、然后使用jstat命令,查看GC垃圾回收

java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified问题

问题如图:1.问题描述IllegalArgumentException顾名思义,非法参数异常(差点看出来了,但凡我英文好点......)Nameforargumentoftype[java.lang.String]notspecified,andparameternameinformationnotfoundinclassfileeither.未指定[java.lang.String]类型的参数的名称,并且在类文件中也找不到参数名称信息。2.总结产生问题先看一下自己的代码,我看到问题就被吓到了,就去搜,也没仔细看是什么异常,嗯,这千万不要啊!先看是什么异常,再看代码嘛。结果发现,不小心多打了两