小编Shr*_*ari的帖子

Spring bean范围:session和globalSession

Spring框架中session和globalSession有什么区别?

<bean id="exampleBean" class="com.test.baen.ExampleBean" scope="session"/>
<bean id="exampleBean" class="com.test.baen.ExampleBean" scope="globalSession"/>
Run Code Online (Sandbox Code Playgroud)

根据我的研究,两者在Web感知Spring ApplicationContext的上下文中都是有效的.

现在,会话bean作用域将一直保留到用户会话,但是globalSession bean作用域在整个应用程序中是否可用?

是申请范围吗?

我无法理解术语"全局HTTP会话"; 它将在整个全球HTTP会话中可用吗?

java spring spring-mvc spring-ioc

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

将Map <String,Object>转换为Map <String,String>

我怎样才能转换 Map<String,Object>Map<String,String>

这不起作用:

Map<String,Object> map = new HashMap<String,Object>(); //Object is containing String
Map<String,String> newMap =new HashMap<String,String>(map);
Run Code Online (Sandbox Code Playgroud)

java syntax map type-conversion

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

Java常量示例(创建只有常量的java文件)

声明只有常量的java文件的最佳做法是什么?

public interface DeclareConstants
{
    String constant = "Test";
}
Run Code Online (Sandbox Code Playgroud)

要么

public abstract class DeclareConstants
{
    public static final String constant = "Test";
}
Run Code Online (Sandbox Code Playgroud)

java constants

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

Java中String的hashCode()方法背后的内容是什么?

我一直在调查hashCode()java中的方法,并发现String类奇怪的一个.源代码如下:

public int hashCode() {
    int h = hash;
    if (h == 0 && value.length > 0) {
        char val[] = value;

        for (int i = 0; i < value.length; i++) {
            h = 31 * h + val[i];
        }
        hash = h;
    }
    return h;
}
Run Code Online (Sandbox Code Playgroud)

代码本身非常简单.但我想知道以这种方式计算哈希码的原因是什么?
为什么选择31?
为什么从0开始而不是value.length - 1?
是否保证这会使哈希码更不可能相互冲突?

java hashcode

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

Java常量变量,命名约定

java常量变量是否有任何命名约定?
通常我们使用名称包含大写字母和下划线(_)的变量.

例如:

public final class DeclareConstant {

    public static final String CONSTANT_STRING = "some constant";

    public static final int CONSTANT_INTEGER = 5;

}
Run Code Online (Sandbox Code Playgroud)

java variables constants

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

实用工具类 - 正确的方法是什么?

具有公共静态的所有方法的实用程序类的正确方法是什么.
我应该使用最终类还是抽象类?
请给出建议.
例如:

public final class A{ 
    public static void method(){
        /* ... */
    }
}
Run Code Online (Sandbox Code Playgroud)

要么

public abstract class A{
    public static void method(){
        /* ... */
    }
}
Run Code Online (Sandbox Code Playgroud)

java class

11
推荐指数
2
解决办法
9602
查看次数

django或yii用于使用db和自定义表单和报告构建生产Web应用程序

我正在尝试在django和yii之间进行选择,以获得具有数据库(最好是mysql)后端的可扩展,可维护的企业级Web应用程序.该应用主要侧重于数据输入,但具有自定义工作流程(超出您的基本自动生成的crud表单)和自定义报告.我有CS背景,熟悉MVC,c ++编程背景,C#.8年前使用php,mysql,perl/cgi构建了一个类似的应用程序,并记住它很痛苦(从头开始做陡峭的学习曲线).需要再次学习python或php语法,但我很快就会学习语言.在线阅读关于django vs yii的广泛内容.由于需要开源,无法使用.net mvc路由.涉及RoR,喜欢这种语言但我对发生的魔法不太满意,特别是对于生产级别的应用程序.或许在将来.所以回到Django vs yii -

决策因素是:
1)更容易学习曲线
2)更适合我需要的特定任务的框架 - 重型数据库操作,自定义UI流程(没有太多gfx密集型,只是常规表单元素,但我需要通过多个表操作数据)加入等)
3)没有令人讨厌的意外与db连接(读取但不完全理解所有与django orm和mysql的陷阱).
4)我不打算基本事物的框架/语言的东西
5)可扩展和快速运行时间(我知道很多取决于一个架构师的解决方案)

请指教.寻求熟悉在两个框架中工作的人的帮助.非常感谢

django yii

11
推荐指数
4
解决办法
7314
查看次数

JAVA接口中实例变量的公共静态最终声明

为什么我们public static final在Java接口中使用实例变量的声明?
所有变量都隐含public static final在Java接口中.在常量变量中
使用public static final它是一种很好的编码实践,尽管它是在接口内声明的.

例如 :

public interface TestInterface{

public static final String EX_CONSTANT = "ABC";
public static final int EX_INT_CONSTANT = 5;
public static final double EX_DOUBLE = 5.0;
public static final Integer EX_INTEGER = 10;

}
Run Code Online (Sandbox Code Playgroud)

java interface

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

在JAAS中使用私人和公共凭证

在采访中,面试官问我为什么需要私人证件JAAS
我们可以访问公共凭据和私人凭据,例如:

Set<Object> privateCredentials = subject.getPrivateCredentials();
Set<Object> publicCredentials = subject.getPublicCredentials();
Run Code Online (Sandbox Code Playgroud)

两者(privateCredentialspublicCredentials)都是可访问的,访问方式是相同的.
那么,两种凭证的重要性是什么?

java jaas

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

为什么必须在枚举类型中的任何其他变量和方法声明之前声明枚举常量?

如果我在以这种方式声明枚举常量之前或之前声明变量:

enum MyEnum
{
    int i = 90;
}
Run Code Online (Sandbox Code Playgroud)

它显示以下编译错误.

MyEnum.java:3: <identifier> expected
{
 ^
MyEnum.java:4: ',', '}', or ';' expected
        int i = 90;
        ^
MyEnum.java:4: '}' expected
        int i = 90;
             ^
MyEnum.java:5: class, interface, or enum expected
}
^
4 errors
Run Code Online (Sandbox Code Playgroud)

但是如果我在声明之前宣布一个枚举常量,i那么它编译得很好.
即使以下代码将编译正常:

enum MyEnum
{
    ;//put a semicolon
    int i = 90;
}
Run Code Online (Sandbox Code Playgroud)

为什么java enum是这样设计的?

java syntax enums

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