小编Sha*_*war的帖子

与私有方法冲突时在接口中调用默认方法

考虑以下类层次结构.

class ClassA {
    private void hello() {
        System.out.println("Hello from A");
    }
}

interface Myinterface {
    default void hello() {
        System.out.println("Hello from Interface");
    }
}

class ClassB extends ClassA implements Myinterface {

}

public class Test {
    public static void main(String[] args) {
        ClassB b = new ClassB();
        b.hello();
    }
}
Run Code Online (Sandbox Code Playgroud)

运行该程序将出现以下错误:

Exception in thread "main" java.lang.IllegalAccessError: tried to access method com.testing.ClassA.hello()V from class com.testing.Test
at com.testing.Test.main(Test.java:23)
Run Code Online (Sandbox Code Playgroud)
  1. 这都是因为我将ClassA.hello标记为私有.
  2. 如果我将ClassA.hello标记为protected或删除可见性修饰符(即使其成为默认范围),则它会显示编译器错误: The inherited method ClassA.hello() cannot hide the public abstract method in …

java java-8 default-method

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

如何用mybatis进行分页?

我目前正在开发一个电子商务应用程序,我必须使用搜索功能显示可用产品列表.

与每次搜索一样,我必须在这里实现分页.

我使用mybatis作为我的ORM工具,使用mysql作为底层数据库.

谷歌搜索我找到了以下方法来完成这项任务:

  1. 客户端分页 :在这里,我将不得不一次性从匹配搜索条件的数据库中获取所有结果,并在我的代码级别处理分页(可能是最终代码).

  2. 服务器端分页:使用mysql,我可以使用Limit和结果集的偏移量来构造如下的查询: SELECT * FROM sampletable WHERE condition1>1 AND condition2>2 LIMIT 0,20

在这里,每次用户在搜索结果中导航时选择新页面时,我都必须传递偏移和限制计数.

谁能告诉,

  1. 这将是实现分页的更好方法吗?
  2. mybatis支持更好的实现分页的方法,而不仅仅依赖于上面的SQL查询(比如hibernate标准API).

任何输入都是高度适应的.谢谢 .

mysql pagination hibernate mybatis

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

在已存在主键或唯一键约束的列上创建索引

我目前正在学习Oracle中的索引.在Oracle 文档中,可以找到以下内容:

尽管数据库在具有完整性约束的列上为您创建索引,但建议在此类列上显式创建索引.

这里有人可以告诉我这背后的理由吗?如果数据库自动创建索引,为什么我们要明确地在这些列上创建另一个索引?

sql oracle database-indexes

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

Phaser和CyclicBarrier之间的区别

我偶然发现了Java并发包中CyclicBarrier和Phaser实用程序之间的区别.

我知道CyclicBarrier允许一组线程等到所有线程到达特定点.Phaser也做同样的事情,但它支持多个阶段.我也明白,CyclicBarrier可以重复使用.我认为这个重用工具使其功能与Phaser相同.

考虑以下程序:

测试Phaser:

import java.util.concurrent.Phaser;

public class PhaserTest {

    public static void main(String[] args) {
        Phaser p = new Phaser(3);
        Thread t1 = new Thread(() -> process(p), "T1");
        Thread t2 = new Thread(() -> process(p), "T2");
        Thread t3 = new Thread(() -> process(p), "T3");
        t1.start();
        t2.start();
        t3.start();
    }

