学习中的一些笔记,不懂的时候再来翻翻(持续更新)
A
abstract
可以包含抽象方法,不能创建实例
父类型的引用变量指向子类对象
abstract类只能用来派生子类,不能用来创建abstract类的对象。
static 和 abstract不能同时修饰某个方法,没有所谓的类抽象方法,但是可以同时修饰内部类。Private和abstract不能同时修饰方法。
抽象方法和空方法不是同一个概念。
abstract class Animal {abstract void cry();abstract String getAnimalName();
}
B
C
重写(override),重载(overload),重构(Refactoring)
重写:就是在子类中将父类的成员方法的名称保留,重写成员方法的实现内容,更改成员方法的存储权限,或是修改成员方法中的返回值类型。
当重写父类方法时,修改方法的修饰权限只能从小的范围到大的范围改变。例如,如果父类中run()方法的修饰权限为protected,继承后子类中的run()的修饰权限只能修改为public,不能修改为private。
重载:JAVA中方法的重载是在一个类中发生进行的。当有多个方法具有相同的名字、不同的参数列表时,便产生了方法的重载,此时方法的返回类型与修饰符可相同与不同均无关系。参数列表的不同包括参数的类型,参数的个数,参数的顺序这三者之中至少有一项不同。当调用这些重载的方法时根据参数列表的不同来自动匹配方法,这也体现了JAVA的多态性。
重构:千万不要把重构理解为“构造方法的重载”。在软件工程中,重构是说程序员为了对已有程序在尽量不改变接口的前提下,进行去除bug,提高效率,增加新的功能等等重新编写代码的工作从而调整软件结构,改进代码质量。
总结:方法的重载是JAVA的多态性在个类中的体现,而方法的重写是JAVA的多态性在父类与子类(即类与类)之间的实现,重构是发生在软件工程中的,不要与构造方法中的重载混淆。
D
Druid
#Spring Boot 默认是不注入这些属性值的,需要自己绑定#druid 数据源专有配置initialSize: 5minIdle: 5maxActive: 20maxWait: 60000timeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsepoolPreparedStatements: true#配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入#如果允许时报错 java.lang.ClassNotFoundException: org.apache.log4j.Priority#则导入 log4j 依赖即可,Maven 地址: https://mvnrepository.com/artifact/log4j/log4jfilters: stat,wall,log4jmaxPoolPreparedStatementPerConnectionSize: 20useGlobalDataSourceStat: trueconnectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
E
Exception
try
使用try…catch块捕获时可以没有catch块,但当没用catch块的时候必须得有finally块
F
G
H
I
J
基本数据类型
4类9种
整型(byte,short,int,long) 浮点型(float,double)
boolean型(ture,flase) 字符型(char)
K
快捷键:
d: 切换盘符
dir 列出当前目录的所有文件
chdir 当前路径
cd 打开目录
rd 删除文件夹
. 当前目录
.. 上一级目录
tab 补全/缩进
del 删除文件
rd /s/q 强行删除文件夹
cs 清屏
cd\ 退回根目录cmd命令:
notepad 记事本
mspaint 画图
calc 计算器
control 控制面板
shutdown -s -t 0 关机
L
垃圾回收机制
1、在java中,对象的内存在哪个时刻回收,取决于垃圾回收器何时运行。
2、一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法, 并且在下一次垃圾回收动作发生时,才会真正的回收对象占用的内存(《java 编程思想》)
3、在C++中,对象的内存在哪个时刻被回收,是可以确定的,在C++中,析构函数和资源的释放息息相关,能不能正确处理析构函数,关乎能否正确回收对象内存资源。
在java中,对象的内存在哪个时刻回收,取决于垃圾回收器何时运行,在java中,所有的对象,包括对象中包含的其他对象,它们所占的内存的回收都依靠垃圾回收器,因此不需要一个函数如C++析构函数那样来做必要的垃圾回收工作。当然存在本地方法时需要finalize()方法来清理本地对象。在《java编程思想》中提及,finalize()方法的一个作用是用来回收“本地方法”中的本地对象
M
mybatis
mybatis的官方文档地址:mybatis中文文档https://mybatis.org/mybatis-3/zh/index.html
N
NaN
在java浮点数值计算都遵循IEEE 754规范,具体来说,下面是用于表示溢出和出错情况的三个特殊的浮点数值:
正无穷大
负无穷大
NaN(不是一个数字)
例如,一个正整数除以0的结果为正无穷大,计算0/0或者负数的平方根结果为NaN。
常量Double.POSITIVE_INFINITY,Double_NEGATIVE_INFINITY和Double.NaN分别表示这三个特殊的值。
检测一个特定值是否等于Double.NaN:
if(Double.isNaN(x))
if(x==NaN) //这个是永远不对的
O
Object打印不出现物理地址,直接打印名字
当我们输出object的时候,会查询父类型的toString方法,对于Object类的toString方法public String toString()
返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂。建议所有子类都重写此方法。Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。
换句话说,该方法返回一个字符串,它的值等于:getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
如果想要直接显示对象名,需采用getClass().getSimpleName()
例如:
public String toString() {return this.getClass().getSimpleName();
}
P
Q
R
S
素数
/*** 输出100以内的素数*/
public class prime {public static void main(String[] args) {System.out.println();boolean flag;for (int i = 2; i < 100; i++) {flag = true;for (int j = 2; j < i / 2; j++) {if (i % j == 0)flag = false;}if (flag == true) {System.out.print(i + " ");}}}
}
数组
一维数组和二维数组
public static void main(String[] args) {int[] a = {10,20,30,40},b[] = {{1,2},{4,5,6,7}};b[0] = a;b[0][1] = b[1][3];System.out.println(b[0][3]);System.out.println(a[1]);
}
这个问题是个关于引用传递的问题,
b[0] = a;//这句话说明,将a的地址赋给了b[0],
也就是说,你只要改a和b[0]中的任何一个,另一个也会改变的,
如果不想另一个跟着改变可以用克隆数组之后再赋给b[0]
也就是说,数组和基本类型不一样,数组你把a给b[0],那么是指向的内存是同一块了,那么b[0]修改了之后,a指向的也是这一块,a[1]当然也变。
方法(记得是Arrays,而不是Array)
Arrays.fill(arr,100) 填充数据
Arrays.sort(int[]) 对指定的 int 型数组按数字升序进行排序。
Arrays.copyOf(int[] original, int newLength) 数组复制
示例代码如下:
public static void main(String[] args) {int[] a = {15, 23, 25, 4, -1, 42, 123};int[] b = Arrays.copyOf(a, 10);for (int i = 0; i <b.length ; i++) {System.out.print(b[i]+" "); //15 23 25 4 -1 42 123 0 0 0 }System.out.println();Arrays.sort(a,0,a.length);for (int i = 0; i < a.length; i++) {System.out.print(a[i]+" "); //-1 4 15 23 25 42 123 }
}
arraycopy方法
public static void arraycopy
(Object src, int srcPos, Object dest, int destPos, int length)
代码解释:
>Object src : 原数组
>int srcPos : 从元数据的起始位置开始
>Object dest : 目标数组
>int destPos : 目标数组的开始起始位置
>int length : 要copy的数组的长度
T
U
V
W
X
循环
- do-while循环中表达式为true时才执行循环
- while,for循环中也是如此
//示例代码
do {t = t * i;sum += 1 / (double) t;i++;
} while (i <= n); //true执行循环,false跳出循环
Y
硬件组成
控制器,运算器,存储器,输入 设备,输出设备
Z
注解
@PathVariable和@RequestParam:从前端指定数据
通过@PathVariable,例如/blogs/1
通过@RequestParam,例如blogs?blogId=1
1、当URL指向的是某一具体业务资源(或资源列表),例如博客,用户时,使用@PathVariable
2、当URL需要对资源或者资源列表进行过滤,筛选时,用@RequestParam
正则表达式
元字符 | 描述 |
---|---|
\b | 边界 |
\w | 数字、字母、_ |
\W | \w的补集 |
\d | 数字 |
\D | 非数字 |
\s | 所有的空白字符(包括空格、制表符tab、回车) |
[ ] | 字符之间的([0-9]、[a-s]、[A-S]) |
[\u4e00-\u9fa5] | 匹配中文字符 |
[ ]+ | 可以重复一次或多次 |
[ ]* | 可以重复零次或多次 |
[ ]? | 零次或一次 |
[ ]{a,b} | 重复a到b次 |
学习中的一些笔记,不懂的时候再来翻翻(持续更新)相关推荐
- 数据库SQL语言学习--上机练习2(连接查询 嵌套查询)(持续更新中)
数据库SQL语言学习--上机练习2(连接查询 嵌套查询)(持续更新中) 上机练习2 1. 启动SQL Server 2008中的 SQL Server Management ...
- 自学it18大数据笔记-第三阶段Spark-day04——会持续更新……
笔记为自学时随手记录,如有错误,欢迎指正,不胜感激!现已广州转移至上海,欢迎小伙伴们加qq或微博沟通交流(QQ,微博和博客同名) 笔记分享:自学it18大数据笔记-第三阶段Spark-day04--会 ...
- 自学it18大数据笔记-第三阶段Scala-day06——会持续更新……
笔记为自学时随手记录,如有错误,欢迎指正,不胜感激!现已广州转移至上海,欢迎小伙伴们加qq或微博沟通交流(QQ,微博和博客同名) 笔记分享:自学it18大数据笔记-第三阶段Scala-day06--会 ...
- 小白学习三维检测和三维语义理解(3D-understanding)持续更新中。。
Uderstanding Understanding 三维 understanding 一.Learning only from point cloud (1)PointNet: Deep Learn ...
- 学习笔记,每日打卡,持续更新
文章更新于:2020-04-03 注:本贴用于学习备忘,持续更新. 每日打卡 一.就是一 1.1.2020-04-03 1.2.2020-04-04 1.3.2020-04-05 1.4.2020-0 ...
- 人工智能(机器学习、深度学习等)专业名词、代码参数解释(持续更新)
说明:记录日常学习中遇到的专业名词,代码参数.既是自己的学习笔记,也供大伙交流学习. epoch:当一个完整的数据集中的所有训练样本在神经网络中都进行了一次正向传播和一次反向传播,这个过程称为一次ep ...
- 论文中著名会议和期刊的一些介绍(持续更新中)
我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI 微信公众号介绍:Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关内容, ...
- 【中创】壹起共享“免费”网络资源库-持续更新中
想找资源又不知道在哪下载?今天整理分享16个可以免费下载的资源库, 从学习资源,电影,动漫,实用工具,大学考研,软件下载,素材资源,大学资源,网盘资源,网易,极客等...用到的各个类目的课件都能找到, ...
- MySQL笔记 干货,未完结(持续更新)
周边About 数据模型 层次类型:层次模型就是以"上下级"的层次关系来组织数据的一种方式,层次模型的数据结构看起来就像一颗树 ┌─────┐└─────┘┌───────┴─── ...
- BLE低功耗蓝牙开发学习,从零到深教程文档总结(持续更新2022/6/14更新)
写在前面: 写教程原因: 说说自己写这次的ble教程的由来吧.以往公司总有很多是做单片机的或者应届生毕业,他们对ble不是很连接,公司一般都会安排别人来做一点培训啊,或者老员工带.巧了,之前帮别的培训 ...
最新文章
- VTK:Utilities之SaveSceneToFile
- 2.当vmware中的Linux磁盘大小不足了的时候,修改vmware中Linux磁盘空间大小的解决方案
- 改进的简单Tooltips显示
- 在XUnit中用Moq怎样模拟EntityFramework Core下的DbSet
- python数据变更邮件提醒_Python之Bilibili自动更新邮件提醒并任务栏图标「完整代码」...
- 标准模板库(STL)之 queue 列传
- 2021华硕秋季新品发布会:每一幕,都精彩
- FCM算法的matlab实现(Fuzzy C-means 算法)
- springboot与mybatis整合
- 企业软文推广应该怎么做,软文写作指导
- 部署k8s时ssh端口不是22导致创建ssh session failed问题
- 总结定时器设计方法_超实用!网站导航栏设计方法总结
- 将js对象转为json对象属性加上引号
- ipad计算机功能,ipad功能有哪些 ipad功能介绍
- Angular------win10搭建Angular环境并运行hello-world
- ant java macrodef_为大型项目提供的 Ant 1.6 新特性
- Ubuntu MATE 19.10-远程办公启示录
- 解决MSN登陆不了的几种方法
- mysql 聚集索引 存什么_什么是mysql的聚集索引?
- AE镜头光晕插件:Optical Flares for Mac(支持ae2022)