小编Dan*_*ski的帖子

当我对List进行排序时,它的迭代器会发生什么?

假设我有一个List对象和该列表的迭代器.

现在我对列表进行排序 java.util.Collections.sort()

  • 迭代器会发生什么?
  • 它的行为是否仍然定义,是否仍然可以使用?
  • 如果没有,我可以阻止销毁列表的迭代器吗?

我知道,这个问题可以通过改变程序设计来克服,例如克隆列表,但我特别想知道Java的"官方"行为.

java collections concurrency

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

如何构建CSS类?实体或方面?

我想知道什么更适合CSS哲学:

  1. CSS类标记实体 - 或 -
  2. CSS类标记方面

例如,让我们将单元格作为产品价格表和页脚单元格,其中包含所有价格的总和.

在第一种情况下,每个单元格只有一个类:product-priceresp.product-price-sum(或者price,例如,行有一个product类)换句话说:标识事物.

在两种情况下,单元格将具有许多类,这些类定义了产品价格的属性/方面,例如numeric,currency以及sum页脚的附加类.numeric将文本定义为右对齐,sum将单元格标记为粗体.换句话说:描述事物.

我无法确定哪种方法更好.在过去,我使用了两者的混合,这很快导致了一堆丑陋的非结构化CSS类,具有冲突的样式和一些丑陋的!important黑客.

第一种方法显然有一些冗余,因为一个会有很多类(product-*),并且大多数都会共享常见的CSS属性.

第二个问题在于只对一个地方进行不同的格式化时,让我们说产品价格总和.可能有其他地方也分配了完全相同的三个类别,但与产品价格没有任何关系.在这种情况下,必须使用周围的HTML标记以某种方式"寻址"HTML文件中的特定位置.

关于如何处理这个问题,是否有任何经验法则,指南,经验证的概念等?

css

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

HTML表格单元格可以用CSS重新排列吗?

我想知道是否可以仅使用CSS重新排列HTML表格单元格.

例如可以这样

------------------------------------------------
|             A            |    B    |    C    |
------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

显示为:

------------------------------------------------
|    C    |             A            |    B    |
------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

或者甚至是这样的:

-------------------------
|           A           |
-------------------------
|     B     |     C     |
-------------------------
Run Code Online (Sandbox Code Playgroud)

这只能用于CSS还是修改HTML节点?

编辑:有些人想知道为什么这是必要的,所以这是我面临的现实生活中的问题:

我想显示用户报告的问题列表:

------------------------------------------------------------------------------
| Problem description (A) | Reporting user (B) | Link to affected entity (C) |
------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我想评估各种布局.第一个布局变体将强调报告用户,第二个将强调文本描述.

我没有任何问题,在改变结构,事实上,我已经做了,但是当我编写此,我想知道是否有可能用CSS做.(只是纯粹的好奇心)

html css

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

有没有理由不使用"这个"("自我","我",......)?

我读了这个答案及其评论,我很好奇:有没有理由不使用this/ Self/ Me

顺便说一句:如果之前有人询问过,我很抱歉,似乎无法this在SO上搜索这个词.

programming-languages multiple-languages

10
推荐指数
3
解决办法
1562
查看次数

标识符的详细程度如何影响程序员的性能?

我一直在想:是否有任何确凿的事实表明更短或更长的标识符更好?

例:

clrscr()
Run Code Online (Sandbox Code Playgroud)

反对

ClearScreen()
Run Code Online (Sandbox Code Playgroud)

短标识符应该更快阅读,因为字符越少但标识符越长通常更像自然语言,因此阅读速度也应该更快.

是否有其他方面表明简短或冗长的风格?

编辑:只是为了澄清:我没有问:"会什么?在这种情况下做的." 我问理由是偏爱另一个,即这不是民意调查问题.

,如果可以的话,添加一些原因,为什么一个宁愿一个风格比其他.

language-agnostic coding-style

