
书籍学习-Thinking in java
个人计划第一部分基础学习
java编程思想学习,主要是充实基础
PS:啃EffectiveJava的时候,深感java基础不结实,所以加一本书的学习
沙丁鱼flat
这个作者很懒,什么都没留下…
展开
-
Thinking in java学习笔记21:第二十一章(并发-完结)
并发下面的一章是仿真,也就是模拟真实场景的一些案例,这里我就不说了继续再另外一章9.性能调优原创 2020-03-13 10:35:31 · 573 阅读 · 0 评论 -
Thinking in java学习笔记20:第二十一章(并发-下)
继续上一章内容7.新类库中的构件7.1 CountDownLatch原创 2020-03-11 13:02:36 · 190 阅读 · 0 评论 -
Thinking in java学习笔记19:第二十一章(并发-中)
上一个笔记(并发-上)的内容:https://blog.youkuaiyun.com/asdfghj253/article/details/1040509673.共享受限资源3.1 不正确地访问资源这节举了个例子来说明,我总结一下。那就是资源的原子性和可视性。这里将资源设置了状态,并编写方法来提供资源是否可用的可观性,当状态为不可用,那么其他线程无法调用,等一线程结束状态改回可用,...原创 2020-03-09 10:19:03 · 166 阅读 · 0 评论 -
Thinking in java学习笔记18:第二十一章(并发-上)
对于并发,书中花了很长的篇幅来讲,而我需要重点学习的也是并发,所以这里分多个笔记来记录。1.并发的多面性用并发的用途大体分为:性能 和 设计可管理性 两种。实现并发最直接的方法:在操作系统级别使用进程。多任务操作系统可以通过周期性地将CPU从一个进程切换到另一个进程,来实现同时运行多个进程(程序)。编写多线程的基本困难是协调不同线程驱动的任务之间对这些资源的使用,以使这些资源不...原创 2020-03-05 15:17:25 · 248 阅读 · 0 评论 -
Thinking in java学习笔记17:第二十章(注解)
1.注解的定义注解又被称为元数据java内置的3中注解@Override:标记重写父类方法@Deprecated:标记方法过时@SurpressWarnings:忽略编译器警告简单介绍在我另一篇笔记有写:https://blog.youkuaiyun.com/asdfghj253/article/details/1035033022.编写注解处理器注解处理器就是用来读取注...原创 2020-01-20 13:57:34 · 185 阅读 · 0 评论 -
Thinking in java学习笔记16:第十九章(枚举类型)
1.基本enum特性1.1首先介绍了3个方法values():获取enum实例的数组ordinal():获取enum实例在声明时的次序name() :获取enum实例声明时的名称public class EnumTest { public static void main(String[] args){ sardine[] sardineList= s...原创 2020-01-19 15:21:18 · 147 阅读 · 0 评论 -
Thinking in java学习笔记15:第十八章(java I/O系统)
1.File类File(文件)类它不但能代表一个特定文件的名称,它还能代表一个目录下的一组文件的名称。Filed对象.list()方法:可以获得File对象包含的全部列表。产生目录是用是Filed对象.mkdirs()方法生成目录public class test { //mkdirs()创建目录 public static void main(String[] args) ...原创 2020-01-19 10:23:33 · 232 阅读 · 0 评论 -
Thinking in java学习笔记14:第十七章(容器深入研究)
1.填充容器填充容器也可以使用Collection.fill(list,对象),也是复制同一对象引用来填充整个容器,且只对List对象有用。我们还可以使用了Collections.nCopies(int n, T o)方法进行填充(n--在返回列表中元素的个数。o--在返回列表中反复出现的元素。)public class test0 { public static v...原创 2020-01-17 14:00:38 · 224 阅读 · 0 评论 -
Thinking in java学习笔记13:第十六章(数组)
1.数组(Array)的性质1.1 数组是线性序列的1.2 数组是一种效率最高的存储和访问对象引用序列的方式。1.3 数组的数组对象大小是被固定的1.4 数组实质上保存的是引用(指向在堆中创建的一个真实对象)2.返回一个数组public class ArrayTest { public static void main(String[] args) {...原创 2020-01-15 11:09:22 · 151 阅读 · 0 评论 -
Thinking in java学习笔记12:第十四章(类型信息)、第十五章(泛型)
第十四章-类型信息运行时类型信息使得可以再运行时发现和使用类型信息。这里书中写了RTTI,RTTI是什么?这其实是作者的一个误会,RTTI是C++里面的RTTI(Run-time Type Identification),运行时获取类型信息。而java中更适合的表示是反射,可以这么说,java的反射是C发展到java后的结果。对于反射我其实已经有笔记了,而且我对这张内容表示有...原创 2020-01-14 16:02:35 · 145 阅读 · 0 评论 -
Thinking in java学习笔记11:第十三章(字符串)
字符串可以说无论新手老手,都会用到,而这一章就是讲字符串(String)的一些操作1.不可变String书中有一句话,我感觉需要重点标记一下,因为这句话很重要:String对象是不可变的。String类中每个会修改String值的方法实际上都是创建一个新的String对象,用新对象来保存修改后的值,而原对象是不变的。比如:String a="沙丁鱼flat"; a="沙...原创 2020-01-13 09:45:08 · 185 阅读 · 0 评论 -
Thinking in java学习笔记10:第十二章(通过异常处理错误)
书中标了一句话:java的基本理念是“结构不佳的代码不能运行”1.基本异常异常情形:阻止当前方法或作用域继续执行的问题。例:throw new NullPointerException();对于异常参数,标准的异常类都有两个构造器,一种是默认无参构造器,一种是接收字符串作为参数,以便放入相关信息的构造器例:throw new NullPointerException("t=...原创 2020-01-10 13:52:06 · 173 阅读 · 0 评论 -
Thinking in java学习笔记9:第十一章(持有对象)
对于第十章的内部类,因为之前的笔记已经学习过内部类了,所以这里就不记笔记了。内部类是什么?将一个类的定义放在另一个类的定义内部,就是内部类持有对象:就是把对象存储到容器中得以持有.所以这章主要讲容器类,容器类的基本类型就是List、Set、Queue、Map等集合类1.泛型和类型安全的容器这里介绍了ArrayList容器。ArrayList.add(...原创 2020-01-07 15:05:59 · 197 阅读 · 0 评论 -
Thinking in java学习笔记8:第九章(接口)
1.抽象类和抽象方法抽象类是介于普通类与接口之间的。java提供一个叫做抽象方法的机制,这个抽象方法,使用abstract关键字,仅有声明没有方法体。例:abstract void xx();而包含这种抽象方法的类叫抽象类。(因为类中有抽象方法,则该类也必须被限定为抽象的。)public class abstractTest { public static voi...原创 2020-01-06 15:14:13 · 307 阅读 · 0 评论 -
Thinking in java学习笔记7:第八章(多态)
多态是什么? 就是一个对象有多种形态比如迪迦奥特曼可以通过改变颜色来切换形态,蓝色防御型,红色攻击型,红蓝都有是平衡型1.多态的向上转型在上一章也讲了,在向上转型后(子类转成父类),子类的特有方法是无法使用的。不过这边讲一下特例,子类中如果有覆盖(重写或重名)的方法,那么向上转型后调用父类的同名方法时,它执行的是子类的方法。public class test { pu...原创 2020-01-04 13:36:20 · 177 阅读 · 0 评论 -
Thinking in java学习笔记6:第七章(复用-类)
1.组合和继承这里的复用类表示的是复用(类的代码),这边主要有两种表现形式:组合和继承组合就是在新类中创建原类的对象,has-a关系。比如原有类为A,则 private A a;继承就是新类直接继承原类作为父类,is-a关系。比如:extends A不过个人感觉继承局限性较大(因为java是单继承性质的),破坏封装,正常情况下,还是优先使用组合来进行类的复用合适点。...原创 2020-01-03 14:39:55 · 154 阅读 · 0 评论 -
Thinking in java学习笔记5:第六章(访问权限控制)
1.包:库单元在了解访问权限控制之前,我们需要先理解其结构。类库中有很多包,包(package)中有很多类(.class文件)我们就是加入类库,通过引用类库中的包,调用包中的类来进行使用的。使用import关键字来引用包。注意点:创建包时隐含地指定了目录结构,这个包必须位于其名称所指定的目录中,该目录必须以CLASSPATH开始的目录开始。2.java访问权限修饰符...原创 2020-01-03 10:00:31 · 189 阅读 · 0 评论 -
Thinking in java学习笔记4:第五章(初始化与清理)
1.用构造器确保初始化无参构造器和有参构造器的定义不说了,说下我使用时忽略的知识点构造器是一种特殊类型的方法,它没有返回值。(new表达式确实返回对新建对象的引用,但构造器本身无返回值)。2.方法重载区分重载的方式有多种,这边介绍几种:1.根据重载方法的参数顺序来区分,比如(int,String)和(String,int)2.根据重载方法的基本类型自动区分,...原创 2019-12-26 11:14:00 · 137 阅读 · 0 评论 -
Thinking in java学习笔记3:第四章(控制执行流程)
1.迭代定义:就是重复执行语句,直到有个条件判断达到,跳出循环重复的轮回。书中将while、do-while、for用于控制循环的语句都划分为迭代语句。2.foreach 和 forforeach和for都是可以用来作为循环遍历的语法。这里简要说明两者的区别:1.for循环在第一次迭代前需要进行初始化,随后进行条件测试。2.foreach语法表示不必创建int变量...原创 2019-12-18 10:59:19 · 112 阅读 · 0 评论 -
Thinking in java学习笔记2:第三章(操作符)
1.直接常量直接常量:使编译器更有效地知道使用的是什么常量。简单定义可能理解不了,但是一举例就能明白了:写在后缀字符位置的:Long a=2L; Longa=2l; --大小写L代表longfloat a=2.0F; float a=2.0f; --大小写F代表floatdouble a=2.2D; double a=2.2d --大...原创 2019-12-17 17:30:41 · 365 阅读 · 0 评论 -
Thinking in java学习笔记1:第二章(一切都是对象)
1.用引用操纵对象操纵的标识符实际上是对象的一个“引用”。创建一个String引用:String s;s只是引用,不是对象。2.创建新对象创建新对象的方式就是使用new操作符:String s=new String("沙丁鱼flat");2.1 内存存储位置这是我自己总结做的表格:存储地方 速度 特点 位置 寄存器 最快的...原创 2019-12-16 10:25:45 · 157 阅读 · 0 评论