![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
语言基础
文章平均质量分 54
罐装面包
这个作者很懒,什么都没留下…
展开
-
Java 内部类的意义
解决多继承问题 Java 不支持多继承,因为如果继承的两个类都有一个共同的父类,那么属性会产生歧义。 C++ 支持多继承,通过 virtual 关键字解决 如果没有内部类,想要达到多继承的效果,可以通过实现多个接口来达到效果,但是实现了接口就要实现其中的方法,并不是特别友好,而且有可能有些方法并不需要实现,甚至也不用对外暴露(非 public)。 或者,更多的时候,我们需要多继承是为了聚合一些方法,减少代码的冗余,也许我们可以将多个父类进行实例化存储为类属性,但是如果这些类是抽象类,我们需要自己创建.原创 2022-02-22 18:50:55 · 531 阅读 · 0 评论 -
PHP 扩展笔记
XDebug Install Windows 官网会告诉你跳转到下载页去下载,但我只找到兼容较新 PHP 的 XDebug,如果需要下载旧版本的,首先访问wizard 在文本域中粘贴 php -i 输出的内容让后台进行分析,之后跳转到新的页面,点击下载 XDebug 将下载的 dll 文件移动到 PHP 所在目录的 ext 文件夹下 修改 php.ini 文件,添加如下配置,其中值为 dll 绝对路径: zend_extension = D:\wampserver\bin\php\php7.1.33\ext原创 2021-11-11 09:45:35 · 98 阅读 · 0 评论 -
Java 8 笔记
Optional Java 8 引入的特性是 Optional 类。Optional 类主要解决的问题是空指针异常(NullPointerException)。 本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。 public static void main(String[] args) { Map<String, Object> map = null; forEach(map); } public static void forEach原创 2021-10-08 18:41:59 · 112 阅读 · 0 评论 -
SPI 笔记
SPI 基本用法 类路径 /META-INF/services/ 文件夹下,创建文件名为接口全限定名的文件,文件中填写接口的实现类。 通过 ServiceLoader 能够进行加载 Tomcat 基本用法 创建 classpath:/META-INF/services/javax.servlet.ServletContainerInitializer 文件 编写 ServletContainerInitializer 实现类,并用 @HandlesTypes 注解 @HandlesTypes(原创 2021-10-04 17:55:30 · 119 阅读 · 0 评论 -
常用的设计模式笔记
单例 这是一种简单、安全的方式,这种写法即使在多线程下也不会出现安全问题: public class SingleInstance { private static SingleInstance instance = new SingleInstance(); private SingleInstance() {} public static SingleInstance getInstance() { return instance; } } 懒加载 pu原创 2021-10-01 20:19:11 · 86 阅读 · 0 评论 -
Java 源码阅读笔记
编码方式 注意字符集和字符编码的区别,字符集是一系列字符进行排序,对应的序号叫码位。字符编码是存储到计算机中的值。 ASCII 码位从 0 ~ 127,其中 0 ~ 31 和 127 是控制字符,32 ~ 126 是可见字符。字符编码比较简单,直接将码位以二进制形式存储。这里字符集码位和字符编码一致。 扩展 ASCII 在原有的 128 位 ASCII 码上进行扩展,解决了一些欧洲国家的字符存储问题,现在能表示 256 个字符。 GB2312 字符集采用分区管理,共 94 个区,每个区含有 94 码位,共原创 2021-08-07 20:33:24 · 138 阅读 · 0 评论 -
Java 集合类 Map 笔记
Hashtable、HashMap、TreeMap 三者区别 比较点 Hashtable HashMap TreeMap key 不能为null 可以为 null value 不能为 null 可以为 null key 一定情况下可以为 null 有序性 无序 无序 有序 容量 初始 11 初始 16,且一定为 2n2^n2n 扩容 2n+1 2n 线程安全性 线程安全 线程不安全 hash 值计算 底层是模运算,效率较低 底层是移位运算 Tr原创 2021-09-09 23:27:04 · 261 阅读 · 0 评论