同一网络上有两个 ubuntu 服务器。执行命令ssh -L 3306:localhost:3306 server从服务器转发mysql端口时,没有转发,而是ssh连接到服务器。怎么了?
NaN's questions
在 IDEA 中,通过Project Structure > Modules > Dependencies添加了com.google.code.gson:gson:2.8.6 library。创建对象时 ( new GsonBuilder()) 我得到java.lang.NoClassDefFoundError: com/google/gson/GsonBuilder. 可能是什么原因?
有一个实体Book有一个方法isValid。
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "books")
public class Book implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(length = 50, nullable = false)
private String title;
@Column(length = 50, nullable = false)
private String author;
@Column(length = 50, nullable = false)
private String genre;
@Column(nullable = false)
private String description;
@Column
private int available;
public static boolean isValidate(@NotNull Book book) {
return Valids.textIsValid(book.title);
}
}
它的名称与表中列的名称相匹配。当控制器使用此方法时,参数(object Book)的字段由于某种原因为空,尽管调试显示内部有某个hibernate interceptor字段,target其中包含所有必要的数据。

相应地使用空字段是不可能的。错误是什么,如何纠正?提前致谢。
使用 BufferedStream 而不是常规的 IOStream 总是更好吗?在什么情况下最好不要使用 Buffered?
如果线程是本地创建的,是否需要在方法结束时关闭它?
public void method() {
FileInputStream fis = new FileInputStream("input.txt");
...
fis.close(); //Необходимо ли это?
}
双冒号操作称为范围解析操作。当我们编写时::func()(运算符左侧没有任何内容),我们是否限定了全局命名空间的范围?做什么的?
我注意到如果你创建一个匿名参数,编译器不会发誓。
例如
void func(int) { return; }
不会造成任何问题。
我只是在互联网上找不到任何关于它的信息。也许我找错地方了。为什么是它以及如何吃它?或者我在哪里可以读到它?提前致谢
当为特定类型特化模板时,泛型类与 bang 一起使用,使用与泛型相同的方法定义的特化在使用此方法时会引发未解决的外部符号错误。那些。有一堂课
template <typename CMD>
class Version
{
public:
Version(ByteVector &byteVector) : byteVector(byteVector) {};
Object<DATA<CMD>> cls_DATA();
Object<USR<CMD>> cls_USR();
Object<AUTH<CMD>> cls_AUTH();
Object<CONN<CMD>> cls_CONN();
private:
ByteVector &byteVector;
};
以及在同一个 .h 文件中实现 cls_AUTH() 方法
template<typename CMD>
inline Object<AUTH<CMD>> Version<CMD>::cls_AUTH()
{
return Object<AUTH<CMD>>(byteVector);
}
同一文件中有一个特化,不同之处在于此版本中只有一种方法可用
template <>
class Version<AOPEN>
{
public:
Version(ByteVector &byteVector) : byteVector(byteVector) {};
Object<AUTH<AOPEN>> cls_AUTH();
private:
ByteVector &byteVector;
};
因此,在专门化中使用此方法时,会出现未解析的外部符号。并且当您尝试第二次定义该方法时,为了特化,第一个错误仍然存在,第二个错误出现 - 不是可以在此方法的专门定义中显式特化的实体。
C++ 中有没有办法在编写代码时限制对类的某些函数的访问?因此在某些 IDE 中,在一种情况下,工具提示中只建议了 f1,而 f2 和 f3 无法使用。在另一种情况下(例如,模板类,在另一种情况下,模板传递了另一种数据类型),所有三个方法都将被“提示”。那些。C++ 是否允许重载特定的类模板
template <typename T>
class Test
{
public:
void f1();
void f2();
void f3();
}
因此,例如,在编写代码时
Test<int>().
IDE 在工具提示中提供了所有三种方法,但是当
Test<double>().
只有f1是开放的吗?防止 f2 和 f3 出现在工具提示中。也许有一种方法可以在不使用模板的情况下解决?