小编Mon*_*ded的帖子

记事本打败了他们?

在Windows Server 2012 R2系统上,Kotlin程序用于FileChannel.tryLock()保存文件的独占锁定,如下所示:

val fileRw = RandomAccessFile(file, "rw")
fileRw.channel.tryLock()
Run Code Online (Sandbox Code Playgroud)

有了这个锁,我无法打开文件:

  • 写字板
  • 记事本+ +
  • 以编程方式使用C#,对于任何值FileShare:

    using (var fileStream = new FileStream(processIdPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
    using (var textReader = new StreamReader(fileStream))
    {
        textReader.ReadToEnd();
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 从命令行,type命令:

    C:\some-directory>type file.txt
    The process cannot access the file because another process has locked a portion of the file.
    
    Run Code Online (Sandbox Code Playgroud)
  • Internet Explorer(是的,我很绝望)

可以用记事本打开它.

记者怎么能打开一个锁定的文件,没有别的可以吗?

windows notepad locking file-locking file-access

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

使用Java中的所有枚举值填充List

我想用一个枚举的所有可能值列出一个列表
因为我最近爱上了EnumSet,我利用了allOf()

EnumSet<Something> all = EnumSet.allOf( Something.class);
List<Something> list = new ArrayList<>( all.size());
for (Something s : all) {
    list.add( s);
}
return list;
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法(如在非混淆的一个班轮中)获得相同的结果?

java enums list

74
推荐指数
4
解决办法
14万
查看次数

各种区块链协议之间的区别

由于开发人员不断使用区块链的不同网络协议,如Hyperledger,multihain,Ethereum,Corda等.如果开发人员和区块链爱好者可以提出如上所述的各种区块链之间的一些关键差异,社区将会很感激.

谢谢 !

blockchain ethereum hyperledger corda

39
推荐指数
4
解决办法
8103
查看次数

Java JDBC连接状态

我(使用以下方法)成功连接到数据库:

java.sql.Connection connect = DriverManager.getConnection(
  "jdbc:mysql://localhost/some_database?user=some_user&password=some_password");
Run Code Online (Sandbox Code Playgroud)

一段时间后我应该检查连接是否仍然打开和关闭?
我希望有一些类似connect.isConnected();我可以使用的东西.

java sql jdbc

37
推荐指数
4
解决办法
9万
查看次数

Javadoc @see对象方法

我想在注释块中使用@see链接另一个对象的方法@see
只给我链接类的选项,而不是方法.

什么是黑客?

public class A {
  B bee;

  /**
   * Just invoking methodB on bee.
   * @see B.methodB() <-- There
   */
  public methodA() {
     bee.methodB();
  }
}

public class B {
  /**
   * The real stuff
   */
  public methodB() {
    // real stuff
  }
}
Run Code Online (Sandbox Code Playgroud)

java javadoc

36
推荐指数
3
解决办法
4万
查看次数

你怎么看mysql客户端的表评论?

我想看看各个领域的评论.通常我会从"描述"参数中得到一些东西.

mysql> describe metrics;
+-------+---------------------+------+-----+---------+----------------+
| Field | Type                | Null | Key | Default | Extra          |
+-------+---------------------+------+-----+---------+----------------+
| id    | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
| ty    | int(10) unsigned    | NO   |     | NULL    |                |
| t     | bigint(20) unsigned | NO   |     | NULL    |                |
| s     | int(10) unsigned    | NO   |     | 60000   |                |
| e     | int(10) unsigned    | NO   |     | NULL    | …
Run Code Online (Sandbox Code Playgroud)

mysql documentation database-design comments

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

WebApp(Tomcat-jdbc)汇集数据库连接抛弃异常

我已经浏览了一段时间,并在此过程中咀嚼我的帽子,但无法找到与我的问题完全匹配.
简而言之,我在60秒不活动后获得了极好的堆栈跟踪(org.apache.tomcat.jdbc.pool.ConnectionPool放弃),这是几个服务器端线程的正常行为.
我直接使用Tomcat JDBC连接池(org.apache.tomcat.jdbc.pool.DataSource)
Stack Trace:

    Oct 29, 2012 8:55:50 PM org.apache.tomcat.jdbc.pool.ConnectionPool abandon
    WARNING: Connection has been abandoned PooledConnection[com.mysql.jdbc.JDBC4Connection@1ad2916]:java.lang.Exception
        at org.apache.tomcat.jdbc.pool.ConnectionPool.getThreadDump(ConnectionPool.java:967)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:721)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:579)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:174)
        at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:111)
        at com.getsom.getConnection(DAO.java:1444)
        at com.getsom.PreparedConnection.(PreparedConnection.java:48)
        at com.getsom.Alarms.run(Alarms.java:492)

