使用swig生成std :: vector到java.util.Vector代码

我尝试用SWIG生成java代码 在MyList.h中,我声明了一个名为_list的自定义列表对象 List _list; 这个List类inheritance自vector class List : public vector 在业务类中(在C ++中),我返回一个自定义对象列表 List getMyList(){ …. return list; } 所以我想生成java代码,我可以将这个C ++ List检索为java.util.List或java.util.Vector。 在我的swig.i文件中,我无法管理如何体现 %typemap(jstype) List “java.util.Vector” namespace std { %template(CustomVector) vector; } 任何类型的帮助如何配置此swig.i模板文件或一些示例代码生成java.util.List / Vector返回函数将不胜感激。 谢谢。

Hibernate noob获取连接问题

我有两个类,Test2和Test3。 Test2有一个属性test3,它是Test3的一个实例。 换句话说,我有一个单向的OneToOne关联,test2引用了test3。 当我从db中选择Test2时,我可以看到正在进行单独的选择以获取相关test3类的详细信息。 这是着名的1 + N选择问题。 要修复此问题以使用单个选择,我尝试使用fetch = join批注,我理解为@Fetch(FetchMode.JOIN) 但是,如果将fetch设置为join,我仍会看到单独的选择。 以下是我的设置的相关部分.. hibernate.cfg.xml中: 2 测试2: public class Test2 { @OneToOne (cascade=CascadeType.ALL , fetch=FetchType.EAGER) @JoinColumn (name=”test3_id”) @Fetch(FetchMode.JOIN) public Test3 getTest3() { return test3; } NB我将FetchType设置为EAGER绝望,即使它默认为OneAGoOne映射的EAGER,但它没有任何区别。 谢谢你的帮助! 编辑:我几乎放弃了尝试使用FetchMode.JOIN – 任何人都可以确认他们已经让它工作,即产生左外连接? 在文档中,我看到“通常,映射文档不用于自定义提取。相反,我们保留默认行为,并使用HQL中的左连接提取覆盖特定事务” 如果我做一个左连接提取而是: query = session.createQuery(“来自Test2 t2 left join fetch t2.test3”); 然后我确实得到了我想要的结果 – 即查询中的左外连接。 编辑2: 伙计们,非常感谢您的回复。 现在我想深究这一点。 我经常发现,当我调查一些事情时,我最终学到的东西比我想象的要多得多。 […]

java引用变量存储在哪里?

Java的引用变量是如何存储的? 这是否与C指针类似? 我的意思是引用变量是这段代码中的myDog Dog myDog = new Dog(); 我理解了C指针,它存储在堆中的全局变量,并且它存储在堆栈中的局部变量。 我想知道java工作方式相同。

Java流是连续阶段的吗?

我对中间阶段顺序状态有疑问 – 是应用于所有输入流(项)的阶段的操作还是应用于每个流项的所有阶段/操作? 我知道这个问题可能不容易理解,所以我举一个例子。 在以下流处理中: List strings = Arrays.asList(“Are Java streams intermediate stages sequential?”.split(” “)); strings.stream() .filter(word -> word.length() > 4) .peek(word -> System.out.println(“f: ” + word)) .map(word -> word.length()) .peek(length -> System.out.println(“m: ” + length)) .forEach(length -> System.out.println(“-> ” + length + “\n”)); 我对这段代码的期望是它会输出: f: streams f: intermediate f: stages f: sequential? m: 7 […]

JSP以编程方式呈现

我需要以编程方式呈现JSP页面。 据我所知,JSP应该有一些编译器。 问题是我可以在没有JspServlet和其他人的情况下直接使用这个编译器吗? 我需要的只是文档如何使用JSP编译器(例如,Jasper)。 我想,一些额外的信息可以澄清情况。 我不能使用标准的JspServlet。 我希望在编译之前以某种方式更改源JSP(将两个JSP合并到一起),因此我需要一种方法直接使用JSP编译器从InputStream(或Reader)编译JSP结果。 两个JSP的合并是布局要求。 你可以问:“但为什么这个人不使用SiteMesh或类似的东西?”。 其中一个JSP页面不是静态的。 它由用户提供并存储在数据库中。 我们清理和validation这个JSP布局(用户只能使用标签的子集,并且所有这些标签都不是标准的,而是专门为它们创建的),缓存它们等等。 但是现在我们需要一种方法来使用这些JSP页面(存储在内存中)作为用户请求的所有JSP页面的布局。

如何将我的自定义类加载器设置为默认值?

我正在尝试用自定义类加载器练习自己,我有一些问题。 有没有办法指示JVM全局使用我的自定义类加载器? 例如,我编写了在Tomcat 6下运行的小应用程序.servlet由容器管理,我应该在哪里设置我的类加载器? 另外,webapp使用了一些第三方jar子,我可以控制这些jar子的类加载吗? 对于独立应用程序,上述答案是否会有所不同? 谢谢!

如何使用java配置配置Spring ConversionService?

我有这样的xml: 它可以毫无问题地配置转换器。 但是这段代码没有做同样的事情: @Configuration public class ConversionConfiguration { @Bean public ConversionService getConversionService() { ConversionServiceFactoryBean bean = new ConversionServiceFactoryBean(); bean.setConverters(getConverters()); bean.afterPropertiesSet(); ConversionService object = bean.getObject(); return object; } private Set getConverters() { Set converters = new HashSet(); converters.add(new AddressToStringConverter()); converters.add(new StringToAddressConverter()); return converters; } } 这个配置由上下文扫描 – 我用调试器检查了它。 哪里可能是问题?

隐藏jar文件中的类

是否真的不可能在jar文件中隐藏某些类? 我希望不允许直接实例化类以使其更灵活。 这个jar子里只能看到工厂(或立面)。 除了创建两个项目之外,还有其他方法可以解决这个问题吗? (两个项目:第一个包含类(实现),另一个引用第一个并包含工厂;后面只引用第二个)

使用Java创建Access数据库文件(.mdb或.accdb)

目前我有一个应用程序,我可以使用JdbcOdbcDriver访问.mdb或.accdb文件以附加一些数据。 Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); con = DriverManager.getConnection(“jdbc:odbc:MsAccessDSN”); 但在此,我需要配置系统DSN。 我们需要添加新的数据源(Microsoft Access Driver),然后需要提供.mdb文件的位置。 只有这样,上面的代码才有用。 假设我想在其他系统上运行我的应用程序,那么我需要对该计算机执行相同的操作。 如果我将我的应用程序提供给客户端,他/她不知道如何配置.mdb文件。 那么我的全部努力都会浪费。 因此,我可以使用任何驱动程序通过我的Java代码创建.mdb文件,然后将所有数据附加到.mdb文件的表中。 或者还有其他方法,Java代码可以创建.mdb文件并能够访问此数据库文件。 我尝试了这个代码,无需配置系统DNS即可附加数据: public class TestMsAccess { private static Connection con; private static Statement stm; private static String tableName = “EmpDetail”; private static int id_is = 2; private static String name_is = “Employee1”; public static void main(String[] args) throws ClassNotFoundException, SQLException { […]

Java中的线程内的线程?

我目前正在考虑如何在Java中设计一个需要进行大量网络处理和数据库存储的multithreading系统。 该程序将首先启动三个基本线程。 沿着这些基本线程,我想启动其他线程不是来自主程序,而是来自两个线程。 是否有可能线程启动另一个线程,导致某种层次结构,如: > Parent ->t0 thread1 -> t1 tread1.1 > ->t0 thread2 > ->t0 thread3 -> t2 thread3.1 t0= inital time t1,t2 = time at a point in the running thread t1 != t2 如果没有,有人可以提供参考的理论解决方案吗?