Welcome to My Blog
sleep wait yield sleep wait yield
sleep、wait和yield都是暂停线程的方法。 定义的类sleep()和yield()方法是定义在Thread类中,而wait()方法是定义在Object类中。 sleep在Java中Sleep方法有两个,一个只有一个毫秒参数,另一个
2020-08-16
hashmap hashmap
hashmap数据结构和构造在jdk1.8之前是数组加链表,之后是数组加链表加红黑树。 数组中存放对象Node,包含key, value, hash value, next指针。 参数DEFAULT_INITIAL_CAPACITY=16,
2020-08-13
juc juc
内存可见性JVM为每一个线程分配一个独立的缓存,以提高效率。 内存可见性问题:两个线程对于共享数据的操作,彼此不可见。 下面这段代码主线程的循环会一直执行。因为根本没有重新从堆内存获取flag的取值。 public class TestVo
2020-08-02
rpc rpc
RPC远程方法调用 Remote Procedure Call 分布式的通信方式。这是一个概念,具体有很多实现。必须要实现序列化。 分布式通信最基本是二进制数据传输TCP/IP。也可以用http或者webservice等其他通讯协议。 e.
2020-08-02
jvm jvm
JVM体系架构java是跨平台的语言,JVM是跨语言的平台(Kotlin,Scala, Jython, JRuby, JavaScript…)。JVM不关心运行在其内部的程序的编程语言,只关心字节码文件。 特点: 一次编译,到处运行 自动
2020-07-28
polymorphism polymorphism
面向对象编程有三个特征,即封装、继承和多态。 概念封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。 继承是为了重用父类代码,同时为实现多态性作准备。 多态是该对象自行决定响应何种行为,由方法的重写
2020-05-13
type conversion type conversion
int to String有三种方法,其中第二种第三种效率差不多,要比第一种更快。 a+"" String.valueOf(a) Integer.toString(a) String to int int a = Integer.pars
2020-02-26