-
Java通过接口多继承实现行为组合,类可实现多个接口以获得多种能力,如Duck类实现Flyable和Swimmable接口具备飞行与游泳功能;接口可多继承且支持default方法,若两接口含同名default方法,实现类必须重写以解决冲突;接口仅定义行为契约不包含状态,避免了类多继承的复杂性,体现了职责分离原则。132 收藏 -
String.repeat()是Java11+新增的字符串重复方法,调用str.repeat(n)返回重复n次的新字符串,要求n≥0且str非null,底层基于数组复制优化,性能优于手动循环,但需注意不可见字符重复后的显示问题及JDK版本兼容性。171 收藏 -
静态变量能被类直接访问,因其在类加载时分配内存并存储于方法区,所有实例共享且无需对象即可通过类名访问。409 收藏 -
答案:通过Java面向对象设计,将题目封装为抽象基类Question,子类实现具体题型,使用ArrayList管理试卷,遍历题目并调用多态方法checkAnswer实现自动评分,最终统计总分与答题表现。272 收藏 -
应优先采用用户级安装而非系统目录,即解压JDK到$HOME/jdk并配置JAVA_HOME与PATH;若需系统级安装,须排查SIP、挂载选项、update-alternatives及shell缓存等四层机制。402 收藏 -
同一个类的两个对象是否相等取决于类加载器;即使类名和字节码相同,不同类加载器加载的类被视为不同类,其实例无法通过类型比较或equals判断,常见于Web容器、OSGi、热部署等场景,需确保关键类由同一类加载器加载以避免问题。409 收藏 -
子类同名变量访问不到父类值是因为作用域屏蔽而非覆盖;Java中由声明类型决定访问哪个变量,C++中需用Parent::name显式访问父类变量。151 收藏 -
Java线程池高并发处理关键在避免用错类型、配错参数、漏掉拒绝策略;需按IO/CPU密集型合理设corePoolSize与队列,优先submit()捕获异常,自定义拒绝策略联动监控,分业务隔离线程池,并正确shutdown。422 收藏 -
抽象类该有构造函数,且通常必须有;它不能是private,推荐用protected修饰,子类构造器需显式调用super(...)。369 收藏 -
程序计数器只存当前线程正在执行的字节码指令地址(如0x000a),是线程私有、静态分配、无溢出风险的极小内存区域,不会触发OutOfMemoryError。487 收藏 -
Java文件预览核心是服务端解析+前端轻量渲染,分层处理:底层解析、中间转换、上层展示;支持PDF(PDFBox/pdf.js)、Office(POI)、文本(highlight.js)、图像等格式,强调安全校验、异步转码、缓存与插件扩展。341 收藏 -
静态方法不能访问实例变量,因为静态方法属于类且随类加载而存在,早于对象创建;实例变量属于对象,仅在new出对象后才分配内存。若允许静态方法直接访问实例变量,可能导致访问尚未存在的变量,故Java禁止此操作。正确方式包括:创建对象后通过实例引用访问、将变量声明为static或把方法改为非静态。核心是静态属于类层级,实例属于对象层级,生命周期不匹配。218 收藏 -
synchronized无法解决分布式秒杀超卖问题,因其仅作用于单JVM实例;高并发需Redis+Lua或数据库行锁+乐观锁;AtomicInteger仅保障单机原子读写,不支持“查-判-减”复合操作。209 收藏 -
Java调用天气API解析失败主因是DTO与JSON结构不匹配,需确认外层包装字段、字段名一致、用Integer接可能null值;控制台刷新用\r覆盖、禁用\n;获取城市需公网IP定位;jar包需设HTTP超时、处理SSL、防止主线程退出。197 收藏 -
static用于将成员与类绑定而非对象,实现类级别共享、免实例调用和一次性初始化;支持静态变量、方法、代码块和内部类,适用于计数、工具函数、配置加载及轻量辅助结构。358 收藏