对于用Java 7编写的新应用程序,是否有任何理由再次使用java.io.File对象或者我们是否可以认为它已被弃用?
我相信一个人java.nio.file.Path可以做一切可以做的事情java.io.File.
我有工作要做,我需要你的帮助.我们想要实现一个FSM - Finite State Machine,以识别char序列(如:A,B,C,A,C),并告诉它是否被接受.
我们认为,实行三类:State,Event和Machine.该state班提出的一个节点FSM,我们认为有实现它State design pattern,每个节点将抽象类扩展状态和每一个类可以处理不同类型的事件,并指示过渡到一个新的状态.你认为这是个好主意吗?
第二件事,我们不知道如何保存所有过渡.我们再一次考虑用某种方式来实现它,它具有map起点并且在下一个状态下获得某种向量,但我不确定这是一个好主意.
我很乐意得到一些如何实现它的想法,或者你可以给我一些起点.
我应该如何保存FSM,这意味着我应该如何在程序开始时构建树?我用Google搜索并找到了很多例子但没有任何帮助我的东西.
非常感谢.
对于不更改实例状态的函数,该方法的javadoc注释通常与Java-API中@ return-tag的注释相同或非常相似.
boolean Collection.isEmpty()
现在我正在为许多简单的方法编写javadoc,比如getExpression(),我遇到同样的问题.我应该像在API中那样做还是把它留下来?
我已经搜索了很多,但没有得到任何有用的结果.
我目前正在尝试为Windows 8 Metro编写简单的DirextX游戏,并且遇到了_In_相当多的问题.我只是想知道它是什么.
此外,我已经看到很多使用^作为*我发现奇怪的指针.最重要的是,一些类有一个接口ref class MyClass,我相信它是C#易读性.
无论如何,任何帮助都会很棒.
引用此博文:
http://www.codesynthesis.com/~boris/blog/2008/10/13/writing-64-bit-safe-code/
这是有效的,因为有效的内存索引只能在[0,~size_t(0)-1]范围内.例如,在std :: string中使用相同的方法.
那么为什么~size_t(0)(这通常应该0xFFFFFFFF在32位系统中相等)不是有效的数组索引?我假设如果你有32位你应该能够引用整个范围[0,0xFFFFFFFF],不是吗?
我正在编写一个跨平台的应用程序,它创建临时文件并将这些文件复制到另一个位置,每个人都需要这些文件.(默认情况下,只有所有者对临时文件具有读访问权.)我尝试使用POSIX文件权限,如下所示:
FileAttribute<Set<PosixFilePermission>> attrs =
PosixFilePermissions.asFileAttribute(PosixFilePermissions.fromString("rw-r--r--"));
Path temp = Files.createTempFile(null, ".tmp", attrs);
Run Code Online (Sandbox Code Playgroud)
但这会导致非POSIX平台出现异常:
java.lang.UnsupportedOperationException: 'posix:permissions' not supported as initial attribute
Run Code Online (Sandbox Code Playgroud)
我想添加一个简单的检查,以便我可以在必要时使用文件权限,而不会破坏与其他平台的兼容性.
我想使用ImageView.setImageMatrix(矩阵)旋转图像,但它根本没有任何效果.我叫做matrix.postRotate(45,20,20); 在将其传递给上述函数但没有效果之前,图像不会旋转.为什么?
matrix.postRotate(45, 20, 20);
ImageView.setImageMatrix(matrix)
Run Code Online (Sandbox Code Playgroud) 假设有两个没有同步的线程,一个设置n = 1另一个执行method().
在下面的"读取"中总是指读取字段n.
public class MyClass
{
public int n = 0;
public void method() {
System.out.println(n); //read 1
System.out.println(n); //read 2
}
}
Run Code Online (Sandbox Code Playgroud)
以下输出是否可行?
1
0
Run Code Online (Sandbox Code Playgroud)
答案是肯定的,因为即使读取1发生在读取2之前,仍然可以在读取1之前重新排序读取2,因为它不会改变线程内执行的语义.
这个推理是否正确?
在我的一类中,我有以下代码:
mHandler = createHandler();
private Handler createHandler() {
return new Handler() {
public void handleMessage (Message msg) {
update();
if (!paused) {
sendEmptyMessageDelayed(0, 300);
}
}
};
}
Run Code Online (Sandbox Code Playgroud)
文件说:
http://developer.android.com/reference/android/os/Handler.html
每个Handler实例都与一个线程和该线程的消息队列相关联
因此,如果我理解正确,只要应用程序线程正在运行,Handler就不会被垃圾收集,这是正确的吗?
在我的具体示例中,由于Handler是一个匿名内部类,因此它具有对封闭Object的隐式引用以及由其指向的对象的整个层次结构.这看起来像是一个内存泄漏的配方.
顺便说一句,我可以让处理程序停止发送消息(这就是为什么我有if (!paused))但这不会使它成为GCed,对吧?
那么有没有办法从消息队列中删除Handler并使其成为GCed?
我正在使用以下按钮样式,它消除了边框并使透明背景形成我的图像按钮:
<Style x:Key="EmptyButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Background" Value="#00000000"/>
<Setter Property="BorderBrush" Value="#00000000"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="1"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<ContentPresenter
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"
RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
样式来自以下答案: 带有圆形图像的WPF按钮
现在的问题是无论实际按钮有多大,可点击区域都被限制在图像中:

我的按钮代码:
<Button Name="n02" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Style="{DynamicResource EmptyButtonStyle}" Canvas.Left="308" Canvas.Top="157" Height="106" Width="120">
<Image Source="boto_face_off.PNG" Height="61" Width="59" />
</Button>
Run Code Online (Sandbox Code Playgroud)
问题:如何使整个按钮区域对点击作出反应?我想让它保持透明,没有现在的边框.