我希望能够在对象运行初始化程序之前在运行时实现一个方法.这将允许我设置初始化期间使用的字段.
这是一个例子:
class A {
public A() {
initialize();
}
public void initialize() { }
}
class B extends A {
public String message;
{
System.out.println(message);
}
}
public class MainClass {
public static void main(final String[] args) throws Exception {
Class<A> aClass = (Class<A>)Class.forName(args[0]);
// what's next in order to something like this even though
// I don't know what subclass of A was passed in as an
// argument above
A a = aClass.newInstance()
{
public void initialize() …Run Code Online (Sandbox Code Playgroud) 最终目标是处理视频的RGB数据.
我试图读取我使用ffmpeg创建的文件的字节.
ffmpeg -video_size 100x100 -framerate 20 -f x11grab -i :0.0 \
-c:v rawvideo -pix_fmt rgb24 -video.nut
Run Code Online (Sandbox Code Playgroud)
我写了一个节点脚本,以便在需要时更容易读取二进制数据.我当前文件的输出是:
Hex Binary Row
47 01000111 0
40 01000000 1
11 00010001 2
10 00010000 3
03 00000011 4
00 00000000 5
00 00000000 6
00 00000000 7
68 01101000 8
Run Code Online (Sandbox Code Playgroud)
我看到了.nut的规格,但我无法弄明白.我希望能够解析每帧的RGB数据,以便为视频流中的每个"图像"留下RGB矩阵.谢谢!
我找不到任何有关Erlang docs背压的信息.如果你能指出一些文档,或者详细说明它是什么,那将会有所帮助.我看过维基百科的Back压力输入,但我并不是百分之百确定这与Erlang有什么关系.谢谢.
在 postgres 中,我想在插入每行时动态向所有表添加一个触发器。我希望能够为所有将来添加的表添加触发器,而不需要数据库用户执行其他操作来创建表(例如调用函数来创建表而不是使用语法CREATE TABLE)。为此,我认为添加触发器是最简单的pg_class,但是当我这样做时,我收到错误:
ERROR: permission denied: "pg_class" is a system catalog
这是我的代码
> docker run --name pg -e POSTGRES_PASSWORD=password postgres:13
> docker exec -ti pg psql -Upostgres
# then run this...
CREATE FUNCTION my_func() RETURNS trigger AS $$
BEGIN
RAISE NOTICE 'This is a test';
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER my_pg_trigger
AFTER INSERT ON pg_catalog.pg_class
FOR EACH ROW
WHEN (NEW.relkind = 'r')
EXECUTE FUNCTION my_func();
Run Code Online (Sandbox Code Playgroud)
我在文档中没有看到任何内容表明您无法添加触发器。我发现文档说它们是“常规表”,但是编辑它们可能会严重搞乱事情: https: //www.postgresql.org/docs/13/catalogs.html。但是没有任何关于权限或限制的内容。
PostgreSQL 的系统目录是常规表。您可以删除并重新创建表、添加列、插入和更新值,并以这种方式严重扰乱您的系统。
如果这是不可能的,您能否指出有关此内容的文档以帮助我理解?更好的是,让我知道是否还有其他方法可以动态地将触发器添加到表中?