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页.我从来不是个喜欢记录的人,一直以来看什么书都是看完了就扔一边去,可能有时候有那么一点想记录下来的冲动,但算算时间太紧,很多 ...
随机推荐
- Python模块-logging模块(二)
logging模块记录日志有四个主要类:logger,handler,formatter,filter logger提供了应用程序可以直接使用的接口,每个程序在输出信息之前都要获得一个Logger h ...
- mybatis 学习三 mapper xml 配置信息
mapper xml 映射文件 1,select 标签 简单是用就这样,其中resultType 代表从这条语句中返回的期望类型的类的完全限定名或别名.也可以使用resultMap对应的id ...
- Windows部署jenkins服务器
本次使用的操作系统: windows server 2012 r2vs版本: vs 2015jenkins: 2.19.4 一.下载jenkins http://mirror.xmission.com ...
- k8s 基础(4) k8s安装
转自 http://www.cnblogs.com/informatics/p/7389806.html 安装和配置 从github.com/kubernetes/kubernetes上下载1.6.8 ...
- Spring的@value注解
Spring 3支持@value注解的方式获取properties文件中的配置值,大简化了读取配置文件的代码. 1.在applicationContext.xml文件中配置properties文件 & ...
- Flask06 地址约定、利用falsk提供的方法渲染模板
1 访问地址约定 在访问路径的末尾是否需要加 / -> 可以加,也可以不加 前端的访问路径必须和后端的路径完全匹配才能够访问成功,如果我们在后台的路径都是以 / 结尾,但是我们的访问路径是没有以 ...
- 树莓派 Learning 002 装机后的必要操作 --- 07 设置静态IP地址
树莓派 装机后的必要操作 之 设置静态IP地址 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 为了避免IP变来变去,我们将IP地址设置为静 ...
- windows10 Ubuntu子系统下卸载Mysql重装
首先删除mysql: sudo apt-get remove mysql-* 然后清理残留的数据 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg ...
- Spring深入学习
涨知识系列 Environment environment = context.getEnvironment(); 在Spring中所有被加载到spring中的配置文件都会出现在这个环境变量中, 其中 ...
- return die exit 常用
die()停止程序运行,输出内容exit是停止程序运行,不输出内容return是返回值die是遇到错误才停止exit是直接停止,并且不运行后续代码,exit()可以显示内容.return就是纯粹的返回 ...