Java核心技术读书笔记02】的更多相关文章

第四章 对象和类 类之间的关系 最常见的三种关系 依赖("uses-a") Order依赖Account类看信息 聚合("has-a") Order包含多个Item 继承("is-a") 知识点:所有Java对象都存在堆中. GregorianCalendar类所包含的方法要比Date类多得多. public避免标记实例域,public数据域允许程序中的任何方法对其进行读取和修改,这破坏了封装.强烈建议用private. 构造器和类同名 每个类中…
Volume I Chapter 1  An Introduction to Java  • 1.1 Java as a Programming Platform• 1.2 The Java ‘White Paper’ Buzzwords• 1.3 Java Applets and the Internet• 1.4 A Short History of Java • 1.5 Common Misconceptions about Java 1.1  简单的介绍了Java,Java是一个很好的语…
基本语法 Java中的所有函数都属于某个类的方法 Java没有任何无符号的int.long.short 或 byte 类型 浮点数值不适用于无法接受舍入误差的金融计算中,比如2.0-1.1不会输出想要的0.9,如果不允许有任何舍入误差,应该使用BigDecimal类 建议不要在程序中使用char类型,除非确实需要处理UTF-16的代码单元,最好将字符串作为抽象数据类型处理 boolean类型:整数和布尔值之间不能相互转换 利用final指示常量,只能赋值一次,一旦被赋值后,就不能更改了 类常量:…
<The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is interpreted. type命令:展示命令的类型. which which—Display which executable program will be executed. which命令:展示可执行命令的位置. 因为可执行命令有可能会有多个版本,所以有必要根据位置来判断究竟是哪个. which仅对可执行程序…
java effective 读书笔记 []创建和销毁对象 静态工厂方法 就是“封装了底层 暴露出一个访问接口 ” 门面模式 多参数时 用构建器,就是用个内部类 再让内部类提供构造好的对象 枚举 singleton 不知道怎么操作,觉得意义不大 单例模式 私有化构造器不能实例化,也不可被子类继承 能用原生类的就尽量不用对象 []对于所有对象都通用的方法 reflexivity 自反性 symmetry 对称性 []类成员 降低可访问性 尽量把公有域 变成私有域,并提供 访问和修改的 get se…
# 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto c 2014, 2015, 2016](https://webdocs.cs.ualberta.ca/~sutton/book/) ## 数学符号的含义 * 通用 $a$ - 行动(action). $A_t$ - 第t次的行动(select action).通常指求解的…
深入理解Java虚拟机 -- 读书笔记:JVM运行时数据区域 本文转载:http://blog.csdn.net/jubincn/article/details/8607790 本系列为<深入理解Java虚拟机 >(周志明著)读书笔记. Java程序员一般都知道JVM中存在栈和堆的,并简单了解对象是在堆上分配的,这点从C/C++转过Java的程序员很容易想到.但Java由于其自身的特性,还有一些其他的内存区域,如下图所示: 程序计数器 程序计数器占用的内存空间不大,里面记录了各线程当前字节码的…
目录 导致线程不安全的原因 什么是线程安全 不可变 绝对线程安全 相对线程安全 线程兼容 线程对立 互斥同步实现线程安全 synchronized内置锁 锁即对象 是否要释放锁 实现原理 啥是重进入? ReentrantLock(重入锁) API层面的互斥锁 等待可中断 公平锁 锁绑定 本篇参考许多著名的书籍,形成读书笔记,便于加深记忆. 前文传送门:Java并发读书笔记:JMM与重排序 导致线程不安全的原因 当一个变量被多个线程读取,且至少被一个线程写入时,如果读写操作不遵循happens-b…
单元测试知道Java版读书笔记 首先我们必须要知道我们所写的代码,它的功能是什么,如果我们不了解代码的行为,那么也就无从测试. 我们测试的目的,是为了我们整个程序架构的稳定,代码其实就是欧文要实现功能的底层基础,如果说前一步做错了,那么可能后面所做的都是无用功.所以好的单元测试能让我们缩短工作时间 通过编译只能代表你的语法和逻辑是正确的,但是不能代表你的程序能解决所有遇到的问题. 所谓的代码正确,是具有时效性的,它只能代表你在当前这个时间点能够满足用户的需求,但是客户的需求总是在变化的,所以我们…
Java:并发笔记-02 说明:这是看了 bilibili 上 黑马程序员 的课程 java并发编程 后做的笔记 3. 共享模型之管程-1 本章内容-1 共享问题 synchronized 线程安全分析 3.1 共享带来的问题 小故事 老王(操作系统)有一个功能强大的算盘(CPU),现在想把它租出去,赚一点外快 小南.小女(线程)来使用这个算盘来进行一些计算,并按照时间给老王支付费用 但小南不能一天24小时使用算盘,他经常要小憩一会(sleep),又或是去吃饭上厕所(阻塞IO操作),有时还需要一…
2013-08-16 20:07:11 1.3 TCP/IP的分层 这是一个很好的图,要多看!!图上有些细节会在今后的笔记中提到,看不懂不必深究. IP是网络层上的主要协议,同时被TCP和UDP(这两个协议在上一篇读书笔记已有简单的陈述)使用.TCP和UDP的每组数据都通过断系统和每个中间路由器中的IP层在互联网中进行传输. ICMP是IP协议的附属协议.IP层用它来与其他主机或路由器交换错误报文和其他重要信息. IGMP是Internet组管理协议.它用来把一个UDP数据报多播到多个主机. A…
Java 核心技术之一程序设计概述 一.   Java语言的特点 简单行 :取经于C++,排除了C++不常用的指针.结构等,增加垃圾回收. 面向对象:与C++不同是单继承,但是可以继承多接口.完全面向对象的语言: 网络技能:Socket,FTP,Http,URL编程简单: 健壮性:避免指针错误使用: 安全性:构建防病毒防篡改系统: 体系结构中立:字节码: 可移植性: 解释性:可以解释任何移植了的字节码: 高性能: 多线程 动态性: 二.   Internet 和 Java Applet 在网页中…
最近在读<深入理解java核心技术>,对于里面比较重要的知识点做一个记录! 众所周知,Java是一个面向对象的语言,而java中的基本数据类型却不是面向对象的!为了解决这个问题,Java为每个基本数据类型引入一个对应的类,称为包装类! byte -- Byte  boolean -- Boolean short -- Short  char -- Character int -- Integer  long -- Long  float -- Float  double -- Double 为…
题记: 花了一周把Peter Haggar的<practical Java>看了遍,有所感悟,年纪大了, 写下笔记,方便日后查看.也希望有缘之人可以看看,做个渺小的指路人. 不足之处还望指正. 概述: 全书分为六个部分,包括一般技术.对象与相等性.异常处理.性能.多线程.对象. 一般技术:举例了几个java常见错误用法的说明和解释,诸如array和vector的选择,多态与instanceof等等 对象和相等性则:针对equals的详细说明,是迄今本人见过对equals理解最深的一本书了,其中…
最近在研读<Effective Java>一书,读书不做点笔记,感觉很容易就忘掉,于是用本篇博客来记录阅读此书的笔记. 郑重声明: 由于是<Effective Java>一书的笔记,所以大部分内容基本来自此书,还有一小部分是自己的理解. 第1条 考虑用静态工厂方法代替构造器 一般来说,获取一个类的实例,大家想到的都是通过该类的公有构造函数来new 一个实例,而第一条推荐我们可以考虑使用静态工厂方法来创建实例,这里的工厂方法并不直接对应于设计模式中的工厂方法模式. 静态工厂方法与构造…
2015年进步很小,看的书也不是很多,感觉自己都要废了,2016是沉淀的一年,在这一年中要不断学习.看书,努力提升自己!预计在2016年要看12本书,主要涉及java基础.Spring研究.java并发.JVM.分布式之类的.在今年面试的时候深受打击,到处都是问分布式.集群的?难道现在工作两三年的都这么牛逼了?都在搞分布式.集群之类的? 2016书单如下: 1.深入理解Java虚拟机:JVM高级特性与最佳实践---(已看,预计今年看三遍) 2.Oracle查询优化改写技巧与案例---(已看) 3…
前言 程序语言是什么? 用wiki上的描述,程序语言是一种人工设计的语言,用于通过指令与机器交互:程序语言是编程程序的标记,而程序是一种计算或算法的描述.详细介绍和背景信息参考: Programming_language(http://en.wikipedia.org/wiki/Programming_language) Programming_language_generations(http://en.wikipedia.org/wiki/Programming_language_gener…
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------…
Chapter 11 Serialization Item 74: Implement Serializable judiciously 让一个类的实例可以被序列化不仅仅是在类的声明中加上"implements Serializable"那么简单. 当你的类implements Serializable并发布出去后,你对这个类的改动的灵活性将会大大降低,它的serialized form成为了它exported API的一部分,如果你不设计一个custom serialized for…
Chapter 10 Concurrency Item 66: Synchronize access to shared mutable data synchronized这个关键字不仅保证了同步,还保证了可见性(visibility). 对于变量的读写是原子性的,除非变量类型是long或double.有一个我见过无数遍的例子就是设一个共享的boolean变量,然后从一个线程中断另一个线程的while循环.因为JVM会做优化,但它做优化的前提是假设下面这些代码都是在单线程下运行的,比如可能把wh…
一周至少两章,去掉最后的并发和图形化用户界面,刚好需要2个半月才能学好.这进度感觉有点慢,所以做下调整吧,改成一个月会不会更好点^^,认认真真的把java的圣经给看一遍. 计划: 第1~6 11.17~11.22 第7~11 11.23~11.30 第12~16 12.1~12.7 第16~20/21 12.8~12.15 今天看了知乎上的评论,发现刚开始阅读CJ,然后是TIJ,最后是EJ,感觉还是蛮有道理的. http://www.zhihu.com/question/29581524 另外,…
转自:http://www.cnblogs.com/jjtech/archive/2011/04/17/2019210.html 这是一对继承于InputStream和OutputStream的类,用于本地文件读写(二进制格式读写并且是顺序读写,读和写要分别创建出不同的文件流对象): 本地文件读写编程的基本过程为: ①  生成文件流对象(对文件读操作时应该为FileInputStream类,而文件写应该为FileOutputStream类): ②  调用FileInputStream或FileO…
显而易见,一次性写出一堆数据,要比一个byte一个byte的写,快多了,因此,outputstream,给出了2个增强型的write: public void write(byte[] data) throws IOException public void write(byte[] data, int offset, int length) throws IOException 这两个方法,可以参看上一个单元的outputstream类的源代码: import java.util.*; imp…
outputstream类是所有的字符输出类的父类,他是一个抽象类. 对于OutputStream类来说,其最基础的方法就是:write(). public abstract void write(int b) throws IOException 这个方法,写一个无符号字符(在0-255之间) 举例如下: import java.io.*; public class AsciiChart { public static void main(String[] args) { for (int i…
Number只是java程序中需要读出和写入的一种数据类型.很多java程序需要处理有一大堆的字符组成的text,因为计算机真正懂得的只有数字,因此,字符按照某种编码规则,和数字对应. 比如:在ASCII编码中,字符A对应着数字65.字符B对应着数字66. 下面介绍集中编码模式: 1)ASCII ASCII=American Standard Code for Information Interchange.7位字符集. 2)Latin-1 ISO 8859-1, Latin-1,8为字符集.…
input stream读取字节:out stream写入字节.Readers读取字符而Writers写入字符.因此,如果我们想理解input和output,我们首先就要明白 java如何处理字节,整数,字符以及其他数据类型.以及这些类型之间如何相互转换. 1)整数数据(Integer Data) java中,基础的integer数据类型是int,4字节.long是8字节.short是2字节. bytes,在java中用的特别多.尤其在io中,用的更多.一个byte是8位的. 在java内部,是…
什么是stream?stream就是一个长度不确定的有序字节序列. Input streams move bytes of data into a Java program from some generally external source. Output streams move bytes of data from Java to some generally external target 1)streams来自哪里? 我们最先接触到的input stream,就是system.in,…
继续这个系列,好久没学习了,懒惰呀. Set接口,实际上是collection 类别中最简单的一个接口,因为它并没有比Collection 接口增加任何的内容,相对而言,大家可能更喜欢List接口和它的扩展:ArrayList和LinkedList. List加入了位置属性,从而,可以有多种的排序可能.因此,除了可以使用Iterator获取元素之外,还可以使用ListIterator<E> ,通过index,获取指定位置的元素.…
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVgAAADbCAIAAACnXR7VAAAgAElEQVR4nOx9d1hVV9Y3880zb2YmM3nnnSQmMU7y+jhGnWg0alQ0xhaD0Whi1GDBKBYUEGz03ntvolixg2InIjbKhUuvUqRdOtxCu/2esr8/1tz9bkCYcEWuGH9/8BzOPWefXdZee62111pbByHU1NSUmZmZoUZ2dnZ6ejp3AGRlZXG53PT09Ew1O…