小编dar*_*ioo的帖子

是否可以在java中读取注释的值?

这是我的代码:

@Column(columnName="firstname")


private String firstName;

 @Column(columnName="lastname")
 private String lastName;

 public String getFirstName() {
  return firstName;
 }

 public void setFirstName(String firstName) {
  this.firstName = firstName;
 }

 public String getLastName() {
  return lastName;
 }

 public void setLastName(String lastName) {
  this.lastName = lastName;
 }
Run Code Online (Sandbox Code Playgroud)

是否可以在另一个类中读取我的注释@Column(columnName ="xyz123")的值?

java annotations getter-setter java-6

94
推荐指数
5
解决办法
13万
查看次数

通过热交换机制在运行时更改方法

假设我们有一个简单的Java程序,它只包含一个类:

public class HelloWorld {

   private static void replacable(int i) {
      System.out.println("Today is a nice day with a number " + i);
   }        

   public static void main(String[] args) throws Exception {
      for(int i = 0; i < 100000; ++i) {
      replacable(i);
      Thread.sleep(500);
   }
}
Run Code Online (Sandbox Code Playgroud)

在编译并运行之后,输出将是:

今天是0号的好日子

今天是一个美好的一天,1号

今天是2号球员的好日子

今天是一个美好的一天,3号

...

我的问题:是否存在(或者是否存在)replacable在运行时交换方法的某种方式?有点像HelloWorld用新版本编写另一个版本replacable,编译它,然后在已经运行的JVM中编写旧版本?

所以,如果我像这样编写新版本:

private static void replacable(int i) {
   System.out.println("Today is an even nicer day with a number " + i);
}  
Run Code Online (Sandbox Code Playgroud)

是否有类似于Erlang的热代码交换,我可以这样做: …

java runtime hotswap

56
推荐指数
3
解决办法
4万
查看次数

在Java中将System propery设置为Null

在我的单元测试中,我需要将"workingDir"系统属性设置为Null.

但我不能这样做,因为它给了我NullPointerException:

System.setProperty("workingDir", null);
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

java system-properties

14
推荐指数
2
解决办法
9993
查看次数

如何避免XSS攻击的应用程序?

如何保护我们的Web应用程序免受XSS攻击?如果一个应用程序没有对特殊字符进行任何转换,那么它就很容易受到攻击.

java java-ee

12
推荐指数
1
解决办法
1万
查看次数

如何重置JSESSIONID

在用户进行身份验证时重置会话cookie被认为是一种很好的安全做法.

如何用Java做到这一点?

到目前为止我的尝试是成功的,但我想知道是否有更好的方法:

public static HttpSession resetSessionId(HttpSession session, 
      HttpServletRequest request) {
    session.invalidate();
    session = request.getSession(true);
    return session;
}
Run Code Online (Sandbox Code Playgroud)

java jsp servlets

7
推荐指数
1
解决办法
1万
查看次数

在Eclipse中使用下划线显示驼峰套接字

对我来说,阅读长长的骆驼套话有时会让人感到沮丧.例如:

aReallyLongCamelCasedMethodNameWhichIsTooSelfDescribing
Run Code Online (Sandbox Code Playgroud)

现在,看看这个版本:

a_Really_Long_Camel_Cased_Method_Name_Which_Is_Too_Self_Describing
Run Code Online (Sandbox Code Playgroud)

你的眼睛哪个版本更容易?第二个是我的.

在使用Emacs时,我偶然发现了一个名为眼镜模式的不错的小模式.

由于我主要使用Java,因此我是Eclipse用户,我想知道是否有某种方法可以显示带有下划线的驼峰式单词?

请注意,我并没有要求一种方法来实际转换所描述的驼峰盒式单词,我只是在寻找一种像Eclipse中的Emacs眼镜模式一样工作的机制.

实际进行转换的正则表达式可以通过Google搜索"将camelCase转换为下划线"找到.

java eclipse emacs camelcasing

6
推荐指数
1
解决办法
1339
查看次数

Java类错误:java.io.IOException:管道正在关闭

我们间歇地得到"java.io.IOException:管道正在关闭",代码如下.本质上非常间歇性.有什么建议?我试图复制这个,当我从网络断开我的机器,然后我能够得到这个错误.Siebel CRM会话打开后,此类读取和写入信息.

这里有Java类代码.

   private Process _process;
   private OutputStream _processOut;
   private ByteArrayOutputStream _sessionOutput;
....
   _processOut = _process.getOutputStream();
   _sessionOutput = new ByteArrayOutputStream();
....
 public void writeCommand(String command)
   throws IOException
   {
      _processOut.write(command.getBytes());
      _processOut.flush();
      _sessionOutput.write(command.getBytes());

   }
Run Code Online (Sandbox Code Playgroud)

这里有实际错误:

java.io.IOException: The pipe is being closed
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java:260)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
    at mySession.writeCommand(mySession.java:169)
Run Code Online (Sandbox Code Playgroud)

java pipe

5
推荐指数
1
解决办法
2万
查看次数

这个Perl foreach做了什么?

我很难理解这个foreach的作用,我是perl编程的新手

-e && print ("$_\n") foreach $base_name, "build/$base_name";
Run Code Online (Sandbox Code Playgroud)

这里构建是目录.谢谢

perl

2
推荐指数
2
解决办法
361
查看次数

查找没有扩展名的可执行文件?

以下程序列出了目录中的所有文件,但是如何才显示那些没有扩展名的"可执行"文件?

find $workingDir/testcases -type f -perm -og+rx  | while read file
do
        echo $file  
done
Run Code Online (Sandbox Code Playgroud)

linux bash find

1
推荐指数
1
解决办法
3046
查看次数

循环差异

在Java中,时序中的两个循环存在差异:

for (int i=1; i<11; ++i)
{
  // do stuff
}
Run Code Online (Sandbox Code Playgroud)

for (int i=100; i<111; ++i)
{
  // do stuff
}
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
132
查看次数