小编use*_*383的帖子

微服务与单片架构

我做了一些关于微服务的阅读,我有点兴趣.看起来像是有趣的概念.但我想知道,使用微服务而不是单片架构有什么优缺点,反之亦然.

当微服务更合适时,哪里更好地采用单片架构.

microservices

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

使用反射获取带注释的字段列表

我创建了我的注释

public @interface MyAnnotation {
}
Run Code Online (Sandbox Code Playgroud)

我把它放在测试对象的字段中

public class TestObject {

    @MyAnnotation 
    final private Outlook outlook;
    @MyAnnotation 
    final private Temperature temperature;
     ...
}
Run Code Online (Sandbox Code Playgroud)

现在我想得到所有字段的列表MyAnnotation.

for(Field field  : TestObject.class.getDeclaredFields())
{
    if (field.isAnnotationPresent(MyAnnotation.class))
        {
              //do action
        }
}
Run Code Online (Sandbox Code Playgroud)

但似乎我的块执行操作永远不会执行,并且字段没有注释,因为以下代码返回0.

TestObject.class.getDeclaredField("outlook").getAnnotations().length;
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我并告诉我我做错了什么吗?

java reflection annotations

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

使用Apache POI创建Excel图表

我需要从我的Java代码创建excel表,其中包含使用Apache POI库的条形图,折线图等图表.可能吗?我无法找到相同的任何有用的代码示例.

除了Java的POI库之外,还有其他替代方法吗?

java apache excel charts apache-poi

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

是否可以导入两个相同包装的罐子?

我正在将项目从Java 8迁移到Java 11,并且java 9中引入的模块化让我头疼.情侣罐有相同的包,但不同的类.这给了我错误

module SomeModule reads package my.package from both ModuleA and ModuleB
Run Code Online (Sandbox Code Playgroud)

我想知道如何处理这样的情况,因为并非所有的罐子都在我的控制之下,重构不是解决方案.

java java-9 java-module java-11

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

如何在GWT中丢失焦点事件

我有一个TextBox,并且我希望在内容之后做一些内容会失去焦点.
在旧版本的GWT我可以使用FocusListener(它有方法onFocusonLostFocus).但是t被弃用并被替换为FocusHandler.
FocusHandler可以处理丢失的焦点事件?以及如何将它们与onFocus区分开来?

gwt

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

UiBinder中的通用小部件

我刚创建了widget:

public class myWidget<T> extends FlowPanel {
private T value;

public T getValue()
{
    return value;
}

public myWidget(T[] values) {
    for (T value : values)
    {
        //do action
    }
}
Run Code Online (Sandbox Code Playgroud)

如何使用UiBinder添加它?有可能吗?

gwt uibinder

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

遮蔽静态方法

我正在阅读有关静态方法的阴影,但我不明白一件事,即编译器如何选择要运行的方法。假设我有3个班级。

public static class A {
        public static int test() {
            return 1;
        }
    }

    public static class B extends A {
        public static int test() {
            return 2;
        }
    }

    public static class C extends B {
        public static int test() {
            return 3;
        }
    }
Run Code Online (Sandbox Code Playgroud)

显然,当我调用方法时,A.test() B.test() C.test()我会得到结果1 2 3

但是,如果我从实例中调用它(我知道是不好的做法),那么当此代码时:

C c = new C();
System.out.println(c.test());
Run Code Online (Sandbox Code Playgroud)

会按照我的预期打印3,但是当我这样做时

B b = c;
System.out.println(b.test());
Run Code Online (Sandbox Code Playgroud)

那么我的输出将为2。这对于我来说是令人惊讶的,因为它b被实例化为class的对象C。为何以这种方式实施?

java static

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

java.lang.RuntimeException:无法启动活动ComponentInfo

我知道这个错误在论坛上出现了数百万次,但请帮助我找到我错过的内容.我正在尝试做简单的面向标签的应用程序,我没有太多(除了错误)

1)我的主要活动是基于我发现的tablayout教程

public class MainTabPanel extends TabActivity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainlayout);
        Resources res = getResources();
        TabHost tabHost = getTabHost();
        TabHost.TabSpec spec;
        Intent intent;
        intent = new Intent().setClass(this, MyBookActivity.class);
        spec = tabHost.newTabSpec("main")
                .setIndicator("Main", res.getDrawable(R.drawable.ic_mybook))
                .setContent(intent);
        tabHost.addTab(spec);
        tabHost.setCurrentTab(0);
    }

}
Run Code Online (Sandbox Code Playgroud)

2)mainlayout.xml

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@android:id/tabhost"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <LinearLayout  
   android:orientation="vertical"  
   android:layout_width="fill_parent"     
   android:layout_height="fill_parent"        
   android:padding="5dp">
 <TabWidget 
  android:id="@android:id/tabs" 
  android:layout_width="fill_parent"
  android:layout_height="wrap_content" />        

  <FrameLayout      
  android:id="@android:id/tabcontent" 
  android:layout_width="fill_parent"   
  android:layout_height="fill_parent"
  android:padding="5dp" />   
 </LinearLayout></TabHost>
Run Code Online (Sandbox Code Playgroud)

3)我的第二个活动基本上是空的,它只是显示当前的日期和时间,在我尝试添加标签面板之前工作

4)我的清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.th.mybook"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk …
Run Code Online (Sandbox Code Playgroud)

android

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

jpa中批量删除的最佳做法是什么

我正在尝试在我的实体中进行批量删除,我认为最好的解决方案就是一起去CriteriaDelete.但是CriteriaDelete没有级联(至少不适合我).

所以似乎只有我要做的解决方案是先选择,然后单独删除每个元素.这对我来说似乎没有错.

有人有更好的想法如何批量删除?它真的更好吗?

如果它有助于我使用eclipselink 2.5.2.

java jpa eclipselink jpa-2.1

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

这个函数的时间复杂度是O(1)吗?

我今天正在审查有关算法的一些旧笔记,这让我思考.

复杂性O(1)意味着函数的执行时间与数据无关.

所以我们假设我们有一个函数来添加数组中的所有元素.

int add(int[] array){
    int sum =0;
    for (int i=0;i<ARRAY_MAX_SIZE;i++){
      sum= sum + (i<array.length?array[i]:0);
    }
    return sum;
}
Run Code Online (Sandbox Code Playgroud)

其中ARRAY_MAX_SIZE是数组的最大可能大小.我知道这段代码效率不高,我不想讨论这个问题.但是+每次调用运算符的时间相同,并且不受数据大小的影响.

这是否意味着此功能的复杂性是O(1)?

algorithm big-o time-complexity

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