-
面向对象的new与面向过程的main本质不同:Java强制以类为单位组织代码,所有行为必须依附于类型或对象,而C等语言中main是独立入口,函数自由定义调用。243 收藏 -
抽象类和抽象方法必须用abstract修饰;含抽象方法的类须声明为abstract,abstract类可无抽象方法;abstract方法不能是private、static或final;抽象类不可实例化,但可用多态引用子类对象。137 收藏 -
Java字符串比较必须用.equals()而非==,因==判断引用地址而.equals()判断内容;推荐"str".equals(s)防null;忽略大小写用.equalsIgnoreCase()但需注意Locale问题。350 收藏 -
Java方法重载不考虑返回类型,仅依据方法名和参数列表(个数、类型、顺序)判断;voidfoo()与intfoo()在同个类中非法共存,编译直接报错。167 收藏 -
Linux配置Java环境变量需设置JAVA_HOME并将其bin目录加入PATH,路径正确、权限正常、source生效后即可全局使用java/javac命令。261 收藏 -
Java入门需先理解main方法签名、==与equals区别、变量初始化规则及final真实含义:main必须publicstaticvoid因JVM硬性校验;==比地址,equals比内容但依赖重写;局部变量须显式初始化,成员变量有默认值;final修饰引用仅锁引用不锁对象。439 收藏 -
使用StreamAPI的groupingBy可实现集合分组,如按部门分组员工;结合counting统计数量;支持多级分组和自定义条件,如按姓名首字母分组,灵活高效。140 收藏 -
ClassCastException本质是运行时向下转型失败,即父类/接口引用强制转为不兼容的子类类型;需用instanceof或模式匹配校验类型,避免盲目强转、泛型擦除及隐式转型。348 收藏 -
StopTheWorld(STW)是JVM执行关键GC操作时强制暂停所有应用线程的行为,源于堆一致性与对象可达性判定的必要性;不同收集器STW时长差异大,G1为毫秒级、ZGC控制在1ms内、Serial/Parallel则全程STW;无法彻底消除,但可通过调优显著压缩。383 收藏 -
map映射操作是JavaStream中用于将每个元素转换为另一种形式的中间操作,通过Function接口实现一对一转换,常用于提取字段、类型转换等场景;而flatMap适用于一对多的扁平化处理,可将嵌套集合展开并合并为单一列表,两者均不修改原数据且支持链式调用,需避免副作用以保持函数纯度。115 收藏 -
静态代码块先执行,顺序为:静态代码块→实例代码块→构造函数;静态代码块属类级别、类加载时执行一次,实例代码块属对象级别、每次new时在构造函数前执行。223 收藏 -
Collections.sort()要求List元素实现Comparable或传入Comparator,仅支持List且不返回新集合;Stream.sorted()创建新集合;TreeSet/TreeMap天然有序但相等性依赖compareTo而非equals。399 收藏 -
本文详解如何在PostgreSQL中正确联结两个含JSONB字段的表(如cars.details和cars.additions),通过->操作符提取键值,并规避常见命名错误、表别名缺失与路径访问误用等问题。472 收藏 -
在Android多用户场景中,需让计数器等关键变量跨所有用户配置文件持久化且仅限本应用读写——推荐使用内部存储(InternalStorage),它天然具备应用私有性、无需权限、自动清理等优势。119 收藏 -
Java酒店管理系统应以准确建模现实概念为核心:Room与RoomType分离,Room持RoomType引用;Booking用状态枚举封装流转;Hotel仅聚合协调,不越权处理业务逻辑与IO。307 收藏