Java基础随记

Java基础随记

  1. 抽象类不能被实例化。
  2. 抽象类可以有构造函数,抽象方法不能被声明为静态。
  3. 抽象方法只需申明,而无需实现,抽象类中可以允许普通方法有主体
  4. 含有抽象方法的类必须申明为抽象类
  5. 抽象的子类必须实现抽象类中所有抽象方法,否则这个子类也是抽象类。

一.基本数据类型

二、包装类

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,强制错误信息输入(如:非法数据、异常流程、业务允许外等),并得到预期的结果。

访问权限image-20220507095912390

死锁排查

1
2
3
4
5
//死锁排查    重点!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/*
1.使用 jsp -l 命令获取该类对应的线程号
2.使用 jstack + 端口号 获取堆栈信息排查死锁位置
*/

项目遇到问题:

  • 项目部署时候mysql版本问题,5.7和8支持的字符集类型不同
  • Nginx配置服务器缓存问题
  • 数据库权限设置问题
  • 域名配置和DNS解析配置问题

用过processlist吗?

show processlistshow full processlist 可以查看当前 MySQL 是否有压力,正在运行的SQL,有没有慢SQL正在执行。返回参数如下:

  1. id:线程ID,可以用kill id杀死某个线程

  2. db:数据库名称

  3. user:数据库用户

  4. host:数据库实例的IP

  5. command:当前执行的命令,比如SleepQueryConnect

  6. time:消耗时间,单位秒

  7. state

    :执行状态,主要有以下状态:

    • Sleep,线程正在等待客户端发送新的请求
    • Locked,线程正在等待锁
    • Sending data,正在处理SELECT查询的记录,同时把结果发送给客户端
    • Kill,正在执行kill语句,杀死指定线程
    • Connect,一个从节点连上了主节点
    • Quit,线程正在退出
    • Sorting for group,正在为GROUP BY做排序
    • Sorting for order,正在为ORDER BY做排序
  8. info:正在执行的SQL语句

SDK: Software Development Kit 的缩写,中文意思就是【软件开发工具包】。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做【SDK】。

**CDN:**Content Delivery Network,翻译成中文就是内容分发网络。CDN依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取内容,降低网络延迟,提高访问速度。简单来讲,CDN是用来进行加速的,它可以让用户更快获得所需的数据。

DBMS: 数据库管理系统

RDBMS:关系数据库管理系统


Java基础随记
https://zty-f.github.io/2022/05/03/Java基础随记/
作者
ZTY
发布于
2022年5月3日
更新于
2025年1月2日
许可协议