Java基础随记
Java基础随记
- 抽象类不能被实例化。
- 抽象类可以有构造函数,抽象方法不能被声明为静态。
- 抽象方法只需申明,而无需实现,抽象类中可以允许普通方法有主体
- 含有抽象方法的类必须申明为抽象类
- 抽象的子类必须实现抽象类中所有抽象方法,否则这个子类也是抽象类。
一.基本数据类型
二、包装类
2.1 Java为每种基本数据类型分别设计了对应的类,称之为包装类。
基本数据类型 | 对应的包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
每个包装类的对象可以封装一个相应的基本数据类型的数据,并提供了其他一些有用的方法。包装类对象一经创建,其内容不可改变。
基本数据类型与包装类的相互交换:
由基本数据类型向对应的包装类转换称为装箱,例如把int包装成integer类的对象。
由包装类相对应的基本数据类型转换称为拆箱,例如把integer类的对象重新简化为int。
数据对象:xxxDO,xxx 即为数据表名。
数据传输对象:xxxDTO,xxx 为业务领域相关的名称。
展示对象:xxxVO,xxx 一般为网页名称。
1) 待办事宜(TODO):(标记人,标记时间,[预计处理时间])
表示需要实现,但目前还未实现的功能。这实际上是一个 Javadoc 的标签,目前的 Javadoc 还没
有实现,但已经被广泛使用。只能应用于类,接口和方法(因为它是一个 Javadoc 标签)。
2) 错误,不能工作(FIXME):(标记人,标记时间,[预计处理时间])
在注释中用 FIXME 标记某代码是错误的,而且不能工作,需要及时纠正的情况。
编写单元测试代码遵守 BCDE 原则,以保证被测试模块的交付质量。
B:Border,边界值测试,包括循环边界、特殊取值、特殊时间点、数据顺序等。
C:Correct,正确的输入,并得到预期的结果。
D:Design,与设计文档相结合,来编写单元测试。
E:Error,强制错误信息输入(如:非法数据、异常流程、业务允许外等),并得到预期的结果。
访问权限
死锁排查
1 |
|
项目遇到问题:
- 项目部署时候mysql版本问题,5.7和8支持的字符集类型不同
- Nginx配置服务器缓存问题
- 数据库权限设置问题
- 域名配置和DNS解析配置问题
用过processlist吗?
show processlist
或 show full processlist
可以查看当前 MySQL 是否有压力,正在运行的SQL
,有没有慢SQL
正在执行。返回参数如下:
id:线程ID,可以用
kill id
杀死某个线程db:数据库名称
user:数据库用户
host:数据库实例的IP
command:当前执行的命令,比如
Sleep
,Query
,Connect
等time:消耗时间,单位秒
state
:执行状态,主要有以下状态:
- Sleep,线程正在等待客户端发送新的请求
- Locked,线程正在等待锁
- Sending data,正在处理
SELECT
查询的记录,同时把结果发送给客户端 - Kill,正在执行
kill
语句,杀死指定线程 - Connect,一个从节点连上了主节点
- Quit,线程正在退出
- Sorting for group,正在为
GROUP BY
做排序 - Sorting for order,正在为
ORDER BY
做排序
info:正在执行的
SQL
语句
SDK: Software Development Kit 的缩写,中文意思就是【软件开发工具包】。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做【SDK】。
**CDN:**Content Delivery Network,翻译成中文就是内容分发网络。CDN依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取内容,降低网络延迟,提高访问速度。简单来讲,CDN是用来进行加速的,它可以让用户更快获得所需的数据。
DBMS: 数据库管理系统
RDBMS:关系数据库管理系统