草庐IT

php - 本地主机渲染页面很慢

我的本​​地主机渲染页面很慢。一切甚至简单的html渲染都需要大约2-5秒。我研究了它并通过替换修复了它:new\PDO(...':host=localhost'...);到new\PDO(...':host=127.0.0.1'...);任何人都可以向我解释或给我一个链接以了解为什么localhost正在变慢以及如何将它更改为IP使其变得非常快。现在,它甚至可以在不到一秒的时间内呈现复杂的查询,而之前需要大约5-10秒。另外用IP替换localhost会不会有什么安全问题?我的意思是,如果我实时托管我的项目并将localhost替换为主机的IP,这会对任何类型的安全产生影响吗?非常感

java - 为什么静态类在 JAXB 解码中很特殊

我遇到过几种情况,其中JAXB从xsd文件生成的类有一系列类列表,这些类列表也包含类列表。生成的类在处理这些情况时使用静态内部类,但这会导致多个实例一个类存在多次。例如,我有一个存在于多个xsd文件中的参数类。在每个实例中,此参数类都是相同的并且包含一个键值对。在为每个xsd文件生成代码时,每个生成的类都包含一个名为Parameter的内部类。为了减少冗余,我从所有生成的类中删除了Parameter类,重新实现它,并更新了所有引用。这按预期工作当我有另一个类(如LogicalDevice)也在多个类中实现时,就会出现问题。LogicalDevice包含一个ParameterList。当

java - 为什么这些正则表达式在 Java 中执行起来很慢?

我正在尝试使用正则表达式来确定用户在文本框中输入内容时应用的格式。正则表达式如下:(\\s?["+alphabet+"]{9,9})+确定输入是否是给定字母表中长度为9的一个或多个字符串,可能由空格分隔。(>[\\w\\s]+\\n["+alphabet+"\\s]+)+检查输入是否在FASTAformat中与inputString.matches(regexString)匹配时,正则表达式运行得非常慢。这是为什么?我认为这可能是由于Java存储了所有可能的匹配项(此时我不需要),但是在每个括号中添加?:会破坏正则表达式。应该怎么做?谢谢,马丁编辑1:我无法重现此问题-它只发生在一台计

java - 请纠正我这一点,这很令人困惑

如有不对请指正。我被教导说,每次加载一个类时,都会在堆内存中创建一个类对象,类名的引用保存在类区每个字段,如字符串、int,无论是什么,都作为对象存储,其引用在创建的类对象中给出同样适用于方法、构造函数等现在还有一个问题,是为每个对象存储所有这些东西,还是只创建一个对象来了解这些信息另外请告诉我这个Field类实际上有什么?喜欢例如classb{Strings="sdnla";}b类有两个对象,b1和b2,Field类对象有什么? 最佳答案 在正常情况下,每个类只有一个类对象。不是每个对象。如果Java为每个对象都创建了所有的结构,

java - 静态方法很慢

我正在用Java编写一个简单的游戏。我用30FPS进行了碰撞测试,我必须在其中获得窗口的大小。因为我无法访问GUI实例,所以我想创建一个共享实例,因为这在我来自的Objective-C中是非常标准的。classGUIextendsJFrame{privatestaticGUI_sharedInstance;publicstaticGUIsharedInstance(){if(_sharedInstance==null){_sharedInstance=newGUI();}return_sharedInstance;}}但是由于某些原因,它真的很慢。然后我将共享实例替换为publicst

java - 为什么我的 java 文件在 Eclipse 中看起来很奇怪?

我刚刚对我的Eclipse项目感到困惑,java代码文件看起来很奇怪,如下所示:它应该是这样的:有谁知道这些java文件有什么区别?我该如何解决这个问题?谢谢和问候。 最佳答案 这与PackageExplorer显示项目内容的方式有关。第二个(纯蓝色J图标)显示Java源代码,而第一个仅显示一个文件夹结构,其中包含任何文件(在本例中为Java文件)。这意味着如果您没有看到第二个,那么您的项目就会遇到麻烦,因为没有配置源代码文件夹。您可以通过右键单击项目>JavaBuildPath>Source来检查项目源如果你想避免混淆,那么我建议

java - 为什么这个正则表达式需要很长时间才能执行?

我发现,例如这一行的执行时间非常长:System.out.println("................................................".matches("(?i)(?:.*)?\\W?([a-z0-9-_\\.]+((?:*)\\.(?:*))+(?:DE))(?:[0-9]{1,5})?"));如果我减少字符串开头的点数,则执行时间会缩短(似乎呈指数增长)。这是挂起线程的堆栈跟踪:[Repeatingtext]...Pattern$GroupTail.match(Matcher,int,CharSequence)line:4717Pattern

java - 为什么 java 从具有大尺寸数字的第一个维度开始初始化二维数组需要很长时间?

我注意到像这样初始化二维数组案例1:-intar[][]=newint[10000001][10];比这样初始化要花更多的时间案例2:-intar[][]=newint[10][10000001];在情况1中,它花费了大约4000毫秒,但在情况2中,它不超过100毫秒为什么会有这么大的差距? 最佳答案 严格来说,Java没有二维数组:相反,它使用排列成数组的一维数组的一维数组。在您的第一种情况下,除了单个数组数组之外,Java还制作了10000001个包含10个元素的数组,而在第二种情况下,它制作了10个包含10000001个元素的

java - 当我将多个自定义匹配器分配给一个方法时,Mockito 的行为很奇怪

我想为一个方法使用两个自定义匹配器。基本上,如果我传递方法VALUE_A,我希望它返回RESULT_A,如果我传递它VALUE_B,我希望它返回RESULT_B。所以这是一段代码摘录:classIsNonEmptyextendsArgumentMatcher{publicbooleanmatches(Objectget){//Forsomereason,thismethodiscalledwhenIassigntheIsEmptymatchertoMockHtable.get()//Whenthishappens,thevalueofthegetargumentisnull,sothi

java - 添加到 hashmap 需要很长时间

我在我的java程序中卡住了几行,这花费了太多时间(大约20秒),我觉得这很奇怪。这是几行Mapres2=newHashMap();for(URLurl:res){res2.put(url,null);}定义如下:Listres=newArrayList();在我的程序中,res.size()~=1500你知道我的问题可能来自哪里吗?谢谢! 最佳答案 java.net.URL的hashCode()方法执行DNS解析。URL类不适合在HashSet中使用或用作HashMap中的键。使用字符串或java.net.URI。这是一些背景:M