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(“”)和@Action(value=“”)一样
23.里面的第11章分布式对象,把java怎么写注册中心写出来,牛逼
24.java使用c语言,要先用javah搞个套,然后再把相应的代码复制到这个套里面,再在系统中把他编译到java的动态装载库???这么麻烦,还是搞个web我们http传数据吧。
java 核心技术 读后总结的更多相关文章
- 《像计算机科学家一样思考Java》—— 读后总结
本书属于入门级的Java书籍,与其他的向编程思想.核心技术不同的是,这本书不是按部就班的讲解java变成知识,而是随着语言的深入慢慢增加知识点. 这本书以一个语言开发者的角度,深入浅出的讲解了Java ...
- 深入理解java虚拟机读后总结
之前看过,很多会遗忘,标记一下,温故知新.(明天的我一定会感谢现在努力的自己. ) 一.运行时数据区域 Java虚拟机管理的内存包括几个运行时数据内存:方法区.虚拟机栈.本地方法栈.堆.程序计数器,其 ...
- 《Effective Java》——读后总结
这本书在Java开发的行业里,颇有名气.今天总算是粗略的看完了…后面线程部分和序列化部分由于心浮气躁看的不仔细.这个月还剩下一周,慢慢总结消化. 1.静态工厂方法代替构造器 静态工厂方法有名称,能确切 ...
- Java内存区域 - 深入Java虚拟机读后总结
Java虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域,这些区域有各自的用途,有各自的创建时间和销毁时间,有的区域随着虚拟机进程的启动而存在,有的区域则是依赖用户线程的启动 ...
- 了解OutOfMemoryError异常 - 深入Java虚拟机读后总结
JVM中的异常发生 Java虚拟机规范中除了程序计数器外,其他几个运行时区域都有发生OutOfMemoryError异常的可能. 本章笔记通过代码来验证Java虚拟机规范中描述的各个运行时区域存储的内 ...
- 深入理解java虚拟机读后总结(个人总结记录)
1.jvm布局: jdk1.6版本JVM布局分为:heap(堆),method(方法区),stack(虚拟机栈),native stack(本地方法栈),程序计数器共五大区域. 其中方法区包含运行 ...
- 《Effective Java》—— 读后总结
这本书在Java开发的行业里,颇有名气.今天总算是粗略的看完了...后面线程部分和序列化部分由于心浮气躁看的不仔细.这个月还剩下一周,慢慢总结消化.
- 【书海】《Head First Java》 ——读后总结
<Head First Java> 中文版 (第二版) IT`huhui前言录 <Head First Java>这本书我不算特别细的看了一遍.认为十分适合初学者,甚至是没接触 ...
- 读《java核心技术卷一》有感
过去一个多月了吧.才囫囵吞枣地把这书过了一遍.话说这书也够长的,一共706页.我从来不是个喜欢记录的人,一直以来看什么书都是看完了就扔一边去,可能有时候有那么一点想记录下来的冲动,但算算时间太紧,很多 ...
随机推荐
- 关于redis,学会这8点就够了(转)
1.redis是什么 redis是一种支持Key-Value等多种数据结构的存储系统.可用于缓存.事件发布或订阅.高速队列等场景.该数据库使用ANSI C语言编写,支持网络,提供字符串.哈希.列表.队 ...
- Mybaits整合Spring自动扫描 接口,Mybaits配置文件.xml文件和Dao实体类
1.转自:https://blog.csdn.net/u013802160/article/details/51815077 <?xml version="1.0" enco ...
- Win10 上 安装Arduino 驱动 和 Arduino IDE 1.6.9
Win10 安装Arduino IDE软件 和 驱动 在Win10 上安装最新的Arduino IDE (1.6.9安装包)很简单,并且不行要手动安装Arduino板子的驱动,整个安装过程都当前的简单 ...
- 6.7 root和user之间的切换
- Struts2学习第六课 实现登录登出功能
关于Struts2请求的扩展名问题: 1).org.apache.struts2包下的default.properties中配置了struts2应用的一些常量 2).struts.action.ext ...
- NPM run start使用本地的http-server
在项目开发过程中,Visual Studio 2015 一个Solution中有一个前端项目 Myproject.FrontEnd,我们使用node.js, npm来进行管理 在这个项目中,有一个pa ...
- try catch 块中debug时发现错误细节的一次记录
在解决已有代码的一个问题时,有一个try catch块,基本代码如下: try { //do something } catch { LogHelper.Debug(typeof(myHelper), ...
- Ubuntu12.04安装svn1.8
先在终端执行sudo sh -c 'echo "# WANdisco Open Source Repo" >> /etc/apt/sources.list.d/WANd ...
- Redis源码分析-底层数据结构盘点
前段时间翻看了Redis的源代码(C语言版本,Git地址:https://github.com/antirez/redis), 过了一遍Redis数据结构,包括SDS.ADList.dict.ints ...
- kolla-ansible安装cinder
LVM后端 环境拓扑 节点 IP 主机名 Controller/Network/Apollo 92.0.0.11 anode Compute/Storage 92.0.0.12 bnode multi ...