![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Thinking in Java
ObsessionLife
这个作者很懒,什么都没留下…
展开
-
[Thinking in Java] - No.1 组合、继承和代理
什么是复用代码呢?当我们在项目程序中出现大量的重复或者结构极其相似的代码是,重复的工作会使得程序显得冗长,不易于管理,同时也浪费大量的时间空间资源。代码复用很好地解决了我们上面遇到的问题。除了常见的组合和继承方法,在这篇文章中我们还会介绍代理这种方法。1. 组合:什么是组合呢?简单来说就是has-a的关系。当我们需要使用到之前某个类的方法时,我们不需要重新实现该方法,只需要在新的类中引入原原创 2017-03-04 14:42:35 · 562 阅读 · 0 评论 -
[Thinking in Java] - No.7 Java多线程入门
最近在学习Java多线程,算是入了一个门,在这里记录一下如何使用Java实现多线程,其背后的深层原理日后再分析。本文主要介绍已下内容能够:1. 使用Thread类和Runnable接口实现Java多线程2. Java多线程关键字和关键方法2. Java多线程如何正确停止3. Java多线程实现加锁一、Java多线程的创建:我们使用以下两种方法创建1. 创建Thr原创 2017-09-22 10:55:04 · 301 阅读 · 0 评论 -
[Thinking in Java] - No.10 Stream、File和IO(2):Stream和IO初探
IO中经常会使用到的概念是“流”。在IO中,有两种流,分别对应字符流和字节流。字节流: Java中的字节流处理的最基本单位为单个字节。字符流:Java中的字符流处理的最基本的单元是Unicode码元。字节流通常用于处理二进制数据,实际上它可以处理任意类型的数据。但它不支持直接写入或读取Unicode码元,所以使用字节流处理中文常常会乱码。字符流通常处理文本数据,它支持写入及读取Unic原创 2017-09-27 21:09:12 · 254 阅读 · 0 评论 -
[Thinking in Java] - No.9 Stream、File和IO(1):File类
最近在系统地学习JavaIO流,首先学习的就是Java中的文件类。File类主要函数总览:这些函数都很简单,根据函数名就可以很好的掌握函数具体原理和用法。在这里我只讲解两个地方:1. getPath(),getAbsolutePath(),和getCanonicalPath()String path = ".\\test.txt";String path1 = "E:\\原创 2017-09-27 15:40:02 · 330 阅读 · 0 评论 -
[Thinking in Java] - No.8 容器学习初级
本文将介绍Java中的各类型容器、常用容器以及常用容器的一些基本的操作。在日后的文章中会进一步了解这些容器的内部实现、涉及容器线程安全方面的知识这里不再赘述。一、各个类型容器之间的关系图对这张图做一下简单的解释:我们可以看出,在图中其实只有四种类型的容器,List,Set,Queue和Map(其实应该去掉Queue,因为Stack和Queue的功能均可以由LinkedListe原创 2017-09-22 16:03:22 · 294 阅读 · 0 评论 -
[Thinking in Java] - No.6 协变返回类型
协变返回类型表示在导出类中被覆盖的原创 2017-04-05 16:16:41 · 336 阅读 · 0 评论 -
[Thinking in Java] - No.5 Java反射机制和动态代理
1. Java反射机制:WiKi百科:In computer science, reflection is the ability of a computer program to examine, introspect, and modify its own structure and behavior at runtime.意思大概是:反射,是计算机程序的一种在运行时检查,反省(自省)原创 2017-03-20 17:25:07 · 579 阅读 · 0 评论 -
[Thinking in Java] - No.4 重写、覆盖和重载
三个概念:重写、覆盖、重载的区分:重写 = 覆盖(Override),是指我们在子类中,构造和父类完全一样的函数构造完全一样的函数。覆盖有以下原则:1、三同原则:同方法名、同返回类型、同参数表。2、子类中的覆盖方法不能使用比父类中被覆盖的方法更严格的访问权限(public>protected>default>private)。3、如需使用父类中原有的方法,可使用super关键字,该原创 2017-03-06 16:35:01 · 243 阅读 · 0 评论 -
[Thinking in Java] - No.3 Java内部类
本篇文章的标题是,Java内部类。其实这样称呼是不对的。因为我们想要表达的其实是Java nested class。而Java nested class 包含有一个分支叫做 non-static nested class 或者 叫 Inner class。所以说,只是我觉得在Thinking in Java翻译中我觉得可能产生puzzle的地方。正如我们之前提到的,nested class(应原创 2017-03-06 14:50:14 · 272 阅读 · 0 评论 -
[Thinking in Java] - No.2 Java中的静态(前期)绑定和动态(后期)绑定
首先,我们先理解一个概念:什么叫绑定。简单地说,就是将一个方法调用同一个方法主体关联起来,就称作是绑定。在Java中,有两种绑定方式,分别称为静态绑定和动态绑定。1.静态绑定:又称为前期绑定。在程序执行前由编译器和连接程序实现,调用开销较小,如C语言只有前期绑定这种方法调用。Java中static,private,final属于这类范畴。static方法:static方法可以被子类继承,被原创 2017-03-05 10:55:38 · 422 阅读 · 0 评论 -
[Thinking in Java] - No.11 Java控制台进度条
java实现控制台的进度条,其实就是将之前每一行打印的进度条,反复的打印在同一行上,实现视觉上的进度条增长的效果。package com.ccd.ym.util;import java.text.DecimalFormat;public class ConsoleProgressBar { private long minimum = 0; // 进度条起始值 private long原创 2018-05-03 10:24:51 · 2454 阅读 · 1 评论