java 核心技术 读后总结

总结

1.少用八进制,以及二进制。

那么就是直接用16进制或10进制吗?额,想当年有这样搞过,后面就uuid了。

2.>>>用0填充高位>>用符号位填充高位<<<不存在

冷知识吧,也就当年校招见过人问过

3.java没有多维数组,只有一维数组

我们所说的二维数组,本质上是数组的数组

4.编译多个名字差不多的文件

如 AbcController和AbcService两个文件,javac Abc*.java 即可一次性编译两个

5.比较是不是同一个类 用equals而不是instanceof

因为子类instanceof也报true

Objects.equals(a,b);

a instanceof b;

6.list代替数组

7.这书就是各种带图片小标题,警告注意重点*n的,还不如给个标题号啊。同样是基础书,我偏向think in java 。

8.异常处理

一.异常处理不能顶替简单的测试。就是不要随便利用异常进行业务代码,其实这个在其他语言里面很经常在具体的异常里面进行相应的业务操作。

二.不要过分细分异常。很近的几个异常可以放到同一个try里面

错误例子
try
(){ a }catch(){ } try(){ b }catch(){ }
正确例子

try(){
   a
  b
}catch(){

}catch(){

}

三.利用异常的层次结构。几个异常若异常处理一致,通常是log,可以用父类包含

错误例子
try(){
  a
 b
}catch(aException ){

}catch(bException){

}

正确例子,aException bException,是cException的子类
try(){
  a
 b
}catch(cException ){

}

四。不要压制异常。不要用太大的异常父类处理,导致其他的异常都被拦截了,无法具体异常具体处理。

错误例子
try(){
  a
 b
}catch(Exception ){

}

正确例子,cException是Exception的子类
try(){
  a
 b
}catch(cException ){

}

五.检查错误苛待比放任好。就是宁愿写成二的那种正确例子,也不写成四的正确例子,因为大多数人都是写成四的错误例子。

六.不要羞于处理异常。就是一个程序员素质的问题,没什么好说的。

9.断言,有点想深入了解,但是和think in java 里面都是说了几句。看来断言的实际使用真的很少,而且个人观感也是if,try,log等就可以代替,并且这三种的使用很频繁。

10.集合和数据之间的转换

        String[] values = new String[]{"a","b","a"};
        HashSet set = new HashSet(Arrays.asList(values));
        String[] values2 =(String[]) set.toArray();//error 
        String[] values3 = (String[]) set.toArray(new String[0]);

可以做到简单去重,这段代码只是开了个头,后续的相信大家都能自己补充。

11.编写代码是,若参数是集合,应尽可能使用接口。好处匹配的类跟多,不同类型传进来不需要特意转。

12.xml,这些的文件解析java有自带的功能实现啊,但是考虑到文档的可读性,,,我还是选择第三方的,因为他们的文档接地气啊...

13.执行sql语句的防注入,其实就是select * from emp where name = ?和select * from emp where name =maozhedong的区别,这算是一种代码规范了,我都是默认第一种的

14.数据库可滚动的结果集,last,next什么之类的

15.format也被写进高级篇了。。。。

16.java核心技术被吹,估计就是里面有很多文件管理系统,进度指示器,网页管理系统的源码吧,,,

17.javabean 应该有一个无参的构造方法,同一个bean必须在多个系统都能使用(这过期了吧,现在流行的是当前系统只接受所需要的信息,dtovomo什么的了解一下?)

18.javabean都用gui(图形界面)的例子来讲,我算是看出来了,这是一个偏向gui的书,而我则是一个想直接往后端走的人,怪不得一本评价这么高的书,我看起来觉得一般般,毕竟书的思路都不是和我一路的。

19.热部署的本质是将类加载器从系统上下文加载器变成当前类的类加载器(只符合servlets和ejb的热部署)

20.数字签名这章说的例子很好,当然主要是openssl我用过...看的时候他说什么都基本秒懂

21.所以,这就是安卓的权限申请的来源了?然而,国外至少都对他需要的权力做出了解释,而国内只是对他需要的权力的申请,问了一下用户,我们都不知道他要来干嘛。培训班的恶果啊。

22.注解接口,特殊值value,使用时可忽略value=

public @interface Action{
    String value;   
}

@Action(“123”)和@Action(value=“123”)一样

23.里面的第11章分布式对象,把java怎么写注册中心写出来,牛逼

24.java使用c语言,要先用javah搞个套,然后再把相应的代码复制到这个套里面,再在系统中把他编译到java的动态装载库???这么麻烦,还是搞个web我们http传数据吧。

原文地址:https://www.cnblogs.com/ydymz/p/9789530.html