我阅读了一些关于XML解析器的文章,并且遇到了SAX和DOM.
SAX是基于事件的,DOM是树模型 - 我不理解这些概念之间的差异.
根据我的理解,基于事件意味着某种事件发生在节点上.就像当单击特定节点时,它将给出所有子节点,而不是同时加载所有节点.但是在DOM解析的情况下,它将加载所有节点并创建树模型.
我的理解是否正确?
请纠正我如果我错了或以更简单的方式向我解释基于事件和树模型.
我知道Deamon线程背景线程.我们可以通过调用创建自己的守护进程线程setDaemon(true).
我的问题是:为什么以及何时需要创建我们的线程作为守护程序线程?
我正在使用JPA进行一些CRUD操作.更新对象是正确的方法吗?
通过更新查询或通过find方法EntityManager?
我有一个Employee我需要更新的对象.哪种方法正确?为了方便,find方法很好,所以我使用了这个find()方法.
请指导我.
我正在经历Prototype设计模式并提出了一些问题.
我已经理解Prototype设计模式用于创建在内存或资源方面成本高昂的对象.在这种情况下,我们使用已经可用的对象的克隆.
那么创建一个new对象有什么区别clone()呢?对象存储在内存中的哪个位置?
我知道这LinkedList是作为双链表实现的。在add和remove上,其性能优于Arraylist,但在get和set方法上却较差。
这是否意味着我应该选择LinkedList在Arraylist插入?
我写了一个小测试,发现ArrayList插入速度更快。那如何链表比ArrayList?
请参考下面的示例。
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
public class TestLinkedList {
public static void main(String[] args) {
long lStartTime = new Date().getTime();
System.out.println("lStartTime:: " + lStartTime);
List<Integer> integerList = new LinkedList<Integer>();
for (int i = 0; i < 10000000; i++) {
integerList.add(i);
}
long lEndTime = new Date().getTime();
System.out.println("lEndTime:: " + lEndTime);
long difference = lEndTime - lStartTime;
System.out.println("Elapsed milliseconds: " + difference);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个包含10个整数值的数组.现在我想找出第二高的数字.我不应该使用任何java API.一位采访者向我提出了这个问题.他想要逻辑.他的要求是,我不应该遍历整个元素.有没有办法在没有遍历的情况下实现结果?Travesing意味着遍历数组中的所有元素.我想了很久.最后我放弃了.如果有人可以解释,那就太好了.我还询问了排序.他不希望对数组进行排序.
这个问题来自Kathy Sierra SCJP 1.6.有多少个对象符合垃圾收集的条件?
根据Kathy Sierra的回答,确实如此C.这意味着两个对象有资格进行垃圾回收.我给出了答案的解释.但为什么c3不符合垃圾收集(GC)的条件?
class CardBoard {
Short story = 200;
CardBoard go(CardBoard cb) {
cb = null;
return cb;
}
public static void main(String[] args) {
CardBoard c1 = new CardBoard();
CardBoard c2 = new CardBoard();
CardBoard c3 = c1.go(c2);
c1 = null;
// Do stuff
} }
Run Code Online (Sandbox Code Playgroud)
何时// Do stuff到达,有多少对象符合GC条件?
回答:
Short包装器对象,该对象也符合条件.我在 Spring JPA 中遇到了一些问题。我成功配置了 Spring JPA 项目并且能够运行该项目而没有任何异常。
我打算将实体保存到数据库中。但是当我运行该项目时,它既不保存到数据库也不抛出任何异常。
可能是什么问题呢?我还添加了许多与休眠相关的 jar 文件,因为它在我运行时抛出异常。现在我没有得到任何例外。但实体不会保存到数据库中。我附上了我的 Spring 配置和 Java 类。
小枝配置
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- Connection Pool -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driverClass}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- JPA EntityManagerFactory -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
p:dataSource-ref="dataSource">
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="database" value="${jdbc.database}"/>
<property name="showSql" value="${jdbc.showSql}"/>
</bean>
</property>
</bean>
<!-- Transaction manager for …Run Code Online (Sandbox Code Playgroud) 我是java正则表达式的新手.我写了以下代码来验证非数字编号.如果我们输入任何非数字数字,它应该返回false.对我来说,下面的代码总是返回false.这里错了什么?
包装正则表达;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class NumberValidator {
private static final String NUMBER_PATTERN = "\\d";
Pattern pattern;
public NumberValidator() {
pattern = Pattern.compile(NUMBER_PATTERN);
}
public boolean validate(String line){
Matcher matcher = pattern.matcher(line);
return matcher.matches();
}
public static void main(String[] args) {
NumberValidator validator = new NumberValidator();
boolean validate = validator.validate("123");
System.out.println("validate:: "+validate);
}
}
Run Code Online (Sandbox Code Playgroud) 为什么在静态上下文中声明所有辅助类或实用程序类?
是不是每次都不创建一个类的实例容易?
静态会严重打击性能吗?
例如:
DateHelper.getCurrentDate();
Run Code Online (Sandbox Code Playgroud)