-
Java中只有值传递,对象参数传递的是引用值(内存地址),因此可修改对象状态但无法改变原引用指向。
-
接口与实现分离通过依赖抽象提升代码可维护性和扩展性,定义高内聚、职责明确的接口,实现类专注具体逻辑并命名体现策略,结合多态与依赖注入解耦,合理组织包结构便于团队协作。
-
ArrayList线程不安全因其方法无同步控制,多线程并发add可能引发扩容竞态,导致ArrayIndexOutOfBoundsException、数据丢失或ConcurrentModificationException。
-
在Java中,LinkedHashMap是HashMap的一个子类,它通过维护一个双向链表来保证元素的插入顺序。这意味着当你遍历LinkedHashMap时,元素的返回顺序与它们被插入的顺序一致。这一点与HashMap不同,HashMap不保证任何顺序。保持插入顺序的基本用法创建一个LinkedHashMap非常简单,和HashMap的使用方式几乎一样:LinkedHashMapmap=newLinkedHashMap();map.put("apple",1
-
JavaJIT通过回边与调用计数器识别热点循环,自动执行展开、向量化和范围检查消除;需避免反射、大循环体、异常等干扰,并用诊断参数验证优化效果。
-
合并List首选addAll(),需目标集合可变;Set合并推荐构造器+addAll();Stream.concat()仅支持两流且不处理null;GuavaIterables.concat()为懒视图,需转实体集合。
-
最直接的方法是调用clear()方法,该方法会移除集合中所有元素,使集合变为空,适用于ArrayList、HashSet、HashMap等实现Collection接口的集合类,调用后原对象仍存在但元素被删除,若需释放内存可将引用置为null,注意多引用时clear()会影响所有指向该集合的对象。
-
Java序列化安全漏洞的根本原因在于其“过度灵活”与“隐式执行”特性。1.反序列化时自动调用readObject()等“魔术方法”,攻击者可构造恶意字节流触发非预期操作;2.利用多个类的“魔术方法”串联形成“GadgetChain”,如ApacheCommonsCollections中的InvokerTransformer,实现远程代码执行;3.开发者对内部系统的隐式信任导致边界模糊,使不可信数据被反序列化后成为后门。常见攻击载荷包括ApacheCommonsCollections、SpringFrame
-
Java中二维数组实为“数组的数组”,支持不规则结构;声明如int[][]arr=newint3或int[][]arr={{1,2},{3,4,5},{6}};遍历时需判空防NullPointerException。
-
本文讲解如何在Jackson中正确排除自定义POJO(如Mgmt)的空实例,解决@JsonInclude(JsonInclude.Include.NON_EMPTY)对嵌套对象无效的问题,通过自定义valueFilter实现基于业务语义的“空”判定。
-
子节点要逆序入栈是因为栈的LIFO特性,为保证左→右访问顺序需先压右后压左;应使用ArrayDeque替代过时的Stack;BFS中必须用poll()而非remove()以防异常;按层遍历时需缓存queue.size()避免动态变化。
-
运算符结合性指相同优先级运算符的计算方向,Java中多数运算符左结合(如算术运算),赋值、一元及三元运算符右结合,正确理解可避免表达式误读。
-
先编译Pattern再用Matcher匹配,可高效处理字符串。例如匹配邮箱:使用Pattern.compile()定义规则,matcher.find()遍历结果,输出所有邮箱地址。处理多行文本时添加Pattern.DOTALL标志,使.匹配换行符,结合非贪婪模式.*?提取日志中的错误信息和用户。复杂结构推荐分组捕获并注释group编号含义,提升可维护性。启用UNICODE_CHARACTER_CLASS支持中文字符识别。性能优化方面,避免嵌套量词防止回溯灾难,优先使用非贪婪模式,固定前缀可用indexOf
-
类字段初始化在super()后、constructor体执行前,this已存在但仅能访问已初始化字段;constructor内赋值在super()返回后,this完全就绪;字段初始化不触发getter/setter,复杂逻辑应放constructor中。
-
不能直接替换,必须在构造ThreadPoolExecutor时显式传入PriorityBlockingQueue,且需注意其不支持null、无公平性保证;队列初始化后不可变,须用newThreadPoolExecutor(...,newPriorityBlockingQueue())创建。