假设需要使用特定的通用接口,但这种情况不需要使用其中一个通用参数.
假设我需要一个Callable<T>(必须T从其call()方法返回一个),但在这种情况下我不需要返回结果,我只想提交一些代码ExecutorService来"做某事"
什么是该类型的最佳选择T?
replaceAll()交换相邻字符的正则表达式是什么?
例如,要转此:
abcdefg
Run Code Online (Sandbox Code Playgroud)
进入这个:
badcfeg
Run Code Online (Sandbox Code Playgroud) 所以,我正在尝试通过javamail和glassfish发送电子邮件:这是我的代码(我在这里找到它http://www.javasrilankansupport.com/2012/05/send-email-in-java-mail-api -using-gmail.html)
private Session m_Session;
private Message m_simpleMessage;
private InternetAddress m_fromAddress;
private InternetAddress m_toAddress;
private Properties m_properties;
@Override
public void sendMail(String mail) throws Exception {
try {
m_properties = new Properties();
m_properties.put("mail.smtp.host", "smtp.gmail.com");
m_properties.put("mail.smtp.socketFactory.port", "465");
m_properties.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
m_properties.put("mail.smtp.auth", "true");
m_properties.put("mail.smtp.port", "465");
m_properties.put("mail.debug", "false");
m_properties.put("mail.smtp.ssl.enable", "true");
m_Session = Session.getDefaultInstance(m_properties,new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("user@gmail.com","password"); // username and the password
}
});
m_simpleMessage = new MimeMessage(m_Session);
m_fromAddress = new InternetAddress("user@gmail.com");
m_toAddress = new InternetAddress(mail);
m_simpleMessage.setFrom(m_fromAddress);
m_simpleMessage.setRecipient(RecipientType.TO, m_toAddress); …Run Code Online (Sandbox Code Playgroud) 考虑这种方法:
private void iterate(List<Worker> workers) {
SortedSet<Worker> set = new TreeSet<>(new Comparator<Worker>() {
@Override
public int compare(Worker w0, Worker w1) {
return Double.compare(w0.average, w1.average);
}
});
// ...
}
Run Code Online (Sandbox Code Playgroud)
如您所见,该集正在创建一个TreeSet带有自定义比较器的新功能.
我想知道它是否与性能/内存/垃圾收集/任何观点有任何区别,如果我这样做而是污染了外层空间:
static final Comparator<Worker> COMPARATOR = new Comparator<Worker>() {
@Override
public int compare(Worker w0, Worker w1) {
return Double.compare(w0.average, w1.average);
}
};
private void iterate(List<Worker> workers) {
SortedSet<Worker> set = new TreeSet<>(COMPARATOR);
// ...
}
Run Code Online (Sandbox Code Playgroud)
我问的原因是,我觉得编译器应该已经解决了这个并为我优化它,所以我不应该提取它,对吧?
对于在方法中声明的字符串或其他临时不可变对象,情况也是如此.
提取final变量会有什么不同吗?
注意:我知道这可能给性能提升带来的影响很小.问题是,是否存在任何差异,无论多么微不足道.
说我有以下课程:
public class FormContainer {
@EJB
private ExternalDao externalDao; // uses dependency Injection
private final OrderForm orderForm;
private final List<OrderFormContent> formContents;
public FormContainer(OrderForm orderForm) {
this.orderForm = orderForm
initializeOrderForm();
}
private void initializeOrderForm() {
formContents = externalDao.getFormContents(orderForm);
// similar for any other properties
}
// getters & setters
}
Run Code Online (Sandbox Code Playgroud)
我正在使用这个类来保存我需要通过应用程序引用的所有字段.我仍在学习良好的设计和糟糕的设计实践,所以我想知道这个糟糕的设计是否初始化orderForm的属性.
如果是这样,怎么可以改进?
我有两个表:
class Advertisement(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
author_email = models.EmailField()
class Verification(models.Model):
advertisement = models.ForeignKeyField(Advertisement)
key = models.CharField(max_length=32)
Run Code Online (Sandbox Code Playgroud)
我需要在添加新广告后自动填充验证表。
def gen_key(sender, instance, created, **kwargs):
if created:
from hashlib import md5
vkey = md5("%s%s" % (instance.author_email, instance.created_at))
ver = Verification(advertisement=instance)
ver.key = vkey
ver.save()
post_save.connect(gen_key, sender=Advertisement)
Run Code Online (Sandbox Code Playgroud)
当然是行不通的。Django 1.2 问:我应该怎么做?
好了,解决了一半。
问题是父模型的 post_save() 不调用子模型。
所以你可以通过直接提供子类来解决它。
class Advertisement(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
author_email = models.EmailField()
class Sale(Advertisement):
rooms = models.IntegerField(max_length=1)
subway = models.ForeignKey(Subway)
class Verification(models.Model):
advertisement = models.ForeignKeyField(Advertisement)
key = models.CharField(max_length=32)
def gen_key(sender, instance, created, …Run Code Online (Sandbox Code Playgroud) 静态ConcurrentHashmap是否需要使用同步块或锁进行外部同步?
在我的数据模型中,我有一些这样的效果:
@Entity
public class Target {
@Id
@GeneratedValue
private Long id;
/* ...etc... */
}
@Entity
public class Dependency {
@Id
@GeneratedValue
private Long id;
@ManyToOne(optional=false)
@Column(name="target_id")
private Target target;
/* ...etc... */
}
Run Code Online (Sandbox Code Playgroud)
我已经序列化Target很好,但我需要序列化Dependency.基本上,我需要的是这样的事情:
<dependency>
<id>100</id>
<targetId>200</targetId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
有没有办法在JAXB注释中执行此操作而不修改我的模型?
考虑这些表:
Table Items:
ItemID ItemName
------------------
1 N1
2 N2
3 N4
4 N5
Run Code Online (Sandbox Code Playgroud)
在MyTbl表中,我有一个ItemID,可能是这样的:
ItemId
----
1
1
3
4
4
4
Run Code Online (Sandbox Code Playgroud)
我想写一个返回此结果的查询:
ItemId count
-------------------
1 2
2 0
3 1
4 3
Run Code Online (Sandbox Code Playgroud)
如果没有游标我怎么能这样做?
我需要帮助来为用户名构建正则表达式.
用户名分为三个部分.第一个字符,中间组,最后一个字符.
以下是我必须遵循的规则:
(a-z)(a-zA-Z0-9)(0-9)一些例子:
hTes38 (i.e. h Tes3 8)
j347k6 (i.e. j 347k 6)
atksde21D2 (i.e. a tksde21D 2)
Run Code Online (Sandbox Code Playgroud)
以下是我到目前为止的情况,几乎就是:
^[a-z][a-zA-Z0-9]\w{1,}[0-9]$
Run Code Online (Sandbox Code Playgroud)
但中间组不正确,我不知道如何强制执行'必须包含一个字母和一个数字'规则.
java ×7
regex ×2
coding-style ×1
constructor ×1
generics ×1
glassfish-3 ×1
gmail ×1
hibernate ×1
jakarta-mail ×1
jaxb ×1
performance ×1
python ×1
smtp ×1
sql ×1
xml ×1