-
Java中成员变量分实例变量(每个对象独立,随对象创建初始化)和静态变量(类共享,类加载时初始化);方法需明确修饰符、返回类型和参数列表,static方法不能访问实例成员;封装要求成员变量私有、通过getter/setter控制访问。311 收藏 -
成员变量绝大多数情况下应使用private+final修饰,以保障封装性和不可变性;仅在特定场景(如子类需修改、常量、临时缓存)可例外,但须严格遵循规范。311 收藏 -
String.replace()默认只替换第一个匹配项,如"a-b-a-b".replace("a","x")结果为"x-b-a-b";全量替换需用正则加g标志或ES2021新增的replaceAll()方法,后者专为字面量全替换设计、性能更优但不支持正则功能。311 收藏 -
@CrossOrigin未生效的根本原因是注解未正确加载,常见于加在非Controller类、被AOP拦截、或SpringMVC未扫描到该类;需确保加在@RestController/@Controller上,且注意与全局配置、SpringSecurity的协同关系。310 收藏 -
封装的核心是隐藏“怎么做”、只暴露“能做什么”,通过私有成员隔离实现细节,提供语义明确的公有接口,统一异常处理,支持策略切换且接口不变,并辅以文档和类型提示明确行为契约。310 收藏 -
Java8引入的forEach通过Lambda简化集合遍历,List使用Consumer,Map使用BiConsumer,代码更清晰但不支持break或受检异常处理。310 收藏 -
Java的System类不能直接加载非JNI兼容的DLL;必须使用按JNI规范编写的、导出Java_类名_方法名函数的DLL,再通过System.load()(绝对路径)或System.loadLibrary()(需配置java.library.path)加载。310 收藏 -
是的,TreeSet底层基于红黑树实现,通过TreeMap封装,保证O(logn)增删查,依赖元素可比较性,不支持null,混用类型或排序逻辑错误会抛ClassCastException或NullPointerException。309 收藏 -
Java方法名必须是动词或动词短语,以小写字母开头、驼峰式命名,准确表达行为意图;布尔方法须以is/has/can开头;应避免名词前置、缩写、同义词混用及过度泛化。309 收藏 -
Java中interrupt()仅设置中断标志位,不强制终止线程;线程需主动检查标志或捕获InterruptedException来响应,属协作式中断机制。309 收藏 -
String不可变因其value数组被final修饰且操作均返回新对象;StringBuilder的value可原地修改,扩容时才新建数组。309 收藏 -
锁粗化是JIT自动合并相邻同锁同步块的优化,仅对无逃逸、无分支、无调用的连续synchronized生效;锁消除则依赖逃逸分析,对未逃逸对象彻底删除synchronized字节码。309 收藏 -
答案:一个基于Java的简单任务管理系统包含任务类(Task)和任务管理类(TaskManager),通过控制台实现添加、查看、标记完成和删除任务功能,结构清晰,适合Java初学者学习面向对象编程与集合操作。308 收藏 -
TextBlock默认压缩换行符为单空格,需显式设xml:space="preserve"或替换换行符;JSON错位多因BOM/零宽字符,应提前过滤;高亮需拼Run或换AvalonEdit;大SQL卡顿源于TwoWay绑定,应改OneWay并优化数据源。308 收藏 -
Files.getLastModifiedTime()返回FileTime类型,底层为纳秒精度的纪元时间;可调用toInstant()、toMillis()等方法转换,但不可直接强转或调用不存在的getTime()方法。308 收藏