    private static void process(Phaser p) {
        try {
            System.out.println("Started Phase 1: "+Thread.currentThread().getName());
            p.arriveAndAwaitAdvance();
            System.out.println("Finished Phase 1: "+Thread.currentThread().getName());
            System.out.println("Started Phase 2: "+Thread.currentThread().getName());
            p.arriveAndAwaitAdvance();
            System.out.println("Finished Phase 2: "+Thread.currentThread().getName());
        } …
Run Code Online (Sandbox Code Playgroud)

java java.util.concurrent

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

当我在 Java 8 中使用函数时使用一元运算符和二元运算符

在Java 8中,提供了许多函数式接口,例如UnaryOperator、BinaryOperator和Function等。

代码,

UnaryOperator<Integer> uOp = (Integer i) -> i * 10;
BinaryOperator<Integer> bOp = (Integer i1, Integer i2) -> i1 * i2 * 10;
Run Code Online (Sandbox Code Playgroud)

总是可以使用函数编写如下,

Function<Integer, Integer> f1 = (Integer i) -> i * 10;
BiFunction<Integer, Integer, Integer> f2 = (Integer i1, Integer i2) -> i1 * i2 * 10;
Run Code Online (Sandbox Code Playgroud)

那么,这些操作界面有什么用呢?他们实现的目标是否与使用 Function 实现的目标不同?

java java-8

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

org.springframework.web.servlet.PageNotFound noHandlerFound找不到带URI的HTTP请求的映射

我知道这个问题已被多次询问,我已经尝试了所有可能的解决方案仍然存在问题.实际上,同一个项目在Tomcat 8中以0错误运行,该错误直接从netbeans部署.我在eclipse中创建了一个新项目,并部署在Websphere Application Server 8.0中.然后一切顺利但URL无法识别.我的代码如下.

servlet.xml中

    <?xml  version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:lang="http://www.springframework.org/schema/lang"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
        http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd>
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">

    <mvc:annotation-driven />
    <context:annotation-config />
    <context:component-scan base-package="com.ibm.app" />
    <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
        <property name="mediaTypes">
          <map>
            <entry key="html" value="text/html"/>
            <entry key="json" value="application/json"/>
          </map>
        </property>
        <property name="viewResolvers">
          <list>
            <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
              <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
               <property name="prefix" value="/WEB-INF/Content/pages/" />
               <property name="suffix" value=".jsp" />
            </bean>
          </list>
        </property>
        <property name="defaultViews">
          <list>
            <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"> …
Run Code Online (Sandbox Code Playgroud)

websphere spring spring-mvc java-ee websphere-8

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

Kibana Windows zip 分发包解压时间过长

我已经从这里下载了最新的 kibana OSS zip 文件。但是我注意到在 Windows 默认的 zip 提取实用程序上提取 zip 需要很长时间。

在此处输入图片说明

这意味着要花费这么多时间还是我需要更改机器上的任何内容来改进它?

elasticsearch kibana

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

Oracle CLOB 与 BLOB

我想知道 Oracle 的 CLOB 必须通过 BLOB 数据类型提供什么。 两者都有 (4 GB - 1) * DB_BLOCK_SIZE 的数据存储限制。

长度超过 4000 字节的文本字符串不能放入 VARCHAR2 列。现在,我也可以使用 CLOB 和 BLOB 来存储这个字符串。

每个人都说,CLOB 很好,用于字符数据,而 BLOB 用于二进制数据,例如图像、非结构化文档。

但是我发现我也可以将字符数据存储在 BLOB 中。

我想知道的是:

所以,问题是关于基础的,为什么是 CLOB,为什么不总是 BLOB?和编码有关系吗?

可能问题标题应该是,CLOB 如何与 BLOB 不同地处理字符数据?

oracle blob

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

使用H2 Web界面浏览Corda数据库表显示同义词错误

我按照链接中的说明浏览corda数据库.但是,当我查询表时,我遇到了错误.

图像有错误截图

错误:

Table "SYNONYMS" not found; SQL statement:
SELECT TABLE_CAT, TABLE_SCHEM, TABLE_NAME, TABLE_TYPE, REMARKS, TYPE_CAT, TYPE_SCHEM, 
TYPE_NAME, SELF_REFERENCING_COL_NAME, REF_GENERATION, SQL FROM (SELECT SYNONYM_CATALOG TABLE_CAT, 
SYNONYM_SCHEMA TABLE_SCHEM, SYNONYM_NAME as TABLE_NAME, TYPE_NAME AS TABLE_TYPE, REMARKS, TYPE_NAME TYPE_CAT, 
TYPE_NAME TYPE_SCHEM, TYPE_NAME AS TYPE_NAME, TYPE_NAME SELF_REFERENCING_COL_NAME, TYPE_NAME REF_GENERATION,
NULL AS SQL FROM INFORMATION_SCHEMA.SYNONYMS WHERE SYNONYM_CATALOG LIKE ? ESCAPE ? AND SYNONYM_SCHEMA LIKE ?
ESCAPE ? AND SYNONYM_NAME LIKE ? ESCAPE ? AND (false)  UNION SELECT TABLE_CATALOG TABLE_CAT, TABLE_SCHEMA TABLE_SCHEM, 
TABLE_NAME, TABLE_TYPE, REMARKS, …
Run Code Online (Sandbox Code Playgroud)

h2 corda

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

何时在Java中选择CMS上的SerialGC,ParallelGC,G1?

在Java 9中,G1 GC是默认的垃圾收集器。截至目前,我听说有些人更喜欢CMS垃圾收集器而不是G1GC,因为它看起来不稳定,并且存在一些令人讨厌的错误。

ParallelGC发生了什么(这些天没有嗡嗡声)?有没有什么用例比起CMS / G1,我们更希望使用ParallelGC?

另外,是否存在SerialGC可以执行所有这些并行收集器的情况?

java garbage-collection jvm

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

Corda State 类参与者名单意义

我正在开发一个涉及 3 方(节点)即的cordap。A、B、C。

有2个流程:

流程 1: A 到 B 发行流程

状态对象中参与者字段的值:listOf(A, B)

结果:最新状态在节点 A 和节点 B 中可见


流程 2: B 到 C 传输流程

状态对象中参与者字段的值:listOf(B, C)

结果 :

  1. 最新状态在节点 B 和节点 C 中可见
  2. 节点 A 中的状态不可见。:-((节点 A 应该显示其在 Flow 1 中获取的状态。不是吗?)

我的问题是,即使 A 方没有参与流程 2,分类帐更新是如何在节点 A 上发生的,为什么它的状态不可见?

注意: 为了获取状态,我在每个节点上运行以下命令:

run vaultQuery contractStateType: com.example.Mystate
Run Code Online (Sandbox Code Playgroud)

corda

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

选择哪个JSF实现?

我刚刚开始研究java web-app的开发.我必须在其Web层中使用JSF框架.谷歌搜索我确实看到JSF的实现数量.Apache Myfaces,Jboss Primefaces等

请任何人指导我,现在最好从哪个实现调用 - a)支持/文档​​/教程b)稳定性c)相同的未来方面d)与应用服务器的兼容性

jsf myfaces primefaces jsf-1.2

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