小编Krz*_*tof的帖子

Netbeans 8.2:没有任何理由的高CPU使用率

我希望我在正确的地方发布这个问题.

几天后我遇到了Netbeans 8.2的问题(全新安装)

Java 1.8.0_162.

操作系统:Windows 7/10.问题发生在三台不同的计算机上.

重现步骤:

  • 在Netbeans IDE中打开任何文件(编辑插入符号闪烁),
  • 取消激活NB窗口(单击另一个窗口,记事本,浏览器无关紧要),
  • 通过直接单击打开的文档再次返回NB(插入符号再次闪烁),

现在您应该注意CPU使用率.要降低它,请单击"输出"面板.

这个问题的解决方案

找到了解决这个问题的方法.我安装了JDK 8u144的旧版本并设置netbeans_jdkhome变量<netbeans install directory>/etc/netbeans.conf,因此它指向该版本.现在一切正常,闲置时没有CPU使用率.

正如ImtiazeA注意到Netbeans在没有安装JDK 8u172的情况下工作正常(感谢您的回答).他们必须修复它:)所以只是不要使用8u152和8u162它会很好.

编辑

停用所有已安装的插件仍然存在同样的问题.

已安装的Netbeans 8.0 - 没有帮助......

下载了开发版的netbeans并得到了同样的问题.现在使用IDE Profiler并收到此消息:

java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
    at java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2062)
    at java.awt.Component.getLocationOnScreen(Component.java:2036)
    at javax.swing.text.JTextComponent$InputMethodRequestsHandler.getTextLocation(JTextComponent.java:4643)
    at sun.awt.im.InputMethodContext.getTextLocation(InputMethodContext.java:278)
    at sun.awt.windows.WInputMethod$1.run(WInputMethod.java:588)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
    at java.awt.EventQueue$4.run(EventQueue.java:733)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.security.AccessController.doPrivileged(Native Method) …
Run Code Online (Sandbox Code Playgroud)

netbeans

15
推荐指数
2
解决办法
6192
查看次数

LocalDateTime 和 SQL Server JDBC 4.2 驱动程序

我正在尝试在java.time最新版本的 Sql Server JDBC 驱动程序中使用新类。正如我所读到的,它应该只适用于方法:PreparedStatement.setObject()ResultSet.getObject()

所以我创建了示例代码,但不能让它与 ResultSets 一起工作。我不知道我在这里做错了什么。

Connection connection = DriverManager.getConnection(connectionString);
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM myTable WHERE ? BETWEEN date_from AND date_to");
preparedStatement.setObject(1, LocalDateTime.now());   // That works

ResultSet resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
    Object o = resultSet.getObject("date_from"); 
    o.getClass() returns java.sql.Timestamp

    LocalDateTime dateTime = resultSet.getObject("date_from", LocalDateTime.class);
}
Run Code Online (Sandbox Code Playgroud)

这会引发异常:

com.microsoft.sqlserver.jdbc.SQLServerException:不支持转换为类 java.time.LocalDateTime。

驱动版本:mssql-jdbc-6.5.4.jre8-preview.jar

SQL Server 版本:2016


https://docs.microsoft.com/en-us/sql/connect/jdbc/jdbc-4-2-compliance-for-the-jdbc-driver?view=sql-server-2017

如何解释底部表格中的这句话:

Java 8 中的新 Java 类:LocalDate/LocalTime/LocalDateTime、OffsetTime/OffsetDateTime

新的 JDBC 类型:TIME_WITH_TIMEZONE、TIMESTAMP_WITH_TIMEZONE、REF_CURSOR

REF_CURSOR is not supported in SQL Server. …

java sql-server jdbc mssql-jdbc

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

标签 统计

java ×1

jdbc ×1

mssql-jdbc ×1

netbeans ×1

sql-server ×1