Java核心基础
文章平均质量分 80
Java核心基础
斗锋在干嘛
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
String、StringBuffer、StringBuilder 对比解析
理解这些差异和原理可以帮助开发者根据具体场景选择最合适的字符串操作方式,在保证功能的同时优化性能表现。:多线程→StringBuffer,单线程→StringBuilder。:提升作为HashMap key的性能。:极高性能→StringBuilder。(1字节/字符)存储纯英文更省空间。复杂的字符串构建(如SQL拼接):保证Java类加载的正确性。(2字节/字符)处理多语言。字符串常量(如配置信息)需要线程安全的字符串拼接。方法内部的临时字符串构建。高性能要求的字符串处理。原创 2016-07-15 15:50:05 · 465 阅读 · 0 评论 -
Intent传递对象需要序列化解析
理解这些原理可以帮助开发者正确设计Android组件间的数据传递方案,在保证功能的同时兼顾性能表现。中(如Activity和Service)。序列化是将对象转换为可跨进程传输格式的必要手段。Bundle本身就是基于Parcelable设计的容器。实现Parcelable并优化序列化效率。组件可能被系统重新创建(如横竖屏切换)每个Android应用运行在独立进程。,而Android组件可能运行在。数据大小有限制(通常1MB左右)使用文件共享(如临时文件)两者共享相同的序列化要求。:性能较低(反射开销)原创 2016-07-15 15:57:29 · 607 阅读 · 0 评论 -
Android序列化:Parcelable与Serializable深度对比
理解这些区别可以帮助您在Android开发中做出正确的序列化方案选择,平衡性能、开发效率和可维护性。使用@IgnoredOnParcel注解(AndroidX扩展)测试对象:包含15个字段的复杂对象序列化/反序列化1000次。是否需要持久化/网络传输?添加字段时在writeToParcel末尾写入新字段。读取时检查dataAvail()判断是否有新字段。:Parcelable显式指定字段读写顺序。直接不写入Parcel。:需手动处理字段增减。原创 2016-07-15 17:23:45 · 2896 阅读 · 1 评论 -
Java异常机制:Exception与Error的深度区别
A:业务异常应继承Exception(或其子类)除非开发JVM扩展,否则。原创 2016-07-19 17:38:43 · 611 阅读 · 0 评论 -
finally代码块的执行规则深度解析
项目中所有文件打开后SDK方法全部显示红色警告项目可以正常编译运行代码提示功能失效。原创 2017-10-19 11:23:52 · 1612 阅读 · 0 评论 -
String s = new String(“xxx“) 创建的对象数量分析
理解字符串创建机制有助于写出更高效、更安全的Java代码,尤其在处理大量字符串时能有效控制内存使用。JDK6及之前:常量池在永久代(PermGen)直接在堆内存创建新的String对象(第1个)在字符串常量池创建"xxx"对象(第1个)在堆内存创建新的String对象(第2个)不存在:在常量池创建"xxx"字面量对象。A:最多1个(仅在常量池不存在时创建)检查字符串常量池是否存在"xxx"在堆内存中新建String对象。JDK7+:常量池移到堆内存。已存在:直接引用现有字面量。确保字符串在常量池中存在。原创 2017-12-04 17:22:51 · 2097 阅读 · 4 评论 -
Java参数传递机制深度解析
KMP算法的关键是next数组的求法在KMP算法中有个数组,叫做前缀数组,也有的叫next数组,每一个子串有一个固定的next数组,它记录着字符串匹配过程中失配情况下可以向前多跳几个字符,当然它描述的也是子串的对称程度,程度越高,值越大,当然之前可能出现再匹配的机会就更大。 用一个例子来解释,下面是一个子串的next数组的值,可以看到这个子串的对称程度很高,所以next值都比较大。...原创 2018-08-10 14:33:13 · 354 阅读 · 0 评论 -
静态内部类与非静态内部类的深度解析
面向对象的5个基本设计原则:单一职责原则(Single-Resposibility Principle) 其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而大大损伤其内聚性和...原创 2018-08-10 14:33:43 · 265 阅读 · 0 评论 -
Java中抽象类与接口的选择策略
1 背景不能只分析源码呀,分析的同时也要整理归纳基础知识,刚好有人微博私信让全面说说Android的动画,所以今天来一发Android应用的各种Animation大集合。英文厉害的请直接移步参考Android Developer。Android系统提供了很多丰富的API去实现UI的2D与3D动画,最主要的划分可以分为如下几类: View Animation: 视图动画在古老的Andr...原创 2018-08-10 14:42:14 · 269 阅读 · 0 评论 -
Java集合HashMap原理,存取过程,为什么用红黑树,红黑树与完全二叉树对比,HashTab、concurrentHashMap,concurrent包里有啥解析
1.Eclipse下App放置在项目根目录的bin目录中2.而Android studio大改后,放在了module中,所以你一定要记得你的存放路径。也就是工程对应的文件夹。3.android studio工程的存储路径下app/build/outputs/apk(其中app是你的module,在对应的module下即可找到)原创 2015-11-14 20:27:56 · 2308 阅读 · 0 评论 -
HashMap、SparseArray与ConcurrentHashMap深度解析
一、HashMap实现原理1. 核心数据结构mermaid复制graph LR A[HashMap] --> B[数组+链表/红黑树] B --> C[Node<K,V>[] table] C --> D[链表节点] C --> E[树节点 TreeNode]工作流程:put操作:通过(n-1) & hash计算桶位置哈希冲突:链表长度≥8且桶数量≥64时转为红黑树扩容机制:默认负载因子0.75,扩容时rehash关键代码:java复制fin原创 2015-11-07 18:37:05 · 423 阅读 · 0 评论
分享