10
推荐指数
9
解决办法
996
查看次数

如何让Inno Setup忽略空目录?

我的Inno安装脚本包含一个目录:

[Files]
...
Source: C:\MyProg\Tools\*.*; Destdir: {app}\Tools
...
Run Code Online (Sandbox Code Playgroud)

但有时这个目录是空的,在这种情况下,Inno Setup会停止并显示错误"No files matching ...".

我目前的解决方法是将空虚拟文件添加到该目录.

如果它是空的,我可以让Inno Setup忽略这个目录吗?

inno-setup

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

这是什么意思:"子进程可以继承句柄"?

根据SDK,有一些Win32对象可以"继承"给定进程创建的子进程.(事件,互斥体,管道......)

这究竟意味着什么?

比方说,我有一个名为事件对象,以创建CreateEvent,一个时间bInheritHandle == true,和其他时间== false.

现在我开始一个子进程.这两个事件句柄如何影响子进程?它们在哪些情况下有所不同?

windows winapi handle

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

将Launch4J配置为仅使用32位JVM

我正在使用Launch4J来启动我的Java应用程序,如果系统上存在x64 JRE,则Launch4J似乎更喜欢它.

不幸的是我的应用程序无法在64位JVM上运行,因为我正在加载32位DLL,这是不可能的,并导致UnsatisfiedLinkError.

有没有办法强制/欺骗Launch4J只使用32位JVM?

java 64-bit launch4j

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

为什么变量在case语句中不是本地的?

我最近在android java应用程序中添加了另一个菜单项,并且很惊讶Eclipse说来自前一个案例的变量:break不是本地的(所以我刚刚添加了一个后缀来获取).

在我看来,我有点困惑,第一组案例:如果选择了第二个选项,就不会执行中断.有人可以解释我的错误思考吗?

        case R.id.menuDebugMode:
            debugMode = !debugMode;
            if (debugMode){
                Toast.makeText(mainActivity.this, "Debug Mode on - NOT TO BE USED WHILST DRIVING", Toast.LENGTH_LONG).show();           
            } else {
                tvDebug.setText("");
                tvInfo.setText("");
            }
            SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
            SharedPreferences.Editor editor = settings.edit();
            editor.putBoolean("debugMode", debugMode);
            editor.commit();
        break;

        case R.id.menuSpeedMode:
            speedSignMode = !speedSignMode;
            if (speedSignMode){
                Toast.makeText(mainActivity.this, "SpeedSign Mode in use", Toast.LENGTH_LONG).show();           

            } else {
                    Toast.makeText(mainActivity.this, "MapSpeed Mode in use", Toast.LENGTH_LONG).show();            
            }
            SharedPreferences settings2 = getSharedPreferences(PREFS_NAME, 0);
            SharedPreferences.Editor editor2 = settings2.edit();
            editor2.putBoolean("speedSignMode", speedSignMode);
            editor2.commit();
        break;`
Run Code Online (Sandbox Code Playgroud)

java

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

MySQL Query是否包含子查询原子?

有两个表:

表1唯一会话

ID    Count 
Run Code Online (Sandbox Code Playgroud)

表2(会议)

ID    Name
Run Code Online (Sandbox Code Playgroud)

我想更新count只有在name会话中不存在才能计算唯一会话,这是一个例子,所以客观不是通过替代方式来做,但问题是:

Rowsaffected = Update table1 
                   set Count = Count + 1 
               where (Select count(*) from table2 where Name = 'user1' ) = 0;

Insert into table2 (NAME) values('user');
Run Code Online (Sandbox Code Playgroud)

首先查询原子查询?如果是,那就没有问题.

如果不是,那么如果有多个线程运行来执行上述操作怎么办?有可能:

线程1:count返回0,它在线程2启动之前更新了表1但没有更新表2.线程2:它找到计数0,它也将更新计数.

现在对于同一个用户,count是2,这不应该发生.

任何建议/反馈.

mysql

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