1. JavaSE、JavaEE、JavaME 的区别
JavaSE(基础/标准版): 用来开发和部署计算机应用软件的, 例:IDEA / Eclipse
JavaEE(进阶/企业版): 用来开发网站的后台服务器的, 例如: 电商网站, 公司内部用到的网站
JavaME(外部硬件/微型版): 用来开发一些电子设备的外部挂载设备所需要使用的程序, 例: 打印机, 机顶盒, 蓝牙音箱
2. 常量与变量的区别(普通话版)
常量: 固定的数值, 经常用到的, 例:123456789
变量: 也就是值会发生改变的量, 例: int a = 1; 这个 a 就是变量, 因为可以改变它的值
3. for 循环、while 循环、Iterator迭代器
for 循环由两种
普通 for: 有一个定义的变量作为数组或集合的索引下标, 用来获取对应的值
增强 for: 在 普通 for 的基础上进行增强, 用来遍历对象数组或集合, 底层使用的是迭代器
while 循环: 暂时没有深入研究
Iterator迭代器: 用来遍历对象数组或集合, 底层指定一个变量当作遍历的索引用来获取元素
next(): 判断迭代器对象当前能不能获取到元素
hasNext(): 获取到元素并将变量 +1
4.servelt
servlet 项目如果是普通工程需要导入 jar 包, 然后通过 maven 启动, 如果是直接创建的 maven 项目就不需要导入 jar 包, 引入依赖后通过maven 启动
5.类与对象
类: Java程序中不可缺少的组成部分, 里面包含了属性和行为, 也就是变量和方法
对象: 通过类来创建, 对象可以去获取类中的变量值和方法
6.反射
反射可以获取到类中的变量和方法, 创建对象同样可以获取到类中的变量和方法, 它们的区别在于, 反射可以无视修饰符获取, 而创建出来的对象却不行
另外, 被 final 修饰的变量, 一般情况下是不能被修改的, 但是通过反射却可以修改, 也有可能是我理解错了, 因为我不知道为什么会出现这样的情况,
有一个很有意思的例子:
Field value = String.class.getDeclaredField("value");
value.setAccessible(true);
String s = "hadoop";
value.set(s, new char[]{'j', 'i', 'n', 'g'});
System.out.println(s);
7.正则表达式
英文名: regex
概念: 用于描述一串数据的规律所用的工具, 或者说用来记录规则的工具, 在 java 代码层面上来说, 就是一个具有特殊含义的字符串