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页.我从来不是个喜欢记录的人,一直以来看什么书都是看完了就扔一边去,可能有时候有那么一点想记录下来的冲动,但算算时间太紧,很多 ...
随机推荐
- java验证,”支持6-20个字母、数字、下划线或减号,以字母开头“这个的正则表达式怎么写?
转自:https://yq.aliyun.com/wenzhang/show_96854 问题描述 java验证,”支持6-20个字母.数字.下划线或减号,以字母开头“这个的正则表达式怎么写? 验证” ...
- <正则吃饺子> :关于mybatis中使用的问题(一)
在公司项目开始之前,根据springboot .mybatis.Swagger2 整合了一个demo,在测试时候,遇到的问题,简单记录.之前在使用mybatis时候,没有注意到这一点. 1.错误:Th ...
- HTTP 400 错误 编译器错误消息: CS0016
问题:运行程序时提示http 400错误 解决方法: 去掉勾 尝试将网页发布到本地IIS上,发现出现以下错误: 编译器错误消息: CS0016 解决编译器错误消息: CS0016:方法如下: 一般都是 ...
- JAVA类,变量的赋值一个小细节,以及static标注变量的意义
在JAVA类中方法外部定义的变量,如果定义的时候没有赋值,那么在方法外也不能对其进行赋值,否则报错,只能放入某一个方法内对其赋值.(为何报错待晚些时候深入查找补充) static标注的变量称为静态变量 ...
- [Uva10641]Barisal Stadium(区间dp)
题意:按照顺时针给出操场的周边点,然后给出周围可以建设照明灯的位置,以及在该位置建设照明灯的代价,照明灯照射的范围与操场的边界相切,现在要求一个最小的花费,要求操场的所有边都被照射到. 解题关键:预处 ...
- EPEL for CentOS or Redhat
注:地址可能会变 RHEL/CentOS 7 64 Bit # wget http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release ...
- 大富翁开发日记:一、使用巨型lua协程
一个大胆的尝试:使用巨型lua协程来表示整个“一局”流程. lua协程是一个很另类的功能,有并发的影子但又不是真的并发,所以真正拿它来做大功能框架的范例不多,通常用于一些小型trick式设计.但这次我 ...
- 10.Redis未授权访问漏洞复现与利用
一.漏洞简介以及危害: 1.什么是redis未授权访问漏洞: Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等 ...
- C++多线程框架
Thread线程框架 线程定义:线程可以理解为一个特立独行的函数.其存在的意义,就是并行,避免了主线程的阻塞. ----------------------------thread与函数------- ...
- Collectd基本使用
基本用法 基础环境 操作系统 硬件配置 CentOS 7 Server 磁盘:40GB 内存:8GB 网卡:ens3(外网) 网络配置 # vim ifcfg-ens3 TYPE=Ethernet B ...