草庐IT

public_profile

全部标签

java - 如何基于@Profile 向 spring-security 添加过滤器?

我试图定义两个不同的bean(都扩展了AbstractPreAuthenticatedProcessingFilter):一个用于在“开发”配置文件处于Activity状态时从请求(例如USER_ID)中获取header,第二个用于从请求中获取JWT当“开发”配置文件不处于Activity状态时请求header。(虽然从概念上讲,我真的只是试图根据bean本身的存在以编程方式注册过滤器)目前,我什至没有尝试使用配置文件,因为我在自动获取header方面遇到了问题在适当的过滤器链中注册。该应用程序使用Spring-Boot2.0.0.RELEASE,配置为使用嵌入式Tomcat,并且该服

Java:getter 方法与公共(public)实例变量:性能和内存

很抱歉提出新手问题。通过引用与值传递很难!所以我有一个具有相当大数据结构的类——多维数组。我需要从另一个类访问这些数组。我可以只公开数组并执行经典的objectWithStructures.structureOne。或者,我可以做setter/getter:添加一个像publicint[][][]getStructureOne()这样的方法。有一个getter会复制多维数组吗?或者它是否通过引用传递它而你不能改变引用的对象?我担心内存和性能。但是公开数据结构,如果不导致复制则速度更快,这似乎是一种糟糕的编码习惯。附录:那么当我使用getter方法返回对对象(例如数组)的引用时,该对象是

java - 使用泛型实现抽象类中的公共(public)方法

假设我有这个层次结构:publicabstractclassAbstractEntityimplementsCloneable{...publicAbstractEntityclone(){Clonercloner=newCloner();AbstractEntitycloned=cloner.deepClone(this);returncloned;}}publicclassEntityAextendsAbstractEntity{...}这很好用,我能做到:EntityAe1=newEntityA();EntityAe2=(EntityA)e1.clone();但我必须手动进行类型

Java8 Lambda 性能与公共(public)函数

我一直在使用Java8VS对lambda性能进行一些演示测试。Java8公共(public)函数。案例如下:我有一个10人的名单(5男5女)。我想知道哪个女人的年龄在18到25岁之间现在,当我执行这些步骤一百万次时,结果将是:LambdawithForEachtook:395ms(396msusingJUnit)Publicfunctionstook:173ms(169msusingJUnit)LambdawithCollecttook:334ms(335msusingJUnit)现在我没想到lambda的执行时间比常规函数长两倍到六倍。所以,现在我很想知道我是否在这里遗漏了什么。可以

java - 为什么必须将main方法声明为public...为什么JVM不能执行private main方法

通常我在各种书籍中发现main方法应该是公共(public)的,因为它应该对类加载器可见。但是JVM执行(或提供特殊处理)各种私有(private)方法,例如ObjectOutputStream中的readObject/writeObject方法。 最佳答案 很明显,您的程序的入口点应该是可见的。 关于java-为什么必须将main方法声明为public...为什么JVM不能执行privatemain方法,我们在StackOverflow上找到一个类似的问题:

java - 多个 JVM 进程是否可以共享公共(public)类的内存?

我想在我的网络服务器上运行多个Java进程,一个用于每个网络应用程序。我正在使用具有大量支持类和jar文件的Web框架(Play),并且Java进程使用大量内存。一个Play进程显示大约225MB的“常驻私有(private)”内存。(我正在使用Java1.7.0_05在MacOSX上对此进行测试。)特定于应用程序的代码可能只有几MB。我知道典型的JavaWeb应用程序是添加到一个服务器进程(Tomcat等)的jars,但运行Play的标准方式似乎是作为一个独立的应用程序/进程。如果这些是C程序,那么这200MB中的大部分将是共享库,而不是在每个应用程序中重复。有没有办法在Java中实

java - 如何使用单个 replaceAll 查找 Java 中两个字符串的公共(public)字符?

假设我有:Strings="1479K";Stringt="459LP";我想回去StringcommonChars="49";两个字符串之间的共同字符。显然可以使用如下标准循环:StringcommonChars="";for(i=0;i但是我希望能够使用replaceAll在一行中完成此操作。这可以按如下方式完成:StringcommonChars=s.replaceAll("["+s.replaceAll("["+t+"]","")+"]","");我的问题是:是否可以使用一次replaceAll调用来做到这一点?什么是正则表达式?我想我必须使用某种前瞻性,但当我想到它时,我的大

java - 包私有(private)类中的公共(public)成员

我想知道在包私有(private)类中有公共(public)成员是否可以(不被认为是不好的做法)。我倾向于将public关键字添加到我的默认可见性类的成员,以指示此类成员是类API的一部分。我这样做只是为了可读性,因为在这种情况下,公共(public)成员与没有任何访问修饰符的成员具有基本相同的可见性(即包可见性)。对吗?例子:classModuleImplementationClass{privateintfieldA;privateStringfieldB;privatevoidsomeClassInternalMethod(){//impl}publicintdoSth(){//

java - 无法在内部类中声明 Public static final String s = new String ("123")

我尝试声明一个类,如下所示classOuter{privatefinalclassInner{publicstaticfinalStrings1=newString("123");publicstaticfinalbyte[]bytes=newbyte[]{0x00,0x01};publicstaticfinalStrings2="123";publicstaticfinalbytebyte1=0x02;}}在上面的代码中,s1和bytes无法编译,但s2和byte1可以编译。如果我将整个常量声明放在外部类中,它就可以正常工作。我错过了什么。有帮助吗? 最佳

java - 创建泛型类的公共(public)内部类的实例

所以我有如下内容:publicclassEnclosing>{//non-relevantcodesnippedpublicclassInner{privateTvalue;publicInner(Tt){value=t;}}}万物皆可编译,天下皆大欢喜。但是,每当我尝试创建Enclosing.Inner的实例时如下,我不行:newEnclosing.Inner(5);出现以下错误:CannotallocatethemembertypeEnclosing.Innerusingaparameterizedcompoundname;useitssimplenameandanenclosin