Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

5
Java中的静态块未执行
class Test { public static void main(String arg[]) { System.out.println("**MAIN METHOD"); System.out.println(Mno.VAL); // SOP(9090); System.out.println(Mno.VAL + 100); // SOP(9190); } } class Mno { final static int VAL = 9090; static { System.out.println("**STATIC BLOCK OF Mno\t: " + VAL); } } 我知道static在加载类时执行了一个块。但是在这种情况下,类内的实例变量Mno为final,因为该static块未执行。 为什么呢?如果我删除final,它会正常工作吗? 首先分配哪个内存,static final变量还是static块? 如果由于final访问修饰符而无法加载该类,那么该变量如何获取内存?



2
Spring MVC如何在我的控制器方法中获取GET HTTP请求的参数值?
在此期间,我正在研究Spring MVC展示示例(可从STS dasboard下载),并对Request Mapping示例有一些简单的问题: 1)在我的home.jsp页面中,我具有以下链接: <li> <a id="byParameter" class="textLink" href="<c:url value="/mapping/parameter?foo=bar" />">By path, method, and presence of parameter</a> </li> 如通过此链接可以看到的,我正在执行一个HTTP GET请求,该请求的“ foo”参数包含值:“ bar”。 此HTTP请求由控制器类MappingController的以下方法处理: @RequestMapping(value="/mapping/parameter", method=RequestMethod.GET, params="foo") public @ResponseBody String byParameter() { return "Mapped by path + method + presence of query parameter! (MappingController)"; } 此方法管理GET具有名为“ foo”的参数的HTTP请求(仅类型) 如何获取此参数的值(“条”)并将其放入by Parameter方法的代码内的变量中?

18
创建无重复的随机数
在这种情况下,MAX仅为5,因此我可以一张一张地检查重复项,但是如何以更简单的方式进行检查呢?例如,如果MAX的值为20,该怎么办?谢谢。 int MAX = 5; for (i = 1 , i <= MAX; i++) { drawNum[1] = (int)(Math.random()*MAX)+1; while (drawNum[2] == drawNum[1]) { drawNum[2] = (int)(Math.random()*MAX)+1; } while ((drawNum[3] == drawNum[1]) || (drawNum[3] == drawNum[2]) ) { drawNum[3] = (int)(Math.random()*MAX)+1; } while ((drawNum[4] == drawNum[1]) || (drawNum[4] == drawNum[2]) || …
87 java  random 



1
@see和@inheritDoc之间的区别的详细信息
我查看了JavaDoc参考,并且虽然了解了@see(各种链接)和{@inheritDoc}(超类JavaDoc注释的导出)之间的基本区别,但是我需要澄清事情的实际实现方式。 在Eclipse IDE中,当我为继承的方法(从接口或toString()重写,等等)选择“生成元素注释”时,它将创建以下注释 /* (non-Javadoc) * @see SomeClass#someMethod() */ 如果需要生成JavaDoc,我应该保留它,替换@see为{@inheritDoc},或将其变成真正的JavaDoc,例如: /** * {@inheritDoc} */ 当我这样做时,是否仍应保留class#method标志?
87 java  javadoc  comments 

9
InetAddress.getLocalHost()引发UnknownHostException
我正在不同的操作系统上测试我们的服务器应用程序(用Java编写),并认为由于Java集成良好,OpenSolaris(2008.11)的麻烦最少。原来我错了,因为我最终遇到UnknownHostException try { computerName = InetAddress.getLocalHost().getHostName(); if (computerName.indexOf(".") > -1) computerName = computerName.substring(0, computerName.indexOf(".")).toUpperCase(); } catch (UnknownHostException e) { e.printStackTrace(); } 输出为: java.net.UnknownHostException: desvearth01: desvearth01 at java.net.InetAddress.getLocalHost(InetAddress.java:1353) 但是,nslookup desvearth01返回正确的IP地址,并按预期方式nslookup localhost返回127.0.0.1。同样,相同的代码在FreeBSD上也可以完美地工作。我不知道OpenSolaris有什么特别的地方吗? 任何提示表示赞赏,谢谢。




4
Java编程:从Java调用exe并传递参数
我正在寻找一种从Java调用exe并传递特定参数的机制。我能怎么做? Process process = new ProcessBuilder("C:\\PathToExe\\MyExe.exe").start(); InputStream is = process.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line; System.out.printf("Output of running %s is:", Arrays.toString(args)); while ((line = br.readLine()) != null) { System.out.println(line); } 先前的代码有效。但是我无法在中传递参数。MyExe.exe接受参数。另一个问题是PathToExe有空格。ProcessBuilder似乎无法正常工作。例如: C:\\User\\My applications\\MyExe.exe 谢谢。

8
如果不是,谁在调用Java Thread interrupt()方法?
我已经阅读并重新阅读了Java Concurrency in Practice,已经阅读了有关该主题的多个线程,已经阅读了IBM文章Dealing with InterruptedException,但是我根本不了解某些我认为可以打破的东西。分为两个问题: 如果我从来没有自己打过其他线程,什么会触发InterruptedException? 如果我从不使用自己的interrupt()中断其他线程(例如,因为我正在使用其他方式取消工作线程,例如毒药和while(!cancelled)样式循环[如在JCIP中所述),那那么InterruptedException是什么意思?抓到我该怎么办?关闭我的应用程序?

3
Hibernate延迟加载应用程序设计
我倾向于将Hibernate与Spring框架结合使用,它具有声明式事务划分功能(例如@Transactional)。 众所周知,休眠试图尽可能做到非侵入性和透明性,但是事实证明,在使用关系时这更具挑战性lazy-loaded。 我看到了许多具有不同透明度的设计方案。 使关系不延迟加载(例如, fetchType=FetchType.EAGER) 这违反了整个延迟加载的想法。 使用初始化初始化集合 Hibernate.initialize(proxyObj); 这意味着与DAO的耦合较高 尽管我们可以使用定义接口initialize,但不能保证其他实现也可以提供等效的接口。 将交易行为添加到持久Model对象本身(使用动态代理或@Transactional) 我没有尝试过动态代理方法,尽管我似乎从未让@Transactional处理持久对象本身。可能由于该休眠而导致对代理进行操作。 实际进行交易时失去控制 同时提供懒/非延迟API,例如,loadData()和loadDataWithDeps() 强制应用程序知道何时采用哪个例程,再次紧密耦合 方法溢出loadDataWithA(),,..,loadDataWithX() 强制查找依赖关系,例如,仅提供byId()操作 需要很多非面向对象的例程,例如,findZzzById(zid)然后getYyyIds(zid)代替z.getY() 如果事务之间的处理开销很大,则以一对一的方式获取集合中的每个对象可能会很有用。 成为应用程序@Transactional的一部分,而不只是DAO 嵌套事务的可能注意事项 需要适合于事务管理的例程(例如足够小) 对程序的影响较小,尽管可能会导致大量交易 为DAO提供动态提取配置文件,例如,loadData(id, fetchProfile); 应用程序必须知道何时使用哪个配置文件 AoP类型的交易,例如,拦截操作并在必要时执行交易 需要字节码操作或代理使用 执行交易时失去控制 一如既往的黑魔法:) 我错过了任何选择吗? 尝试最小化lazy-loaded关系对应用程序设计的影响时,您首选的方法是什么? (哦,很抱歉,WoT)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.