首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
AntDream
掘友等级
十年移动端开发
专注移动端开发,偶尔搞点别的,哈哈
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
110
文章 110
沸点 0
赞
110
返回
|
搜索文章
最新
热门
深入理解Java虚拟机(七)之虚拟机执行子系统
静态方法、私有方法、实例构造器、父类方法以及final方法在类加载的时候就会把符号引用解析为该方法的直接引用。 所有依赖静态类型来定位方法执行版本的分派动作称为静态分派。静态分派发生在编译阶段,典型应用就是方法的重载 在运行期根据实际类型确定方法执行版本的分派过程称为动态分派。…
深入理解Java虚拟机(五)之Class类文件的底层结构
Class文件是以一组8位字节为基础单位的二进制流,中间没有分隔符。 每个Class文件的头四个字节称为魔数,用于确定这个文件是否为一个能被虚拟机接受的Class文件。Class文件的魔数值为:0xCAFEBABE 紧接着魔数的4个字节存储的是Class文件的版本号,分为次版本…
深入理解Java虚拟机(四)之JVM调优和Android Studio的GC日志
其中的JConsole 和Visual GC是插件,需要另外安装。 插件的安装分为在线安装和手动安装,推荐用在线安装。在线安装首先要在“设置”选项卡里面添加新的更新配置,配置好如图的链接,因为默认的链接已经失效了。需要注意的是JDK的版本不一样,链接也不一样。VisualVM官…
深入理解Java虚拟机(三)之垃圾收集
将内存按容量分为大小相等的2块,每次只使用其中的一块。当这一块内存用完了,就将存活的对象复制到另一块内存中,然后一次性清理掉已使用过的内存空间。 现在的商业虚拟机一般都采用这种复制算法回收新生代,但不是严格按照1:1这样划分内存。而是分为较大的一块Eden空间和2块较小的Sur…
深入理解Java虚拟机(二)之四种引用和2次标记
如果对象在进行可达性分析后发现不可达,就会被第一次标记并进行一次筛选,筛选的条件是此对象是否有必要执行finalize()方法 。当对象没有覆盖finalize()方法,或者finalize()方法已经被虚拟机调用过,虚拟机将这2种情况都视为“没有必要执行” 如果对象被判定为有…
深入理解Java虚拟机(一)之内存布局和对象的创建
内存分配完成以后,接着虚拟机会将分配的内存空间的初始化为零值(不包括对象头),如果使用TLAB,这一过程也可以提前至TLAB分配时进行。这一步可以保证在Java代码中可以不赋初值就可以直接使用 另一部分是类型指针,指向类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实…
Android自定义View之自定义加载进度条(二)
首先我们来解决第一个问题,也就是随着时间更新我们的进度。 其实原理也很简单,上次我们已经提到用Canvas的drawArc方法来绘制进度条,只需要改变绘制的角度就可以。所以我们可以利用时间差值器,在一段时间内让角度从0度变化到360度,也就是完整的一圈了。 这样子的话我们就只需…
Android自定义View之手把手带你自定义一个进度条
这次碰到一个简单的需求,就是如上图的加载进度条。分析总结后就几条: 分析完需求,那我们就来想想怎么实现这个特殊的View。 首先我们肯定先需要掌握基本的View的绘制,比如画笔Paint、画布Canvas,以及View的绘制原理等。 自定义View,其实可以这样简单来理解:假设…
Could not determine java version from '10.0.1'.
出现这个问题也是莫名其妙,但是可以肯定的是跟Java 10有关,最后通过降低JDK版本到1.8.0解决。 出现1.8.0就是安装成功了。
利用DrawerLayout实现自定义左右抽屉布局
抽屉布局的样式很多应用中都有应用,比如滴滴。其实实现也比较简单,就是用官方的DrawerLayout和NavigationView。具体的代码实现如果不熟悉了的话可以用Android Studio新建一个项目,在添加Activity时选择NavigationDrawerActi…
下一页
个人成就
优秀创作者
文章被点赞
1,200
文章被阅读
385,908
掘力值
9,597
关注了
1
关注者
2,084
收藏集
3
关注标签
88
加入于
2017-09-30