首页
沸点
课程
APP
AI用量
作品广场
专家标注
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java基础
订阅
cnicode
更多收藏集
微信扫码分享
微信
新浪微博
QQ
63篇文章 · 0订阅
Java类加载器 — classloader 的原理及应用
classloader顾名思义,即是类加载。虚拟机把描述类的数据从class字节码文件加载到内存,并对数据进行检验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。了解java的类加载机制,可以快速解决运行时的各种加载问题并快速定位其背后…
Java基础篇(04):日期与时间API用法详解
在系统开发中,日期与时间作为重要的业务因素,起到十分关键的作用,例如同一个时间节点下的数据生成,基于时间范围的各种数据统计和分析,集群节点统一时间避免超时等。 日期:通常年月日的组合表示当前日期。 时间:通常时分秒的组合表示当前时间。 时区:世界各国家与地区经度不同,划分24个…
Java锁的膨胀过程以及一致性哈希对锁膨胀的影响
在JDK6之前,通过synchronized来实现同步效率是很低的,被synchronized包裹的代码块经过javac编译后,会在代码块前后加上monitorenter和monitorexit字节码指令,被synchronized修饰的方法则会被加上ACC_SYNCHRONI…
try-catch-finally中的4个大坑,不小心就栽进去了!
在 Java 语言中 try-catch-finally 看似简单,一副人畜无害的样子,但想要真正的“掌控”它,却并不是一件容易的事。别的不说,咱就拿 fianlly 来说吧,别看它的功能单一,但使用起来却“暗藏杀机”,若您不信,咱来看下面的这几个例子... 若在 finall…
Java并发编程之线程池实践及实现原理
随着计算机的高速发展,多核cpu已经成为主流。为了让计算机充分发挥性能,使用多线程编程已然成为了程序猿为提升服务性能的必备武器。而Java提供的线程池能够很好的帮助咱们管理线程以及很方便的并行执行任务。如何合理的使用线程池以及熟悉其运行原理是每个程序员的基本技能。本篇结合线程池…
HashMap系列:2次方扩容
16 是 2 的N次幂,16 - 1 = 15 其二进制为低位全是 1(16的二进制为 0001 0000,15的二进制为 0000 1111),因此,任何一个数与 15 做『与』操作,直接将高位置0,而低位则是遇1保留,与0则0,因此就能非常方便的获取实际的下标值。 发现没?…
『互联网架构』软件架构-JVM(上)
1.JVM是Java Virtual Machine(Java虚拟机),执行java字节码的环境,一个程序自己独立的环境,必须要包含堆栈,寄存器,字节码指令。Java、Android、Scala、Groovy等语言都是可以在JVM上运行的,它们都遵照JVM的指令集的,也就是cl…
Java中,那些关于String和字符串常量池你需知道的东西
在一些老套的笔试题中,会要你判断s1==s2为false还是true,s1.equals(s2)为false还是true。 对于这种题,你总能很快的给出标准答案:==比较的是对象地址,equals方法比较的是真正的字符数组。所以输出的是false和true。 上面的属于最低阶的…
上海某小公司面试题:synchronized锁原理
文章以纯面试的角度去讲解,所以有很多的细节是未铺垫的。 鉴于很多同学反馈没看懂【对线面试官】系列,基础相关的知识我确实写过文章讲解过啦,但有的同学就是不爱去翻。 我把这些上传到网盘,你们有需要直接下载就好了。
CleanCode之方法级模板方法
1. 起因 红框内的代码是重复的(除了log日志打印的描述信息不同外),对于代码极简主义者,不由想把它优化掉。 2. 重构 2.1. 初次重构想法 看起来真的很接近,但模板方法模式是”多个子类“继承一个父类,每个子类可以有不同的行为(可变部分),而当前的场景是”一个类中的多个方…