java
pretty_boy1
奋斗!!!
展开
-
DVM和ART的区别详解
DVM是Google为了Android平台研发的虚拟机,DVM严格上来说并不是JAVA虚拟机,其本身并没有遵循JVM规范。ART是在Android4.4的时候由Google研发,用于替换DVM的虚拟机。ART虚拟机与DVM主要有以下4点不同:1、应用运行方式不同:DVM中的应用每次运行的时候,字节码都需要通过JIT编译器编译为机器码,这样就会导致应用的运行效率变低。而ART,系统在安装应用程序的时候会进行一次预编译处理,将字节码预先编译成机器码并存储在本地,这样应用程序每次运行时就不需要执行编译了,运原创 2021-07-03 12:04:12 · 846 阅读 · 0 评论 -
JAVA UTC时间和本地时间
UT - 世界时Universal Time 世界时是最早的时间标准。 在1884年,国际上将1s确定为全年内每日平均长度的1/8.64×104。以此标准形成的时间系统,称为世界时,即 UT1。 1972年国际上开始使用国际原子时标,从那以后,经过格林威治老天文台本初子午线的时间便被称为世界时,即UT2, 或称格林威治时间(GMT),是对地球转速周期性差异进行校正后的世界时。TAI...原创 2018-09-03 22:05:10 · 9161 阅读 · 0 评论 -
设计模式之代理模式(静态代理)
代理模式也被称作委托模式。通俗点来说,就是有一个对象代理另一个对象的操作。当无法或者不想直接访问某个对象的存在困难时,可以通过一个代理对象来间接访问。为了对调用者保持透明。需要让委托对象和代理对象之间实现同样的接口。代理模式分为静态代理和动态代理。 静态代理主要是:不想直接访问某个对象,使用一个代理类来访问的方式。...原创 2018-11-18 20:23:50 · 529 阅读 · 0 评论 -
设计模式之代理模式(动态代理)
上一篇介绍了设计模式之代理模式的静态代理。在实际编程中,静态代理模式都很好理解。但是通常使用比较多还是动态代理。主要是因为实现阶段不用关系代理是哪个,而在运行阶段指定具体哪个代理。java中著名的spring框架中面向AOP编程的思想就是基于动态代理。说到动态代理,不得不说个接口 InvocationHandler,java API文档中有句介绍的话。InvocationHandler is ...原创 2018-11-18 20:56:54 · 692 阅读 · 0 评论 -
Java读取Apk的包名,版本号,权限列表,支持的最小系统版本等信息
Java读取Apk的版本号,包名,权限信息,支持的最小系统版本等系统等。无论是做后台开发,或者是android开发。有时候需要获取apk文件的版本号,包名,权限,以及支持最小系统版本等信息。比如在做apk更新的时候,如果不是发布应用商店,自己做更新的时候。我们可能就需要得到服务器版本的apk版本号等基本信息。那么怎么去获取apk文件的这些基本信息呢。这里介绍一个工具GetAPKInfo.jar的...原创 2018-11-14 18:10:15 · 5531 阅读 · 2 评论 -
JAVA部分序列化之关键字transient
Java中对象的序列化指的是将对象转换成以字节序列的形式来表示,这些字节序列包含了对象的数据和信息,一个序列化后的对象可以被写到数据库或文件中,也可用于网络传输,一般当我们使用缓存cache(内存空间不够有可能会本地存储到硬盘)或远程调用rpc(网络传输)的时候,经常需要让我们的实体类实现Serializable接口,目的就是为了让其可序列化。当然,序列化后的最终目的是为了反序列化,恢复成原先的...原创 2019-01-26 10:04:16 · 903 阅读 · 0 评论 -
JVM的内存结构
JVM是按照是按照运行时数据的存储结构来划分内存结构的,JVM在运行java程序的时候,将它们划分成了几种不同的数据结构,分别存储在不同的区域。JVM的虚拟规范中,划分成6种,1、pc计数器:pc计数器,也叫程序计数器,是用来保存当前正常执行的程序的内存地址。由于线程是cpu调用的最小单元,java程序是多线程执行的。也就是说PC计数器需要记下每条线程当前运行的虚拟机字节码指令地址。当然如果...原创 2019-03-08 21:19:34 · 360 阅读 · 0 评论 -
Java多线程详解
java并发之多线程原创 2019-03-09 10:01:55 · 205 阅读 · 0 评论