我想使用CSS在中心对齐标签/值对,而不使用绝对定位或表格(参见屏幕截图).在那个屏幕截图中,我将价值(即4,500美元/周)绝对定位,然后将标签直接放在它上面.但绝对不能在IE中运行得那么好,我听说它不是一个好技术.
但是,如果没有绝对正确的标签,我怎么能实现这种效果呢?
我向xml Web服务发出请求,并获得响应.然后将此响应(作为流)保存为字符串.问题是,响应中充满了标签,CDATA等(正如您所期望的那样).正如预期的那样,也没有线路突破.
我想取这个表示xml文档的字符串,并删除它的所有标记,但保留实际值,并确保每条记录都在一行中,所以:
<Record>
<name>adam</name>
<telephoneno>000</telephonenumber>
</Record>
<Record>
<name>mike</name>
<telephoneno>001</telephonenumber>
</Record>
Run Code Online (Sandbox Code Playgroud)
将转变为:
adam 000
mike 001
Run Code Online (Sandbox Code Playgroud)
标题是一个简单的问题,但我怎么能实现这一目标?我已经尝试了数据表和数据集,但我不认为他们对实现我想要做的事情有很大的支持.
在阅读了这篇测量几种对象类型的内存消耗的旧文章后,我惊讶地发现String
在Java中使用了多少内存:
length: 0, {class java.lang.String} size = 40 bytes
length: 7, {class java.lang.String} size = 56 bytes
Run Code Online (Sandbox Code Playgroud)
虽然文章有一些提示,以尽量减少这种情况,但我发现它们并不完全令人满意.char[]
用于存储数据似乎是浪费的.大多数西方语言的明显改进是使用byte[]
和编码类似UTF-8,因为你只需要一个字节来存储最频繁的字符,而不是两个字节.
当然可以使用String.getBytes("UTF-8")
和new String(bytes, "UTF-8")
.甚至String实例本身的开销也会消失.但后来有你失去像非常方便的方法equals()
,hashCode()
,length()
,...
Sun有一个专利的byte[]
字符串表示,据我可以告诉.
用于在Java编程环境中高效表示字符串对象的框架
......可以实现这些技术,以便在适当时将Java字符串对象创建为单字节字符的数组...
但是我找不到该专利的API.
我为什么在意?
在大多数情况下,我没有.但我使用包含大量字符串的巨大缓存来处理应用程序,这些字符串可以从更有效地使用内存中受益.
有人知道这样的API吗?或者是否有另一种方法可以保持Strings的内存占用空间小,即使以CPU性能或更丑陋的API为代价?
请不要重复上述文章中的建议:
String.intern()
(可能与SoftReferences
)char[]
并利用当前String.subString(.)
实现来避免数据复制(讨厌)更新
我从Sun目前的JVM(1.6.0_10)上的文章中运行了代码.它产生了与2002年相同的结果.
在单击"保存"按钮之前,我有一个页面,其中几个文本框不能为空.
<TextBox...
<TextBox.Text>
<Binding Path ="LastName" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<local:StringRequiredValidationRule />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
Run Code Online (Sandbox Code Playgroud)
我的规则有效.我的文本框周围有一个红色边框,直到我输入一个值.所以现在我想将此验证规则添加到我的其他文本框中.
现在,如何在页面没有错误之前禁用"保存"按钮?我不知道要检查什么是否有任何验证错误.
是否有任何库函数用于此目的,所以我不手动完成并冒险以TDWTF结束?
echo ceil(31497230840470473074370324734723042.6);
// Expected result
31497230840470473074370324734723043
// Prints
<garbage>
Run Code Online (Sandbox Code Playgroud) 我想使用fwrite将一个默认结构N次写入文件.
typedef struct foo_s {
uint32 A;
uint32 B;
char desc[100];
}foo_t;
void init_file(FILE *fp, int N)
{
foo_t foo_struct = {0};
foo_struct.A = -1;
foo_struct.B = 1;
fwrite(&foo_struct, sizeof(foo_struct), N, fp); }
Run Code Online (Sandbox Code Playgroud)
上面的代码没有将foo_struct写入文件流fp N次.
相反,它将从&foo_struct开始的N*sizeof(foo_struct)字节写入fp.
任何人都可以告诉如何用一个fwrite实现相同的目标吗?
在atexit()函数中释放内存有什么意义吗?
我有一个全局变量,在启动后获得malloc.我可以编写一个atexit()函数来释放它,但是当程序退出时系统是否会回收所有内存?
整洁和积极清理自己有什么好处吗?
我想要一个使用UInt16(ushort)循环遍历其所有值的循环.但是,这不会这样做:
for( ushort i = 0; i < UInt16.MaxValue; i++ )
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
问题是,当i == 0xFFFF而不是"做某事"时,循环将退出.如果我将'for'语句更改为"for(ushort i = 0; i <= UInt16.MaxValue; i ++)",那么它将变为无限循环,因为我永远不会达到0x10000因为ushorts只转到0xFFFF.
我可以使'i'成为一个int并将其转换为或者将其分配给循环中的ushort变量.
有什么建议?
作为对口C++编码指南102,它的萨特和Alexandrescu的101个指引你违反或忽视最常用的,为什么?
我记得在某一点上读取索引具有低基数(少量不同值)的字段并不值得做.我承认我对索引如何理解为什么不够了解.
那么,如果我有一个包含1亿行的表,并且我选择位字段为1的记录呢?让我们说在任何时间点,只有少数记录位字段为1(而不是0).是否值得索引该位字段?为什么?
当然我可以测试它并检查执行计划,我会这样做,但我也很好奇它背后的理论.什么时候基数很重要,什么时候不重要?
c ×2
c# ×2
memory ×2
atexit ×1
bcmath ×1
c++ ×1
coding-style ×1
css ×1
for-loop ×1
free ×1
indexing ×1
java ×1
largenumber ×1
loops ×1
optimization ×1
performance ×1
php ×1
regex ×1
sql-server ×1
string ×1
styling ×1
validation ×1
wpf ×1