2018年9月1日
今天把牛客网的算法视屏看了一下,布隆过滤器,MD5等,map-reduce ;
2018年9月2日
混混囧囧过了4个月,有决定回到原点来做基础;
决定重新从java核心技术开始学,这次要稳,要做笔记,要独立实现;
1,打开api源代码
快捷键 功能
Ctrl + Shift+i 出现类似于预览的小窗口
Ctrl + Enter (接上步)完全打开源码
Ctrl + 鼠标左键 一步到位打开源码 = Ctrl + Shift+i –>Ctrl + Enter
2, employee类的静态方法不能访问Id实例域,因为他不能操作对象。但是,静态方法可以访问自身类中的静态域;以下两种情况可用静态方法:
(1) 一个方法不需要访问对象状态,所需参数均为显示提供;
(2)一个方法只需访问类的静态域;
3,·方法参数共两种类型:
(1) 基本数据类型(数值、布尔值) ;
(2) 对象引用;
4, 仅对本类可见——private;
对所有类可见——public ;
对本包和所有子类可用——protected ;
对本包可见——默认。
5 , java语言规范要求equals方法具有下面的特性:
自反性,对称性, 传递性, 一致性,对于任意非空引用x, x.equals(null)应该返回false;
6 , StringBuilder的常用方法
在程序开发过程中,我们常常碰到字符串连接的情况,方便和直接的方式是通过”+”符号来实现,但是这种方式达到目的的效率比较低,且每执行一次都会创建一个String对象,即耗时,又浪费空间。使用StringBuilder类就可以避免这种问题的发生,下面就Stringbuilder的使用做个简要的总结:
- 创建Stringbuilder对象
StringBuilder strB = new StringBuilder();
1、append(String str)/append(Char c):字符串连接
System.out.println(“StringBuilder:”+strB.append(“ch”).append(“111”).append(‘c’));
//return “StringBuilder:ch111c”
2、toString():返回一个与构建起或缓冲器内容相同的字符串
System.out.println(“String:”+strB.toString());
//return “String:ch111c”
3、appendcodePoint(int cp):追加一个代码点,并将其转换为一个或两个代码单元并返回this
System.out.println(“StringBuilder.appendCodePoint:”+strB.appendCodePoint(2));
//return “StringBuilder.appendCodePoint:ch111c”
4、setCharAt(int i, char c):将第 i 个代码单元设置为 c(可以理解为替换)
strB.setCharAt(2, ‘d’);
System.out.println(“StringBuilder.setCharAt:” + strB);
//return “StringBuilder.setCharAt:chd11c”
5、insert(int offset, String str)/insert(int offset, Char c):在指定位置之前插入字符(串)
System.out.println(“StringBuilder.insertString:”+ strB.insert(2, “LS”));
//return “StringBuilder.insertString:chLSd11c”
System.out.println(“StringBuilder.insertChar:”+ strB.insert(2, ‘L’));
//return “StringBuilder.insertChar:chLLSd11c”
6、delete(int startIndex,int endIndex):删除起始位置(含)到结尾位置(不含)之间的字符串
System.out.println(“StringBuilder.delete:”+ strB.delete(2, 4));
//return “StringBuilder.delete:chSd11c”
7、shift + tab 反向缩进 ;
8,、public boolean equals(Object otherObject) {
if (this == otherObject)
return true;
if (otherObject == null)
return false;
if (otherObject.getClass() != getClass())
return false;
Employee other = (Employee) otherObject;
return Objects.equals(name, other.name) && salary == other.salary
&& Objects.equals(hireDay, other.hireDay);
}注意other.salary是正确的;
9 , ctrl + 左键 查看源代码 ;
10, java,允许在运行时确定数组大小;
11、