主页

0

重拾Dagger2-组织

回顾在上一篇中, 我们从源码的角度分析了Dagger的工作原理, 在这一篇中, 我们来重点讲解Dagger2依赖组织的方式, 在讲解之前, 我们先来理解Component dependencies和SubComponent Component dependencies VS SubComponent为了提高一个Component中代码的复用度, 我们可以利用 Component dependenc

0

java基础

字符串使用+连接字符串 使用+连接字符串每次都会构建一个新的对象,在需要频繁拼接字符串的场景时,会比较耗时和浪费空间,因为String创建后就不可以再改变,因此+ 操作是线程安全的 StringBuilder 该类可以解决String拼接字符串时出现的问题,但是StringBuilder线程不安全。 StringBuffer StringBuilder可以保证线程安全,但是也因此效率变得低 总结 如果只需要简单的拼接字符串的话,可以直接使用+号拼接 如果需要频繁拼接而且无需考虑线程安全的,可以使用StringBuilder 如果需要频繁拼接但要考虑到线程安全的话,可以使用StringBuffer

0

图解HTTP-与HTTP协议的Web服务器-笔记

与HTTP协作的Web服务器通信数据转发程序:代理、网关、隧道 在HTTP通信时,代理、网关和隧道是用于通信数据的转发的应用程序,他们可以配合服务器进行工作 代理就像一个中介,他接收客户端发来的信息继而转发给服务器,同时也可以接受服务器的信息转发给客户端 网关是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。有时客户端可能都不会察觉,自己的通信目标是一个网关。 隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。 代理

0

Java内存分配与回收策略

内存分配与回收策略目录 对象优先在Eden分配 大对象直接进入老年代 长期存活对象将进入老年代 动态对象年龄判定 空间分配担保 对象优先在Eden分配 大多数情况下, 对象主要分配在新生代的Eden区上. 当Eden区没有足够的空间进行分配时, 虚拟机将进行一次 Minor GC 大对象直接进入老年代 大对象指的是需要大量连续内存空间的Java对象,最典型的大对象就是那种很长的字符串以及数组.

0

Java内存区域

Java内存区域目录 运行时数据区 程序计数器 Java虚拟机栈 本地方法栈 Java堆 方法区 运行时常量池 HotSpot虚拟机对象探秘 对象的创建 对象的内存布局 对象的访问定位 运行时数据区 程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。 字节码解释器通过改变程序计数器的值来选取下一条需要执行的字节码指令,分支,循环,跳转,异常处理