我的PoolProperties配置如下:

    PoolProperties pp = new PoolProperties();

    pp.setUrl( someValidUrl);
    pp.setDriverClassName("com.mysql.jdbc.Driver");
    pp.setUsername( someUser);
    pp.setPassword( somePassword);
    pp.setJmxEnabled( true);
    pp.setTestWhileIdle( true);
    pp.setTestOnBorrow( true);
    pp.setValidationQuery( "SELECT 1");
    pp.setTestOnReturn( false);
    pp.setValidationInterval(30000);
    pp.setTimeBetweenEvictionRunsMillis(30000);
    pp.setMaxActive(100);
    pp.setInitialSize(10);
    pp.setMaxWait(10000);
    pp.setMinEvictableIdleTimeMillis(30000);
    pp.setMinIdle(10);

    pp.setLogAbandoned(true);
    pp.setRemoveAbandoned(true);
    pp.setRemoveAbandonedTimeout(60);
    pp.setJdbcInterceptors("org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;"+
      "org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer");    

    setPoolProperties(pp);
Run Code Online (Sandbox Code Playgroud)

我希望setValidationInterval(30000)可以节省我,因为30s在连接生命周期中并不多.无论如何,问题是:
我错过了什么让这个连接永远存在?
很高兴知道:为什么我在声称连接的函数中超时,尽管它是在30秒之前调用的.

java mysql tomcat connection-pooling

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

gcc:减少libc所需的版本

我试图在一些旧的32位RedHat发行版上运行一个新编译的二进制文件.
二进制文件在运行libc v2.12的CentOS 32位VM上编译为C(而不是++).

RedHat抱怨libc版本:

error while loading shared libraries: requires glibc 2.5 or later dynamic linker
由于我的程序相当简单,因此很可能不会使用libc中的任何新内容.

有没有办法减少libc版本要求

c linux linker gcc libc

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

Java硬编码开关vs hashmap

一些Message类能够根据标签号返回一个标签名称

由于这个类多次实例化,我有点不愿意为每个实例创建一个HashMap:

public class Message {
  private HashMap<Integer,String> tagMap;

  public Message() {
    this.tagMap = new HashMap<Integer,String>();
    this.tagMap.put( 1, "tag1Name");
    this.tagMap.put( 2, "tag2Name");
    this.tagMap.put( 3, "tag3Name");
  }

  public String getTagName( int tagNumber) {
    return this.tagMap.get( tagNumber);
  }
}
Run Code Online (Sandbox Code Playgroud)

支持硬编码:

public class Message {
  public Message() {
  }

  public String getTagName( int tagNumber) {
    switch( tagNumber) {
      case 1: return "tag1Name";
      case 2: return "tag2Name";
      case 3: return "tag3Name";
      default return null;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

当你把所有内容都放在混合中时(Memory,Performance,GC,......)

有没有理由坚持使用HashMap?

java performance hashmap

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

String.length()是否为最终的String调用?

快速安心只是为了让您高枕无忧:
考虑以下因素

final String str = "This is the end";
Run Code Online (Sandbox Code Playgroud)

str.length()在运行时评估还是在字节码中硬编码为15?

java string final

10
推荐指数
2
解决办法
744
查看次数