Java -暂时不好解释的现象

本文详细探讨了Java中方法参数的传递机制,包括基本类型、引用类型及其成员变量的传递方式,揭示了值传递和传址调用的区别,并附带解释了抽象方法不可被static修饰及Java文件中public类的唯一性原则。

一 Java 给方法传入不同的参数类型(参数本身抑或是参数的成员变量)会不会改变本身的参数的值?

public class Main {
 
	private static void getMiddleOne(boolean b, Boolean boo, Boolean[] arr){
		b = true;  //形参,不会改变原有值
		boo = new Boolean(true);  //引用变量的直接操作相当于值传递,不会改变原来的引用变量
		arr[0] = true;  //引用变量的属性的操作,会改变原有引用的属性,相当于传址调用
	}
	
	//测试
	public static void main(String[] args) {
		boolean b = false;
		Boolean boo = new Boolean(false);
		Boolean[] arr = new Boolean[]{false};
 
		getMiddleOne(b, boo, arr);
		
		System.out.println(b);  
		System.out.println(boo.toString());
		System.out.println(arr[0]);
 
		/**
		 * output:
		 * 		false
		 * 		false
		 *		true
		 */
	}
}

二 抽象方法不能被static修饰

三 一个Java文件中只能有一个public修饰的类
https://blog.youkuaiyun.com/qq_17616169/article/details/72920346

### IDEA启动Spring项目无反应的原因分析 在使用IDEA启动Spring项目时遇到无反应的情况,可能由多种因素引起。以下是常见的原因及其对应的解决方案: #### 1. **类路径配置问题** 如果项目的`classpath`未正确设置,可能导致Spring无法加载必要的配置文件(如`spring*.xml`)。这通常发生在使用外部JAR包的情况下[^1]。 解决方法:检查IDEA的运行配置,确保选择了“Use classpath file”而非默认的“Shorten command line”。这样可以让JVM通过`classpath`正确识别资源。 #### 2. **依赖冲突或缺失** 当`pom.xml`中存在版本冲突或者某些必要依赖未被引入时,可能会导致项目启动失败。即使没有明显的错误提示,也可能表现为无任何响应[^2]。 建议操作: - 使用`mvn dependency:tree`命令检查依赖树是否存在冲突。 - 确保核心依赖已正确添加到`pom.xml`中,例如Spring Context、Core等模块。 #### 3. **Main方法入口问题** Spring Boot项目需要定义一个带有`@SpringBootApplication`注解的主类,并提供标准的`main`方法作为程序入口。如果缺少该部分,则IDEA无法找到执行起点[^4]。 验证方式: ```java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` #### 4. **环境变量与虚拟机参数** 有时由于内存不足或其他系统级限制,IDEA可能无法顺利初始化Spring上下文。此时应调整JVM选项以优化性能。可以在Run/Debug Configurations对话框里增加以下参数[^3]: ```bash -Xms512m -Xmx1024m -XX:MaxPermSize=256m ``` #### 5. **日志级别过高掩盖异常信息** 默认情况下,Spring的日志等级设为INFO及以上,因此一些低级别的警告消息会被忽略掉。为了更全面了解潜在问题所在,推荐暂时降低日志阈值至DEBUG模式。修改application.properties(application.yml)中的logging.level字段为例: ```properties logging.level.org.springframework=DEBUG ``` --- ### 总结 针对当前描述的现象——即通过`java -jar`能够正常启动而IDEA却毫无动静的情形,最有可能涉及的是运行配置上的差异。按照上述指导逐一排查后应当能有效缓解此类状况的发生概率。 ```python # 示例代码片段仅作演示用途 def check_config(): """模拟检测函数""" pass ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值