E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
深入理解红黑树
深入理解
CopyOnWriteArrayList源码分析
上篇推荐:Java中快速失败(fail-fast)机制CopyOnWriteArrayList简介CopyOnWriteArrayList是java.util.concurrent包下提供的一个线程安全的ArrayList。它通过一个简单的策略来保证线程安全:当我们需要修改列表时(增加、删除、修改等操作),而不是直接对当前的内容进行操作,它会将当前的内容复制一份,在副本上执行修改,然后将原列表指向
一个搬砖的农民工
·
2023-12-06 09:29
Java
java
spring
cow
深入理解
PHP7 内核之 HashTable
转自:鸟哥/风雪之隅www.laruence.com/2020/02/25/3182.html之前俩篇文章我介绍了当时在开发PHP7的时候对zval和reference的一些改造思考和结果,之后因为确实精力有限就没有继续往下写,时隔一年多以后,因为这场突如其来的疫情,在家办公的时间很多,于是终于有了时间让我来继续介绍一下PHP7的中Hashtable的变化,以及当时我们做这些变化背后的考量.PHP
码农小光
·
2023-12-06 09:28
深入理解
Spring AOP:解析面向切面编程的利器!
大家好,我是香香。昨天我们介绍了Spring两大核心特性中的IOC(控制反转),今天我们来介绍另一个核心特性AOP(面向切面编程)。AOP(面向切面编程)在软件开发领域,我们经常会遇到一些横切关注点(的问题,比如日志记录、事务管理、安全性等。这些问题往往涉及多个模块,而且与业务逻辑相互交织,给代码的维护和扩展带来了困难。为了解决上述问题,Spring框架提供了一个强大的工具——AOP。1.什么是A
香香y
·
2023-12-06 07:24
Spring
spring
java
深入理解
Redis分片策略:提升系统性能的关键一步
目录引言1.一致性哈希算法2.范围分片3.哈希槽分片实战经验分享结论引言Redis作为一款高性能的键值存储系统,为了应对大规模数据和高并发的访问,引入了分片策略,使得数据能够分布存储在多个节点上,实现系统的横向扩展性。1.一致性哈希算法一致性哈希算法是Redis分片的核心之一。通过将数据的键映射到一个虚拟的哈希环上,每个Redis节点在哈希环上占据一定的范围。这样,当有新的节点加入或节点失效时,仅
骑着猪猪去旅行A
·
2023-12-06 06:04
#
Redis
中间件
数据库
redis
数据库
缓存
深入理解
Go 函数:从基础到高级
一、函数基础1、函数定义函数是组织好的、可重复使用的、用于执行指定任务的代码块Go语言中支持:函数、匿名函数和闭包packagemainimport"fmt"funcmain(){ret:=intSum(1,2)fmt.PrintIn(ret)//3}funcinstSum(x,yint)int{returnx+y}2、可变参数可变参数是指函数的参数数量不固定Go语言中的可变参数通过在参数名后加.
奔跑的蜗牛.
·
2023-12-06 06:24
GoLang
golang
开发语言
后端
深入理解
Go 语言中的接口(interface)
一、GoLang接口的定义1、GoLang中的接口在Go语言中接口(interface)是一种类型,一种抽象的类型接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节实现接口的条件一个对象只要全部实现了接口中的方法,那么就实现了这个接口换句话说,接口就是一个需要实现的方法列表2、定义一个Usber接口定义了一个Usber接口让Phone和Camera结
奔跑的蜗牛.
·
2023-12-06 06:53
GoLang
golang
开发语言
后端
Qt 控制台 使用connect连接信号和槽
导言:Qt的信号号和槽(Signal&Slots)是Qt的特性,
深入理解
该机制是能够精通Qt编程的关键。信号号和槽(Signal&Slots)的作用:信号和槽用于两个对象之间的通信。
qq_21291397
·
2023-12-06 05:46
Qt基础
Linux驱动开发入门
第一个内核模块main.cMakefile编译和加载模块总结Linux驱动开发入门Linux内核驱动开发是一个高级话题,涉及到对操作系统核心部分的
深入理解
。
Ricky_0528
·
2023-12-06 05:06
Linux驱动开发
linux
驱动开发
运维
【浅墨Unity3D Shader编程】之九
深入理解
Unity5中的Standard Shader (一)&屏幕水幕特效的实现
本系列文章由@浅墨_毛星云出品,转载请注明出处。文章链接:http://blog.csdn.net/poem_qianmo/article/details/49556461作者:毛星云(浅墨)微博:http://weibo.com/u/1723155442本文工程使用的Unity3D版本:5.2.1概要:本文主要介绍了Unity5中的标准着色器,并且也涉及到了基于物理的着色、延迟渲染等高级着色技术
blade_blood
·
2023-12-06 04:49
unity
shader
unity
unity3d
【计算机系统基石与Linux进程管理深度解析】
【本节重点】认识冯诺依曼系统操作系统概念与定位
深入理解
进程概念,了解PCB学习进程状态,学会创建进程,掌握僵尸进程和孤儿进程,及其形成原因和危害1.冯诺依曼体系结构我们常见的计算机,如笔记本。
笨笨胡小巴
·
2023-12-06 03:56
Linux
linux
阅读B站-036-沉迷学习的我今天断更了
谈谈今天的学习收获,今天关注的闭包和装饰器相关的内容,学习的过程中有通过书本+B站的视频,推荐的书有《
深入理解
python特性》,视频则是Python的闭包与装饰器。
都市牛
·
2023-12-05 20:37
Java内存模型
本文主要内容出自周志明老师《
深入理解
Java虚拟机》一书,是笔者结合自己的理解,提取重点,重新组织排版后,总结的读书笔记。计算机性能摩尔定律:描述处理器晶体管数量与运行效率之间的发展关系。
未子涵
·
2023-12-05 17:46
深入理解
JVM中的即时编译器(JIT)
前言:原始Class字节码通过JVM解释字节码将其翻译成对应的机器指令,逐条读入,逐条解释翻译。很显然,经过解释执行,其执行速度必然会比可执行的二进制字节码程序慢很多。这就是传统的JVM的解释器(Interpreter)的功能。为了解决这种效率问题,引入了JIT(即时编译)技术关于java代码如何被解析为操作指令推荐参考:Java代码的编译与执行过程1、JIT编译器概述JVM执行Java代码的过程
一个搬砖的农民工
·
2023-12-05 17:22
Java
jvm
JIT
即时编译器
逃逸分析
方法内联
深入理解
贝叶斯分类与朴素贝叶斯模型(Naive Bayes, NB):从基础到实战
目录贝叶斯分类公式决策规则优点贝叶斯分类器的例子——垃圾邮件问题1.特征(输入):2.类别:3.数据:4.模型训练:注:类别先验概率5.模型预测:朴素贝叶斯模型模型定位&模型假设模型算法例子sklearn朴素贝叶斯代码实现贝叶斯分类公式在贝叶斯分类中,我们关注的是样本属于某个类别的概率。设是输入特征向量,是类别。根据贝叶斯公式,我们可以计算后验概率:其中,是在给定输入x的条件下,属于类别的概率。是
星宇星静
·
2023-12-05 16:42
笔记
算法
人工智能
机器学习
naive
Bayes
分类算法
分类
scikit-learn
红黑树
与AVL树,各自的优缺点总结
红黑树
不追求"完全平衡",即不像AVL那样要求节点的|balFact|<=1,它只要求部分达到平衡,但是提出了为节点增加颜色,红黑是用非严格的平衡来换取增删节点时候旋转次数的降低,任何不平衡都会在三次旋转之内解决
執著我們的執著
·
2023-12-05 14:35
【指针大纲总结】
大纲链接
深入理解
指针1
深入理解
指针2
深入理解
指针3指针练习1
深入理解
指针4
深入理解
指针5
且听吟风°
·
2023-12-05 13:01
c语言
开发语言
【
深入理解
指针 (2)】
目录数组名的理解使用指针访问数组一维数组传参的本质冒泡排序二级指针指针数组指针数组模拟二维数组1.数组名的理解在上一个章节使用指针访问数组的内容时,有这样的代码:intarr[10]={1,2,3,4,5,6,7,8,9,10}int*p=&arr[0]这里&arr[0]的方式拿到了第一个元素的地址,但是数组名本来就是地址,而且是数组首元素的地址intarr[10]={1,2,3,4,5,6,7,
且听吟风°
·
2023-12-05 13:31
深入理解
c/c+
c语言
开发语言
C语言——I /
深入理解
指针(五)
一、sizeof和strlen的对比1、sizeofsizeof是操作符,计算变量所占内存内存空间⼤⼩的,单位是字节,如果操作数是类型的话,计算的是使⽤类型创建的变量所占内存空间的⼤⼩。sizeof只关注占⽤内存空间的⼤⼩,不在乎内存中存放什么数据。#inculdeintmain(){inta=10;printf("%d\n",sizeof(a));printf("%d\n",sizeofa);p
慢半拍iii
·
2023-12-05 13:43
C语言讲解
c语言
算法
开发语言
C语言——I /
深入理解
指针(四)
一、回调函数是什么?回调函数就是⼀个通过函数指针调⽤的函数。如果你把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数时,被调⽤的函数就是回调函数。回调函数不是由该函数的实现⽅直接调⽤,⽽是在特定的事件或条件发⽣时由另外的⼀⽅调⽤的,⽤于对该事件或条件进⾏响应。第13讲中我们写的计算机的实现的代码中,红⾊框中的代码是重复出现的,其中虽然执⾏计算的逻辑是区别的,但是输⼊输
慢半拍iii
·
2023-12-05 13:38
C语言讲解
c语言
开发语言
Java中的并发编程:
深入理解
CountDownLatch
Java中的并发编程:
深入理解
CountDownLatch本文将深入探讨Java中的并发编程,重点关注CountDownLatch的使用。
创客公元
·
2023-12-05 13:45
java
开发语言
深入理解
:指针变量的解引用 与 加法运算
前言指针变量的解引用和加法运算是非常高频的考点,也是难点,因为对初学者的不友好,这就导致了各大考试都很喜欢在这里出题,通常会伴随着强制类型转换、二维数组、数组指针等一起考查大家对指针的理解。但是不要怕,也许看完这篇文章你有了新的认识和理解,写的不透彻的地方也希望大家多多指正理解:指针变量的解引用我们分下面两步理解:解引用,拿出来的是什么?解引用,根据什么拿出来的?1.拿出来的是什么首先解引用拿出来
小程序面包园
·
2023-12-05 13:38
C语言学习
java
开发语言
c语言
c++
指针
【C++】学习笔记(十二)----set和unordered_set、map和unordered_map区别
unordered_map常见操作的时间复杂度set、map和unordered_set、unordered_map相比而言的优缺点unordered_set、unordered_map注意事项区别:set和map都是基于
红黑树
实现
深思沉浮
·
2023-12-05 12:04
C++
c++
学习
c++——map和set
一、setset文档介绍特性1、set的底层实现是通过
红黑树
实现的。2、set是按照一定次序存储元素的容器。3、在set中,元素的key(value)必须是唯一的,所以它具有去重的特性。
蜗 @牛
·
2023-12-05 12:03
数据结构
C++
启新教育趣辅导02501110304_徐湖城感悟
2、关键词:学会选择今日感悟:从今天起,改变自己对事的态度,要让自己懂得为什么要那样做,
深入理解
我们做事的动机。我们
Mr城南
·
2023-12-05 11:57
【C语言】
深入理解
指针(1)
目录前言(一)内存与地址从实际生活出发地址内存内存与地址关系密切(二)指针变量指针变量与取地址操作符指针变量与解引用操作符指针的大小指针的运算指针+-整数指针-指针指针的关系运算指针的类型的意义void*指针const修饰指针野指针野指针成因如何规避野指针前言C语言是一种直接操作内存的编程语言,我们可以直接访问和操作计算机内存中的地址空间。而C语言中存在的指针类型,指针指向的就是内存中的地址。我们
Watink Cpper
·
2023-12-05 11:43
C进阶
c语言
经验分享
深入理解
Docker 核心原理:Namespace、Cgroups 和 Rootfs
来自:探索云原生https://www.lixueduan.com原文:https://www.lixueduan.com/posts/docker/03-container-core/通过这篇文章你可以了解到Docker容器的核心实现原理,包括Namespace、Cgroups、Rootfs等三个核心功能。后续文章会演示如何从零实现一个简易的Docker,这里先简单了解下Docker的核心原理。
探索云原生
·
2023-12-05 11:04
Docker
docker
容器
探索 Linux Namespace:Docker 隔离的神奇背后
来自:探索云原生https://www.lixueduan.com原文:https://www.lixueduan.com/posts/docker/03-container-core/在
深入理解
Docker
探索云原生
·
2023-12-05 11:32
Docker
Linux
linux
docker
运维
JVM字节码指令表
虚拟机字节码指令表(《
深入理解
Java虚拟机》第二版)JVM指令表常量型本地变量数组变量类型将值存入变量将值存入数组将值弹出栈顶复制栈顶数值指令交换指令变量计算变量增加指定值跳转指令返回指令获值/赋值指令调用方法指令创建对象指令异常指令锁指令常量型助记符指令含义
狂奔的蜗牛已被占用
·
2023-12-05 09:33
JavaSE
JVM
指令表
深入理解
Java线程
1.线程基础知识1.1线程和进程进程:进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。线程:线程是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源1.2上下文切换(Contextswitch)上下文切换是指CPU(中央处理单元)从一个进程或线程到另一个进程或线程的切换。上下文切换只能在内核模式下发生。内核模式是CPU的特权模式,其中只有内核运行
子墨将
·
2023-12-05 09:58
并发
java
java
linux
深入理解
线程池
创建线程的三种方法:(1)继承ThreadpublicclasstestextendsThread{@Overridepublicvoidrun(){System.out.println("创建成功了么");}publicstaticvoidmain(String[]args){testa=newtest();a.start();}}(2)实现runable接口publicclasstestimp
kk变色龙13
·
2023-12-05 07:40
java
开发语言
深入理解
Servlet(下)
作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬在这一篇文章里,将会讨论ServletContext以及Servlet映射规则。这两个知识点非常重要,ServletContext直接关系到SpringIOC容器的初始化,而Servlet映射规则与SpringMVC关系密切。可以说,作为
smart哥
·
2023-12-05 06:47
javaWeb进阶
servlet
javaweb
Java变量与常量:
深入理解
基础概念
✨个人主页:全栈程序猿的CSDN博客系列专栏:Java从入门到精通✌座右铭:编码如诗,Bug似流星,持续追求优雅的代码,解决问题如同星辰般自如在Java编程中,变量和常量是构建程序的基本元素,对其深入了解是成为优秀程序员的关键。让我们逐步探讨这些概念。变量与常量的概念在编程中,变量用于存储数据,而常量则是不可变的数据。理解它们之间的区别是编写稳健代码的第一步。声明变量在Java中,声明变量需要指定
全栈程序媛
·
2023-12-05 05:49
Java从入门到精通
java
开发语言
数据结构——栈
四、通过OJ题
深入理解
栈题目一出栈的输出序列判断题目二栈的压入、弹出序列题目三中缀表达式与后缀表达式1.中缀表达式转后缀表达式2.通过后缀表达式求出中
十七ing
·
2023-12-05 04:27
数据结构
数据结构
java
intellij-idea
【数据结构】
红黑树
与2-3树
什么是
红黑树
?
红黑树
的定义每个节点或者是红色的,或者是黑色的。根节点是黑色的。每一个叶子节点(最后的空节点)是黑色的。如果一个节点是红色的,那么他的孩子节点都是黑色的。
花逝97
·
2023-12-05 02:20
深入理解
Java中继承的高级使用方案
摘要:继承是Java中的一项强大的特性,它允许子类从父类中继承属性和方法。然而,继承的高级使用方案涉及更复杂的概念和技术,可以帮助开发人员构建更加灵活、可维护和可扩展的代码。本文将深入探讨Java中继承的高级用法,包括抽象类、接口、多态、以及一些设计模式的应用。1.抽象类的应用1.1抽象方法抽象类是包含抽象方法的类,这些方法在子类中必须被实现。通过抽象方法,可以强制子类提供特定的实现。public
疯风0409
·
2023-12-05 02:19
Java
java
开发语言
深入理解
Java中抽象的高级使用
摘要:在Java编程中,抽象是一种强大的工具,它可以帮助我们构建更加灵活和可维护的代码。本文将深入探讨Java中抽象的高级使用,包括抽象类、抽象方法、接口、以及一些设计模式的应用。1.抽象类的高级应用1.1构造方法与抽象类抽象类可以有构造方法,这样在子类实例化时可以执行一些初始化操作。publicabstractclassShape{protectedStringcolor;publicShape
疯风0409
·
2023-12-05 02:19
Java
java
开发语言
深入理解
Java 8中的Lambda表达式与函数式接口
摘要:Java8引入了Lambda表达式和函数式接口的概念,为Java编程带来了重要的变革。本文将深入探讨Java8中Lambda表达式的语法和用法,以及函数式接口的概念,帮助读者更好地理解和利用这一强大的编程特性。1.Lambda表达式1.1基本语法Lambda表达式是一种紧凑、简洁的语法,用于表示函数式接口(FunctionalInterface)的实例。其基本语法如下:(parameters
疯风0409
·
2023-12-05 02:48
Java
java
开发语言
《
深入理解
JAVA虚拟机》学习笔记--JAVA内存模型
Java虚拟机规范中试图定义一种Java内存模型(JavaMemoryModel,JMM)来屏蔽各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。主内存与工作内存Java内存模型规定了所有的变量都存储在主内存(MainMemory)中。每条线程还有自己的工作内存(WorkingMemory),线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝(这
木子小三金
·
2023-12-05 02:02
java中jvm虚拟机详解_
深入理解
Java虚拟机(一) -- 详解JVM内存区域
前言在周志明老师的《
深入理解
Java虚拟机:JVM高级特性和最佳实践》中有下面一段话:Java与C++之间有一堵有内存动态分配和垃圾收集技术所围成的“高墙”,墙外的人想进去,墙里面的人却想出来。
Hey'u
·
2023-12-05 01:50
java中jvm虚拟机详解
深入理解
JVM:字节码指令详解
学好字节码指令对于
深入理解
JVM有更好的帮助,能够清除的了解各种字节码指令的含义与作用。Java虚拟机你的指令由一个字节长度的,代
帅帅的Max
·
2023-12-05 01:50
JVM基础与原理
jvm
白话说Java虚拟机原理系列【第二章】:Class字节码文件详解
Constant_Pool_Count常量池中数据的类型:字面量/符号引用常量池Constant_Pool的结构5.访问标志6.类索引/父类索引/接口索引集合7.字段表集合8.方发表集合9.属性表集合10.字节码指令前导说明:本文基于《
深入理解
上树的蜗牛儿
·
2023-12-05 01:18
Java虚拟机原理
java
jvm
开发语言
class字节码文件
深入理解
JVM虚拟机第二十七篇:详解JVM当中InvokeDynamic字节码指令,Java是动态类型语言么?
学习交流群:✅✅1:这是孙哥suns给大家的福利!✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料3:QQ群:583783824工作微信:BigTreeJava拉你进微信群,免费领取!4:本文章内容出自上述:Spring应用课程!5:以上内容,进群免费领取呦~一:InvokeDynamic字节码指令1:背景说明我们之前说过,JVM当中的
岁岁种桃花儿
·
2023-12-05 01:16
#
JVM专栏
jvm
InvokeDynamic
静态类型语言
动态类型语言
多线程-锁
iOS中保证线程安全的几种方式与性能对比iOS常见知识点(三):Lock线程安全之锁pthread的各种同步机制
深入理解
iOS开发中的锁
你weixiao的时候很美
·
2023-12-05 01:43
【C语言】
深入理解
数据类型转换与运算
文章目录1.数据类型转换在分析源程序之前,我们需要了解几个基本概念:现在来分析源程序中的变量及其对应的十进制真值以及扩展操作方式:1.1.`shortsi=-32768;`1.2.`unsignedshortusi=si;`1.3.`inti=si;`1.4.`unsignedui=usi;`2.编写程序说明不同数据类型之间进行转换时在表数范围和精度上的变化。2.1.给定一个`short`型数据`
Q_hd
·
2023-12-05 00:15
C语言
c语言
开发语言
【C语言】
深入理解
C语言中的数学运算和类型转换
文章目录引言取负运算的奥秘源码探索分析与解读浮点数运算的精细差异源码分析精度损失与隐式类型转换精度和除零运算探究float类型和double类型的精度各是多少(即十进制有效位的位数)?在你的机器上,“负数开方”是如何处理的(如“-8.0/0”、“sqrt(-4.0)”的运算结果)?在你的机器上,整数除0和浮点数除0的运行结果各是什么?为什么会有不同的运行结果?,并将“-6.0/0”和“-6/0”的
Q_hd
·
2023-12-05 00:44
C语言
c语言
开发语言
深入理解
强化学习——马尔可夫决策过程:蒙特卡洛方法-[基础知识]
分类目录:《
深入理解
强化学习》总目录蒙特卡洛方法(Monte-CarloMethods)也被称为统计模拟方法,是一种基于概率统计的数值计算方法。
von Neumann
·
2023-12-04 22:25
深入理解强化学习
人工智能
强化学习
深度强化学习
马尔可夫决策过程
蒙特卡洛方法
马尔科夫决策过程
马尔可夫过程
C语言——
深入理解
指针(4)
目录1.回调函数2.qsort函数的使用2.1排序整型数据2.2排序结构体数据3.qsort函数的模拟实现1.回调函数回调函数就是通过一个函数指针调用的函数。你把函数的地址作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,被调用的函数就是回调函数。该函数不是自己直接调用自己,而是在特点的事件或条件发生时由另外的⼀⽅调⽤的,⽤于对该事件或条件进行响应。回调函数使用条件:这些函数的的函数
残念ing
·
2023-12-04 21:39
C语言
c语言
开发语言
C语言——
深入理解
指针(5)
目录1.sizeof和strlen的对比1.1sizeof1.2strlen1.3sizeof和strlen的对比2.数据和指针题解析2.1一维数组2.2字符数组2.2.12.2.22.2.32.2.42.2.52.2,62.3二维数组3.指针运算题解析3.1例13.2例23.3例33.4例43.5例53.6例63.7例71.sizeof和strlen的对比1.1sizeofsizeof是用来计算
残念ing
·
2023-12-04 21:03
C语言
c语言
算法
开发语言
1024程序员节
深入理解
JVM内存空间的担保策略
Java虚拟机(JVM)的内存管理是Java性能调优中最重要的方面之一,特别是在处理大型应用和服务时。JVM内存管理的一个关键组成部分是垃圾回收(GC)。在GC过程中,JVM需要确保有足够的内存来创建新对象,同时还要清理不再使用的对象。而空间担保策略是JVM为了应对这一需求而采取的一种内部机制。本文将深入探讨JVM的空间担保策略是什么,以及它是如何工作的。什么是JVM空间担保策略?空间担保策略(P
一个搬砖的农民工
·
2023-12-04 19:32
Java
jvm
空间担保策略
垃圾回收
树专题 —— 左倾
红黑树
本篇我们来讲一下左倾
红黑树
,大部分内容参考的是《算法第四版》,希望大家能有耐心看完,不过更希望大家有精力去读原书。如果大家想要找刷题路线的话,可以参考Github:LeetCode。
方圆想当图灵
·
2023-12-04 18:32
算法
数据结构
上一页
41
42
43
44
45
46
47
48
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他