我知道.so文件是一种动态库(许多线程可以共享这些库,因此不需要在内存中有多个副本).但是.a和之间有什么区别.la?这些都是静态库吗?
如果动态库比静态库有很大的优势,为什么还有很多静态库呢?
我还想知道加载库(两种类型)的基本机制,以及在某个地方使用它时如何调用lib中的一段代码.我应该学习哪一部分内核?我应该知道哪些相关的Linux命令/实用程序才能知道进程是如何运行的?(我现在才知道ld命令)
我什么时候应该尝试构建代码.so或.a?哪一个更好?
[mirror@home ins_openvpn]$ ls lib/openvpn/plugins/ -l
total 96
-rw-r--r-- 1 mirror mirror 22892 Sep 2 23:25 openvpn-plugin-auth-pam.a
-rwxr-xr-x 1 mirror mirror 931 Sep 2 23:25 openvpn-plugin-auth-pam.la
-rwxr-xr-x 1 mirror mirror 23621 Sep 2 23:25 openvpn-plugin-auth-pam.so
-rw-r--r-- 1 mirror mirror 17228 Sep 2 23:25 openvpn-plugin-down-root.a
-rwxr-xr-x 1 mirror mirror 932 Sep 2 23:25 openvpn-plugin-down-root.la
-rwxr-xr-x 1 mirror mirror 18805 Sep 2 23:25 openvpn-plugin-down-root.so
Run Code Online (Sandbox Code Playgroud) linux memory-management shared-libraries ld static-libraries
在Java中,我想有一些东西:
class Clazz<T> {
static void doIt(T object) {
// shake that booty
}
}
Run Code Online (Sandbox Code Playgroud)
但我明白了
Cannot make a static reference to the non-static type T
我不了解基本用途之外的泛型,因此无法理解这一点.我无法在互联网上找到有关该主题的更多信息,这没有任何帮助.
有人可以通过类似的方式澄清这种使用是否可行?另外,为什么我的原始尝试不成功?
我正面临着我认为Hibernate的一个简单问题,但无法解决它(Hibernate论坛无法访问肯定没有帮助).
我有一个简单的课程,我想坚持,但继续得到:
SEVERE: Field 'id' doesn't have a default value
Exception in thread "main" org.hibernate.exception.GenericJDBCException: could not insert: [hibtest.model.Mensagem]
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
[ a bunch more ]
Caused by: java.sql.SQLException: Field 'id' doesn't have a default value
[ a bunch more ]
Run Code Online (Sandbox Code Playgroud)
持久化类的相关代码是:
package hibtest.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class Mensagem {
protected Long id;
protected Mensagem() { }
@Id
@GeneratedValue
public Long getId() {
return id;
} …Run Code Online (Sandbox Code Playgroud) 我很好奇,需要快速找到这个答案.谷歌不会帮助太多.
Java Persistence API具有这些属性,告诉框架在关联实体上级联操作:
CascadeType.PERSIST
CascadeType.DELETE
CascadeType.MERGE
CascadeType.REFRESH
Run Code Online (Sandbox Code Playgroud)
我知道前两个意思是什么:当我持有具有B的对象A时,也坚持B,当我删除A时,也删除B.
但我无法理解其他两个人所取得的成就.救命?
我想要的是:
@Embedded(nullable = false)
private Direito direito;
Run Code Online (Sandbox Code Playgroud)
但是,正如您所知,@ Embeddable没有这样的属性.
有没有正确的方法来做到这一点?我不想要解决方法.
在过去的几个月里,我经常遇到这个问题,在此期间我一直在构建这个系统.场景是这样的:我有这种对象,本质上是一个其他对象的列表,但有一些特定于其性质的其他属性.例如:
Tests:
Test对象DefaultTimeoutsDefaultNumberOfTries我应该拥有这个类的子类,List<Test>还是应该继承它Object,只需将列表作为属性放在其他字段旁边?
我知道这可能有点主观,个人品味可能在这里发挥作用,但我全心全意地想知道你对此的看法.
我知道有些人认为你不应该创建持久性服务.
但对于我们这些想要增加知识的人来说,如何在理论上创造一个呢?
我一直在玩,并注意到使用startForeground的服务在低内存情况下被杀死.
我已经看到了一个现已弃用的许可PERSISTENT_ACTIVITY,但这并没有做太多.
那么秘密是什么?
我需要有关如何让我的C#控制台应用程序通过标准输出向用户显示文本的建议,同时仍然可以在以后访问它.我想实现的实际功能是在程序执行结束时将整个输出缓冲区转储到文本文件中.
我使用的解决方法,虽然我找不到更清晰的方法是子类TextWriter重写写入方法,所以他们都会写入文件并调用原始的stdout编写器.像这样的东西:
public class DirtyWorkaround {
private class DirtyWriter : TextWriter {
private TextWriter stdoutWriter;
private StreamWriter fileWriter;
public DirtyWriter(string path, TextWriter stdoutWriter) {
this.stdoutWriter = stdoutWriter;
this.fileWriter = new StreamWriter(path);
}
override public void Write(string s) {
stdoutWriter.Write(s);
fileWriter.Write(s);
fileWriter.Flush();
}
// Same as above for WriteLine() and WriteLine(string),
// plus whatever methods I need to override to inherit
// from TextWriter (Encoding.Get I guess).
}
public static void Main(string[] args) {
using (DirtyWriter dw = new …Run Code Online (Sandbox Code Playgroud) 如果用户希望中断执行,我需要有另一个线程信号,但是我不确定如何实现信令/信号检查机制.我不想在我的项目中有一个单身人士(比如全球bool),但还有其他选择吗?
在这个帖子中,人们在C++中建议适当的结构,但我不知道.NET中有类似的东西.有人可以解释一下吗?
我有一个Java项目,它的库目录中当前有很多JAR,这些JAR在构建时都包含在生成的包中.但是,我知道其中一些库从未在项目中引用过.
是否有工具可以搜索项目中未引用的库?我想在这个意义上肯定有一些东西.
顺便说一句,一个Eclipse插件会很棒.
编辑:我选择使用ClassDep因为它是唯一有效的建议.但是,我遇到了一些麻烦:请检查这个问题
java ×4
.net ×2
hibernate ×2
jpa ×2
persistence ×2
android ×1
c# ×1
console ×1
dependencies ×1
embeddable ×1
generics ×1
inheritance ×1
ld ×1
linux ×1
nullable ×1
oop ×1
service ×1
signals ×1
stdout ×1