Sai

我有一壶酒 足以慰风尘


  • 首页

  • 标签

  • 分类

  • 归档

  • Android

  • Java

  • Kotlin

  • Git

  • Hexo

  • 关于

Post commit

发表于 2020-08-24

Java

The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
The foundation is not firmly shaken!!!
test

Java类加载机制

发表于 2020-06-05 | 分类于 Java

Java类加载过程

1.Java的类加载阶段通常认为主要包含五大阶段:加载阶段、链接阶段、初始化阶段、使用阶段、卸载阶段。其中链接阶段又可以细分为三大主要过程:验证、准备、解析。也即是:加载阶段、链接阶段(验证、准备、解析)、初始化阶段、使用阶段、卸载阶段。

阅读全文 »

ThreadLocal解析

发表于 2020-06-04 | 分类于 Java

什么是ThreadLocal

1.ThreadLocal为线程提供了独有的局部变量,每个线程私有。在Android的Handler消息机制中就使用到了ThreadLocal,而平时开发过程中,使用的场景并不是很多,主要可以实现:存储线程的信息如id,线程特有的变量信息等(线程私有避免了并发不安全问题)。源码中的定义:

1
2
3
4
5
6
7
8
/**
* This class provides thread-local variables. These variables differ from
* their normal counterparts in that each thread that accesses one (via its
* {@code get} or {@code set} method) has its own, independently initialized
* copy of the variable. {@code ThreadLocal} instances are typically private
* static fields in classes that wish to associate state with a thread (e.g.,
* a user ID or Transaction ID).
*/

阅读全文 »

Java虚拟机内存分配

发表于 2020-06-02 | 分类于 Java

Java内存

1.Java作为自动内存分配与回收的语言,了解内存分配的原理可以加深对JVM的理解,对于上层代码层面可以写出更健壮的代码。涉及到内存分配,必然要提及内存回收。程序的OOM显然是不合理的,理解清楚OOM的本质比解决OOM这个bug更重要。

阅读全文 »

Java中的线程池

发表于 2020-05-29 | 分类于 Java

前言

1.为什么需要线程池?线程池(Therad Pool)一种池化管理线程的思想。线程的频繁创建销毁,线程的调度伴随着较高的性能消耗。线程池就是对线程的统一管理,包括状态的管理,线程的复用,线程的创建,以及对线程最大数量的限制(线程作为计算机的稀缺资源,线程无休止的创建导致线程膨胀,必然会引起过分调度的问题,这样会适得其反)。JDK中实现的线程池,值得去深入理解。使用线程池会带来什么好处:

降低性能的开销:通过复用空闲的线程,减少线程创建带来的性能损耗。
提高响应速度:如果预先开启了空闲线程,那么任务达到时无需等待(线程创建的等待时间)可以立即执行。
统一管理:将线程统一管理,包括状态信息,线程的调度,分配,适当的时机销毁等。
可扩展性:由开发者扩展一些功能,如定时任务等。

阅读全文 »

Java方法锁、对象锁、类锁的区别

发表于 2020-05-29 | 分类于 Java

前言

1.Synchronized关键字由JVM虚拟机实现,平时用到的频率还是很高的,对于锁的作用域理解是很有必要的,如果锁的粒度太小,显然不值得牺牲CPU切换线程的开销。粒度太大,效率同样会大打折扣。具体要选用合适的锁粒度就必须对方法锁、对象锁、类锁等概念有清晰的认识。

阅读全文 »

Java中的锁机制

发表于 2020-05-28 | 分类于 Java

Java锁机制

1.Android的实际开发过程中,虽然高并发的场景不是很多,但是掌握Java中的各种锁机制对于理解高并发的场景,对于资源操作的处理尤为重要。Java并发中锁虽然众多,但是还是有一定的规矩可言的。

阅读全文 »

Pass by value or Pass by reference?

发表于 2020-05-26 | 分类于 Java

拷贝-引用拷贝

1.这里定义一个User类,给定name和age属性,测试打印一些信息:

阅读全文 »

Java中泛型extends与super的区别

发表于 2020-05-25 | 分类于 Java

从泛型擦除说起

1.Java从1.5开始引入了泛型,泛型-也就是参数化类型。在Java容器类中大量的使用了泛型这种思想。泛型的利用好处很多:

减少了代码中大量的强制性类型转换,可读性更高
通用性更强,
类型更安全,提高性能等

阅读全文 »

OkHttp-责任链模式

发表于 2020-05-21 | 分类于 Android

Java中的责任链模式

1.责任链模式又叫做职责链模式,赋予对象行为的设计模式,使多个参与者都有机会执行相应的逻辑,降低了耦合,平时开发过程中;我们其实已经接触到了责任链模式。只是是以另一种形态呈现:像switch、if-else,重构项目时对于这些首先想到的是责任链模式使结构更清晰,同样带来了一个问题。如果逻辑过于复杂,调用嵌套过深对性能是有一定的损失的。设计模式的多样化也表明了没有十全十美的设计模式。而我们需要掌握是思想。

阅读全文 »
12…5
JiaM

JiaM

人生不就是这般

46 日志
5 分类
13 标签
GitHub E-Mail
© 2020 JiaM
Power by Hexo
|
Themes-NexT.Pisces v5.1.4
  |  本站总访问量 次   |  您是第 位小伙伴