- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 Java中虚函数的概念,多态,动态分派
虚函数、多态、动态分派//todo????,原来Java还真有虚函数的概念。或者说没有虚函数的关键字,有这个相同的概念(多态)。C++有点烂,还是学一下吧。Java中有没有虚函数的概念?Java有虚函数对应的概念-多态,没有虚函数或者说普通函数就是虚函数。定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为:virtual 函数返回类型 函数名(参数表) {函数体};实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。
2020-11-19 10:34:54 766
原创 SPI机制(Service provider interface)、JAVA SPI、SpringBoot SPI、Dubbo SPI
SPI首先介绍一下SPI的概念:Service provider interface ,为某个接口寻找服务实现的机制。或者说可以通过配置来获取实现子类,就是将装配的控制权移到程序之外,在模块化设计中这个机制尤其重要。盲猜实现:需要在程序外规定一个放配置实现子类的地方,用以扫描发现服务(寻找服务);找到子类定义(全路径名)后,通过反射的方法实例化子类。JAVA SPIJAVA 自己实现的SPI机制的放配置地方在ClassPath路径下的META-INF/services文件夹下,其定义是扫描文件夹下的
2020-11-10 19:55:31 732
原创 网络编程中的BIO,NIO和AIO及Java实现
在处理 IO 的时候,阻塞和非阻塞都是同步 IO。BIO,blocking IO:同步阻塞 , sychronized , blockNIO,new IO:同步非阻塞 ,Non-block I/OAIO:异步非阻塞 , Asychronized阻塞/非阻塞阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态。即等待I/O完成的方式阻塞要求用户程序等待,线程被挂起,直到IO完成,调用线程只有在得到结果之后才会返回;而非阻塞程序继续执行,调用不会阻塞当前线程。同步/异步同步和异
2020-11-10 19:40:16 225
原创 TCP 最大连接数
TCP 最大连接数讨论:一个进程支持打开多大数目的socket描述符linux网络编程:select poll epollselect 所打开的FD是有一定限制的,由FD_SETSIZE设置,默认值是1024。poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态, 但是它没有最大连接数的限制,原因是它是基于链表来存储的。但是效率上来讲和select相同,都是O(n)的时间复杂度。epoll的存在: epoll则没有最大连接数的限制,它所支持的FD上
2020-11-10 19:33:35 2727
原创 JVM 关于各种常量池的概念的总结和讨论以及String在JVM中的形式
各种常量池、对象、基本类型、静态变量、字符串、符号引用和直接引用的来源去向和存储地址,让人头皮发麻。所以今天就来整理一下。这个讨论主要依据Java1.8,关于方法区中在1.8后有什么这些概念在《深入理解Java虚拟机:JVM高级特性与最佳实践》这本书都是混着讲的,讲的比较少。所以本文除了说明各种常量池都是什么,在哪,还验证方法区中还有什么?明确需要讨论的常量池概念名称来源去向存储位置常量池(静态常量池)class文件类加载后存放到运行时常量池中\运行时常量池静态常
2020-11-10 19:15:55 372 1
原创 Java 多线程创建方式,线程池创建方式,concurrent包下的内容
Thread 类和 Runnable 接口; callable接口与Future、线程池结合使用Thread 类和 Runnable 接口如果一个类继承 Thread类,则不适合于多个线程共享资源,而实现了 Runnable 接口,就可以方便的实现资源的共享。至于为什么实现Runnable可以共享资源,是因为线程调用的是同一个对象。Runnable runable = new Runnable(){ @Override public .
2020-11-10 15:41:57 255
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人