我正在尝试从一个单独的线程监视AWT事件调度线程(EDT)运行状况.如果我开始丢失心跳,我想转储EDT堆栈跟踪.问题是EventQueue没有公开检索当前调度线程的方法,该方法是包私有(可能有充分理由).因此,我可以搜索所有线程并查找名称类似于AWT-EventQueue-X的线程,或者使用invokeLater或invokeAndWait并让我的runnable保存线程,例如:
EventQueue.invokeLater(new Runnable() {
public void run() {
eventDispatchThread = Thread.currentThread();
}
});
Run Code Online (Sandbox Code Playgroud)
然后,每次我去转储线程堆栈时,我必须首先确保我得到的EDT仍然存活,如果没有再次完成整个过程来获取线程.我只是想找一个更干净的方法来做这件事.
所以我在容器类中有div.如何将div居中,以便根据div的宽度正确地向两侧添加空白空间?
<body>
<div class="container">
... other stuff ...
<div>center me</div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud) 可能重复:
用于电话号码验证的全面正则表达式
我有一个未格式化的电话号码(保证是10位数)和未格式化的扩展名(可以是空,空白或任意数量的数字).我需要将它们组合成一个"友好"的字符串.我以为我会连接它们,然后使用Regex.Replace格式化连接.这是我插入之前用来尝试各种正则表达式的单元测试:
[Test, Ignore("Sandbox, does not test production code")]
public void TestPhoneRegex()
{
string number = "1234567890";
string extension = "";
var formattedContactNumber =
Regex.Replace("{0} x{1}".FormatWith(number, extension),
@"^(\d{3})[ -]?(\d{3})[ -]?(\d{4})( x\d+)?",
@"$1-$2-$3$4");
Debug.WriteLine("{0} x{1}".FormatWith(number, extension));
Debug.WriteLine(formattedContactNumber);
Assert.AreEqual("123-456-7890", formattedContactNumber);
}
Run Code Online (Sandbox Code Playgroud)
预期的格式化字符串是格式化的电话号码,没有"x"和扩展名.但是,最后一个捕获组匹配"x"后面有或没有数字,所以代替"123-456-7890"我得到"123-456-7890 x".这是在发布之前需要关联的最后一点开发.救命?
我有一个隐藏的div嵌套在一个更大的div中,并设置它,所以当你鼠标悬停在较大的div上时,隐藏的div向下滑动.在mouseout上,div滑回.问题是,当鼠标越过较小的div时,它会尝试将其滑回,因为mouseout事件已被触发.如何防止div再次隐藏,直到鼠标都没有div?
HTML:
<div id="topbarVis" class="col1 spanall height1 wrapper">
<div id="topbar"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
(额外的类是模块化CSS系统的一部分,并定义#topbarVis的宽度和高度等
CSS:
#topbar {
width: 100%;
height: 30px;
margin-top: -25px;
background-color: #000;
}
Run Code Online (Sandbox Code Playgroud)
JS:
// On Mouseover -> Show
$("#topbarVis").mouseover(function(){
$("#topbar").animate({marginTop:0}, 300);
});
// On Mouseout -> Hide
$("#topbarVis").mouseout(function(){
$("#topbar").animate({marginTop:-25}, 300);
});
Run Code Online (Sandbox Code Playgroud) 我使用以下内容生成一个近似随机数.
3> erlang:ref_to_list(make_ref()).
"#Ref<0.0.0.36>"
Run Code Online (Sandbox Code Playgroud)
我想要的是00036
嗯,这是我之前通知我可以做的事情.在我看来,从make ref中提取数字并不容易.
任何人都可以展示如何轻松完成,或者可能推荐另一种解决方案.
请记住,使用random:seed()在相同的几纳秒内调用时不是随机的.
问候
假设我的字典需要由ItemId和RegionId的组合键入,两者都是int.并且说值侧的类型是"数据".我可以通过以下两种方式做到这一点:
方式1:多级字典,如下所示:
Dictionary<int, Dictionary<int, Data>> myData;
Run Code Online (Sandbox Code Playgroud)
所以查找可以像这样编码:
Data data1 = myData[itemId][regionId];
Run Code Online (Sandbox Code Playgroud)
不错,但缺点是我需要在第一级检查密钥存在,因此代码更安全
Data data1 = null;
if (myData.ContainsKey(itemId)) data1 = myData[itemId][regionId];
Run Code Online (Sandbox Code Playgroud)
方式2:使用多部分密钥.在这种方法中,我将创建一个表示部件的结构,并使用结构作为字典键:
private struct MultiPartKey
{
public int ItemId;
public int RegionId;
}
Dictionary<MultiPartKey, Data> myData;
Run Code Online (Sandbox Code Playgroud)
并且查找将是:
MultiPartKey mpk;
mpk.ItemId = itemId;
mpk.RegionId = regionId;
Data data1 = myData[mpk];
Run Code Online (Sandbox Code Playgroud)
这里可能的缺点是它只有在我的struct完全由简单值类型组成时才有效,因此两个实例的按位比较将是相等的.(对?)
你怎么看?
我正在使用Python和PyGame编写游戏.(这是在作业中进行的,因此建议另一个具有内置级别解析的游戏开发库是没有用的)
我现在处于游戏物理等完成的阶段,但我还没有找到一种方法来保存和加载游戏中的关卡.以下是我到目前为止所考虑的内容:
所有我正在寻找的是实现这一目标的最佳方法的建议.
TL; DR - 将文件中的游戏关卡解析为Python/PyGame的最佳方法.
我有一些非常恼人的问题UILocalNotification.
在完成我几乎完成的应用程序时,我注意到无论我尝试了什么,我都无法获得本地通知.
所以我没有浪费时间,而是决定回到基础,看看我是否可以让他们工作.
我创建了一个新的基于XCode视图的应用程序,并替换-viewDidLoad为:
- (void)viewDidLoad
{
UILocalNotification * theNotification = [[UILocalNotification alloc] init];
theNotification.alertBody = @"Alert text";
theNotification.alertAction = @"Ok";
theNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
[[UIApplication sharedApplication] scheduleLocalNotification:theNotification];
}
Run Code Online (Sandbox Code Playgroud)
但是,这也没有做任何事情.
我希望在启动应用程序10秒后看到通知,但什么都没有出现.
另外,我在iPhone和模拟器上测试了这个.
我错过了一些非常关键的东西吗?(我搜索了Apple文档,找不到任何关于为什么会发生这种情况的信息)
谢谢
我感兴趣的是如何拍音符(例如A,B,C#等)或和弦(同时多个音符)并将它们写入wav文件.
根据我的理解,每个音符都有一个与之相关的特定频率(对于完美的音高) - 例如A4(中间C以上的A)是440 Hz(完整列表本页下方的2/3 ).
如果我的理解是正确的,那么这个音调是在频域中,所以需要应用它的逆快速傅立叶变换来生成时域等价物吗?
我想知道的是:
谢谢你提供的所有帮助.如果给出代码示例,我使用的是C#,我目前用来创建wav文件的代码如下:
int channels = 1;
int bitsPerSample = 8;
//WaveFile is custom class to create a wav file.
WaveFile file = new WaveFile(channels, bitsPerSample, 11025);
int seconds = 60;
int samples = 11025 * seconds; //Create x seconds of audio
// Sound Data Size = Number Of Channels * Bits Per Sample * Samples
byte[] data = new byte[channels * bitsPerSample/8 * samples];
//Creates a Constant …Run Code Online (Sandbox Code Playgroud) 我想知道是否有人知道教程或如何使用表单将标记添加到谷歌地图.我希望一个人能够从表单中选择一些东西,然后单击"提交"并让它刷新地图上的标记.我假设地图必须在iframe或其他东西,但我不知道如何做这样的标记.一切都会有所帮助