小编suy*_*ash的帖子

为什么每次添加新元素时ArrayList的hashCode()都会改变?

根据我的理解ArrayList,默认容量为10,当它超过10时,它将创建一个具有新容量的新对象,依此类推.

因此,出于好奇,我输入下面的程序来检查hashcode()ArrayList对象:

public class TestCoreJava {

    public static void main(String [] args){

        ArrayList al = new ArrayList();

        for(int i=0;i<15;i++){

            al.add("Temp"+i);
            System.out.println("Hashcode for "+i+" element "+al.hashCode());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

根据上面的场景,当我没有设置ArrayList默认的初始容量时将是10.因此,在添加第11个元素时,它将创建一个新对象并增加容量ArrayList.

当我打印ArrayList对象的哈希码时,它hashcode()每次都会给出一个新的哈希码.

以下是o/p:

Hashcode for 0 element 80692955
Hashcode for 1 element -1712792766
Hashcode for 2 element -1476275268
Hashcode for 3 element 1560799875
Hashcode for 4 element 1220848797
Hashcode for 5 element -727700028
Hashcode for 6 element -1003171458 …
Run Code Online (Sandbox Code Playgroud)

java collections arraylist hashcode

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

Liferay性能问题

从6.1迁移后,我们正面临着liferay 6.2的性能问题.

几乎所有我们的自定义以及liferay的插件portlet都在响应very slow for non admin users.

我们观察到权限检查似乎需要花费大量时间.以下查询被打了这么多次......

 (
    SELECT DISTINCT Group_.groupId AS groupId
    ,REPLACE(Group_.NAME, ' LFR_ORGANIZATION', '') AS groupName
    ,Group_.type_ AS groupType
    ,Group_.friendlyURL AS groupFriendlyURL
    FROM Group_
    INNER JOIN Users_Groups ON (Users_Groups.groupId = Group_.groupId)
    WHERE (Group_.liveGroupId = 0)
    AND (Group_.active_ = 1)
    AND (Group_.liveGroupId = 0)
    AND (Users_Groups.userId = 3391488)
    AND (Group_.companyId = 10132)
    AND (
    Group_.classNameId = 10012
    OR Group_.classNameId = 10024
    )
    AND (Group_.parentGroupId != - 1)
    AND (Group_.liveGroupId = 0)
    AND (Group_.NAME != …
Run Code Online (Sandbox Code Playgroud)

performance liferay liferay-6

8
推荐指数
0
解决办法
1503
查看次数

Instagram max_id无法正常工作

我们一直在使用以下端点来获取Instagram Feed

https://www.instagram.com/saintgobaingroup/?__a=1&max_id=

稍后,对于进一步的提要,我们使用填充max_id参数和最后一个条目的id.它工作正常,但现在Instagram的终点似乎已经改变了响应格式.我们能够更新代码片段以匹配响应.但是max_id参数似乎现在不起作用.

即使我们有超过400条记录,我们也会获得相同的12条记录.我们正在更新max_id参数,就像我们之前做的那样.但我们无法获得更多记录,只有12条记录被重复.

有什么想法吗?

注意:截至目前,我们并未专注于使用Instagram API.我们希望用终点来完成它?__a=1

instagram instagram-api

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

在Liferay中设置虚拟主机的优缺点是什么?

我正在使用多个域来访问liferay门户实例.

例如,以下是在Windows的hosts文件中映射的域:

  1. www.liferaytest1.com
  2. www.liferaytest2.com

并且在Liferay的Control Panel→中Portal Settings,www.liferaytest1.com被设置为虚拟主机.

我可以访问所有上述域名的门户网站实例localhost.

当我访问门户网站时,www.liferaytest1.com我可以Guest直接访问网站页面.比如说,homeGuest站点中的页面,而不是访问,www.liferatest1.com/web/guest/home我可以直接访问它www.liferaytest1.com/home

因此URL在某种程度上缩短了.
到现在为止还挺好.

首先关注

现在,当我尝试访问门户网站时www.liferaytest2.com,当我点击My SitesLiferay的portlet中列出的任何网站时,它会将我重定向到该网站,其中包含虚拟主机中提到的域名,www.liferaytest1.com而不是保留www.liferaytest2.com.

假设我有一个名为的网站Help,所以当我点击My Sitesportlet中的帮助网站链接时,不是留在www.liferaytest2.com域中,而是重定向www.liferaytest1.com域名.

这是因为在liferay中完成了虚拟主机映射.

第二个问题

当我访问门户网站www.liferaytest2.com并订阅任何资产时,电子邮件中的链接包含虚拟主机域即ie www.liferaytest1.com.


如何克服上述问题?

我的要求是保持相对于门户网站访问域.
当我访问门户网站时,www.liferaytest2.com它不应该重定向我www.liferaytest1.com点击任何网站链接,如上所述,而且我将获得的电子邮件也应该是相对于我正在访问的域名,即www.liferaytest2.com.

liferay liferay-6

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

如何在创建时动态地为网站页面分配权限

在Liferay中添加网站页面时,会VIEW自动为Owner角色,Guest角色和Site Member角色分配权限.

是否可以在VIEW创建页面时动态地将权限分配给自定义角色,而不是VIEW从站点页面的"管理权限"选项卡手动分配权限?

liferay liferay-6

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

添加站点页面时,自动从访客角色中删除VIEW权限

在Liferay中,当页面添加到站点时,它默认授予VIEWGuest角色的权限.

站点页面的权限窗口

是否有任何方法(通过配置或通过挂钩或其他方式)禁用此功能,以便VIEW在将新页面添加到站点时默认情况下为Guest角色禁用权限?

configuration administration liferay liferay-6

3
推荐指数
2
解决办法
3591
查看次数

如何在liferay中为Custom实体创建listerners?

我创建了自定义实体员工.现在我想为这个实体添加监听器,以便我可以跟踪添加/编辑/删除员工操作.

在Liferay中,对于像Blogs,Group,User等的门户网站,我们可以添加类似的属性

value.object.listener.com.liferay.portal.model.Group=com.smb.test.hook.listeners.GroupListener
Run Code Online (Sandbox Code Playgroud)

portal.propertiesvia hook-plugin中.

但对于自定义实体,这种方法似乎不起作用.

任何帮助,将不胜感激.

hook liferay liferay-6

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