小编kan*_*rbk的帖子

我想使用Java中的String replaceAll方法用新值替换整个String

String x = "Welcome to Java World";
System.out.println(x.replaceAll(".*","JAVA"));
Actual Output = "JAVAJAVA" .
Excepted Output = "JAVA".
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助它取代这样的原因.".*"原始字符串中的所有字符,并将其替换为"JAVA".为什么这会返回"JAVAJAVA".

java

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

MySQL:加载数据infile

使用加载数据插入查询时出错.

"load data infile '/home/bharathi/out.txt' into table Summary"
Run Code Online (Sandbox Code Playgroud)

该文件位于该位置.但是mysql会抛出以下错误. ERROR 29(HY000):找不到文件'/home/bharathi/out.txt'(错误代码:13)

show variables like 'data%';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
Run Code Online (Sandbox Code Playgroud)

Data Dir指向root权限文件夹.我无法更改此变量,因为它是只读的.

如何进行加载数据infile操作?

我尝试更改文件权限,加载本地infile数据.它不会工作.

mysql

6
推荐指数
2
解决办法
1万
查看次数

撤消JS中的dom更改

我正在编写一个自定义HTML编辑器.用户可以编辑整个HTML内容,更改将在DOM中更新.我们可以选择撤消所有更改.

逻辑:

在进行更改之前克隆整个容器并再次应用它.

缺点:

  1. 在js内存中存储一​​个巨大的变量.

  2. 再次应用这些变化,dom将重新绘制所有内容.

有没有办法实现同样的目标?

html javascript jquery dom

6
推荐指数
2
解决办法
1264
查看次数

Java:Matcher.find使用高CPU利用率

我正在使用mod安全规则https://github.com/SpiderLabs/owasp-modsecurity-crs来清理用户输入数据.我正面临cpu射击和延迟匹配用户输入与mod安全规则正则表达式.总的来说,它包含500多个正则表达式来检查不同类型的攻击(xss,badrobots,generic和sql).对于每个请求,我会查看所有参数并检查所有这500个正则表达式.我Matcher.find用来检查参数.在这种情况下,一些参数属于无限循环,我使用以下技术解决了这个问题.

取消长期运行的正则表达式匹配?.

消除用户请求大约需要大约500毫秒,并且cpu%会上升.我使用visualvm.java.net和我的测试套件运行程序进行了分析.

Cpu配置文件输出

在此输入图像描述

请帮我减少cpu使用率和平均负载?

java regex performance

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

为什么我要避免在servlet中使用InheritableThreadLocal?

InheritableThreadLocalServlet班上使用.因此它可以从它的子线程中获得.InheritableThreadLocal在线程池执行器中使用这是邪恶的吗?.比如servlet线程池.

我的问题.

1)为什么要避免InheritableThreadLocals在servlet中使用?

2)这种内存泄漏是否可能InheritableThreadLocal

3)有没有替代方案InheritableThreadLocal

4)如果线程被重用会发生什么,存储的值threadlocal不会被清除?

我的实时场景

public class UserAccessFilter implements javax.servlet.Filter {

      static final InheritableThreadLocal<String> currentRequestURI = new InheritableThreadLocal<String>();

      public void  doFilter(ServletRequest req, ServletResponse resp , FilterChain fc) throws IOException, ServletException{
              String uri = request.getRequestURI();
              fc.doFilter(request, response);         
      }
}


public class MailServlet extends HttpServlet{

      @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String mailCount = req.getParameter("mailCount");

    if(mailCount != null && !"".equals(mailCount) && …
Run Code Online (Sandbox Code Playgroud)

java tomcat servlets thread-safety

4
推荐指数
2
解决办法
6739
查看次数

索引是否依赖于所选列?

我正在根据时间执行大多数查询.所以我为创建的时间创建了索引.但是,索引只能起作用,如果我只选择索引列.mysql索引是否依赖于所选列?

我的指数假设

我认为索引就像电话词典索引页面.例如:如果我想找到"马克".索引页面显示目录中的哪个页面字符"M".我认为和mysql一样工作.

+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| ID           | int(11)      | NO   | PRI | NULL    | auto_increment |
| Name         | varchar(100) | YES  |     | NULL    |                |
| OPERATION    | varchar(100) | YES  |     | NULL    |                |
| PID         | int(11)      | YES  |     | NULL    |                |
| CREATED_TIME | bigint(20)   | YES  |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)

索引在桌子上.

    +-----------+------------+----------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| …
Run Code Online (Sandbox Code Playgroud)

mysql

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

在xml中追加节点时出现错误的文档错误

public static Node createNodeFromXMLString(String xml) throws SAXException,
        IOException {
    return builder.parse(new ByteArrayInputStream(xml.getBytes()))
            .getDocumentElement();
}


public static void main(String args[]){
   Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse("server.xml");
   XPath xpath = XPathFactory.newInstance().newXPath();
   Node element = (Node)xpath.evaluate("/Server/Service/Connector[2]",document,XPathConstants.NODE);
   String newNode = nodeToString(element).replace("port=\"8443\"", "port=\"8453\"");
   Node parent = element.getParentNode();
   Node node = createNodeFromXMLString(newNode);
   parent.removeChild(element);
   document.importNode(node,true);
   parent.appendChild(node);       
}
Run Code Online (Sandbox Code Playgroud)

它在线程"main"org.w3c.dom.DOMException中抛出异常:WRONG_DOCUMENT_ERR:节点用于与创建它的文档不同的文档中.org.apache.xerces.dom.ParentNode.internalInsertBefore(未知来源)atg.apache.xerces.dom.ParentNode.insertBefore(未知来源)org.apache.xerces.dom.NodeImpl.appendChild(未知来源)

java xml

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

为什么内部类允许"静态最终"字段?

我对使用java中的内部类有疑问.这是我的代码.

码:

public class Test{

      public class InnerClass{
             public static int num = 10;
      }       

}
Run Code Online (Sandbox Code Playgroud)

这不被允许.我收到错误消息"字段num不能声明为静态;静态字段只能在静态或顶级类型中声明".

public class Test{

      public class InnerClass{
             public static final int num = 10;
      }       

}
Run Code Online (Sandbox Code Playgroud)

但这是允许的.我没有声明InnerClass为静态和顶级元素,但它是如何工作的?

java static inner-classes

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

奇怪的!Spring Boot 中的长值舍入问题

当我尝试使用 Jackson 对象映射器将对象序列化为 JSON 时,它运行良好。

 {"id":1291741231928705024,"uuid":null,"email":"kannanrbk.r@gmail.com"}
Run Code Online (Sandbox Code Playgroud)

然而,当我尝试使用弹簧休息控制器访问它时。长值数字四舍五入,最后 3 位数字。

在此处输入图片说明

我在 stackoverflow 中阅读了现有问题,其中大多数建议将数据类型更改为字符串。但是我们在大多数地方使用了 Long 值引用,更改数据类型需要一些重构。

我做了初步分析:

  1. 我们正在使用杰克逊 ObjectMapper
  2. 从 Spring,它间接调用 MappingJackson2HttpMessageConverter
  3. 这个问题可能在 JSONParser 附近,它将任何数字视为双精度(15 位),然后四舍五入

有没有办法解决这个问题?

java spring jackson spring-boot

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

访问前一行的快捷方式?

Go to Previous line visited编辑器中是否有任何快捷方式.

谢谢 ,

卡纳安

eclipse eclipse-plugin

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