java教程技术文章
-
Java运算符分为算术、关系、逻辑、赋值、位运算和条件六类:算术支持数值计算与自增减;关系返回布尔值;逻辑具短路特性;赋值含复合形式;位运算操作二进制;三元实现简洁条件分支。487 收藏 -
Collections.frequency适用于单元素频次统计,语义清晰但仅支持精确equals比较;Stream.groupingBy适合全量频次统计,性能更优但需注意null键和自定义对象的equals/hashCode实现。153 收藏 -
Java图形化天气预报系统实为JavaWeb后端调用天气API、前端HTML/JS渲染的三层架构;推荐OpenWeatherMapAPI,需URL编码中文、配置超时与重试、统一处理HTTP状态码及UTF-8响应,前端用fetch+ECharts渲染并转换开尔文温度,弃用Swing/JavaFX桌面方案。210 收藏 -
Collections.emptyList()和emptySet()返回不可变单例空集合,避免null返回引发异常。二者分别用于List和Set场景,节省内存且安全高效;但不可修改,需修改时应基于其创建新实例。478 收藏 -
JVM内存结构分为方法区、堆、虚拟机栈、本地方法栈、程序计数器五部分;堆与方法区线程共享,其余线程私有;堆是GC主区域,分新生代(Eden+S0/S1)和老年代;方法区JDK8+由元空间替代永久代;虚拟机栈以栈帧存储局部变量等;程序计数器记录字节码行号且不会OOM。326 收藏 -
new是Java创建对象最直接可控的方式,触发完整生命周期:分配内存→初始化字段→执行构造方法→返回引用;需注意语法规范、异常处理及构造方法逻辑完整性。229 收藏 -
Stream.peek可调试数据流,它作为中间操作在不改变流的前提下打印日志,帮助定位过滤、映射等环节问题,需注意避免副作用并结合日志框架使用。335 收藏 -
Runtime.getRuntime().exec()执行shutdown命令需显式调用cmd/c并传入参数数组,如{"cmd","/c","shutdown","-s","-t","60"},避免字符串拼接;取消用{"cmd","/c","shutdown","-a"};注意权限、stderr日志、ProcessBuilder替代及-t参数校验。261 收藏 -
CPS是一种将后续逻辑显式作为参数传递的编程模式,核心是用Continuation替代隐式返回控制流;它不改变Java语法,但支撑Kotlin协程、CompletableFuture链式调用等异步机制,提升控制流可管理性与调度灵活性。415 收藏 -
Java中==比较值或地址,equals()默认比较地址但可重写为内容比较;基本类型只能用==,引用类型==比地址、equals()需重写才按内容比较。360 收藏 -
单等号(=)是赋值运算符,用于将右侧值存入左侧变量;双等号(==)是关系运算符,用于比较相等性并返回布尔值,二者作用、使用场景及行为(如==存在隐式类型转换)截然不同。378 收藏 -
应用Java插件并设置项目基本信息,配置仓库与依赖管理,自定义构建任务,优化性能参数。示例包括启用java插件、定义group和version、指定Java版本、添加mavenCentral仓库、声明implementation依赖、创建printBuildInfo任务、在gradle.properties中启用守护进程与并行构建,提升构建效率。384 收藏 -
必须用Integer而非int的场景是需将数字作为对象使用时:存入ArrayList等集合、作Map键、参与泛型、允许为null;因int非对象,无法调方法、判null或JVM引用传递。301 收藏 -
throw用于方法体内实际抛出异常对象并中断执行,throws用于方法声明末尾声明可能抛出的异常类型以告知调用者;前者后接异常实例,后者后接异常类名,可多个逗号分隔。225 收藏 -
char是基本类型,占2字节,单引号存单个Unicode字符;String是不可变引用类型,双引号存任意长度字符串,比较需用equals()而非==。311 收藏