小编Sig*_*ran的帖子

Java搜索匹配字符串的数组

我该如何优化以下内容:

final String[] longStringArray = {"1","2","3".....,"9999999"};
String searchingFor = "9999998"
for(String s : longStringArray)
    {
        if(searchingFor.equals(s))
        {
            //After 9999998 iterations finally found it
            // Do the rest of stuff here (not relevant to the string/array)
        }
    }
Run Code Online (Sandbox Code Playgroud)

注意:longStringArray每个运行时只搜索一次,并且没有排序,并且每次运行程序时都不同.

我确定有一种方法可以改善最坏情况下的表现,但我似乎无法找到它......

PS也会欣赏一个解决方案,其中数组longStringArray中不存在字符串搜索.

谢谢.

java arrays string match

5
推荐指数
2
解决办法
3万
查看次数

获得~50个并发连接后,Java多线程套接字服务器挂起

所以基本上问题在标题中描述.服务器以下列方式工作:

  • 收听新连接
  • 一旦请求连接 - 将请求添加到Q,
  • 继续听新连接
  • 单独的进程负责处理Q并生成一个新线程来处理客户端的请求.

服务器代码与本教程类似(一切都在try/catch中,遗憾的是我无法显示源代码 - 公司策略)

它似乎运行得很好,直到客户端数量超过~50,然后它只挂起没有异常/警告/等.有一个cpu线程限制为32k,没有限制打开文件/打开套接字/等等OS = CentOS 5.5(在ubuntu中似乎也是如此).服务器使用ODBC将数据记录到MySQL.两者的单独压力测试表明我可以拥有多达32k的java进程(受/ proc/sys/kernel/threads-max限制),而MySQL可以执行高达20k的简单操作/秒,所以我假设问题在于套接字.

所以问题确实是:

  • 套接字连接的限制因素是什么?如何使其更大?
  • 或者我在错误的地方找?

java sockets

3
推荐指数
1
解决办法
1874
查看次数

Java退出程序而不退出JVM

如果满足某个条件,我想退出java进程并在完成正常运行之前释放所有资源.我不想退出JVM,因为我有其他同时运行的java程序.是否return;做到上面,还是有更好的方式来做到这一点?

谢谢.

java jvm

1
推荐指数
1
解决办法
4862
查看次数

标签 统计

java ×3

arrays ×1

jvm ×1

match ×1

sockets ×1

string ×1