Java学习笔记
记录学习的点点滴滴...
Ring-My-Bells
一万年太久 只争朝夕
展开
-
JavaSE学习笔记-Day32
IO流暂且告一段落,开始多线程技术的学习。一. 多线程 概述多线程是Java的重要特性,大量应用于网络编程、服务器端程序的开发等等领域。比如我们可以流畅的点击软件或者游戏中的各种按钮,其实,底层就是多线程的应用。再比如我们可以成百上万人同时访问某个网站,其实,也是基于网站服务器的多线程原理。如果没有多线程,服务器处理速度会极大降低。二. 程序“程序(Program)”是一个静态的概念,一...原创 2020-03-03 15:08:25 · 145 阅读 · 0 评论 -
JavaSE学习笔记-Day30~31
一. 转换流InputStreamReader/OutputStreamWriter用来实现将字节流转化成字符流。举一个实例:System.in是字节流对象,代表键盘的输入; 而System.out也是字节流对象,代表输出到显示器。现在我们将这两个字节流对象转换成字符流。package cn.zjb.test;import java.io.BufferedReader;import...原创 2020-03-02 21:50:44 · 87 阅读 · 0 评论 -
JavaSE学习笔记-Day20~29
我又回来啦!在经历网课的巨大冲击后,又有了相对空闲的一天。原创 2020-02-29 16:11:28 · 148 阅读 · 0 评论 -
JavaSE学习笔记-Day18~19
今天正式学习IO流的相关类。InputStream/OutputStream(字节流)和Reader/writer(字符流)类是所有IO流类的抽象父类,我们有必要简单了解一下。一. InputStream和FileInputStreamInputSteam是一个抽象类,它不可以实例化,它是表示字节输入流的所有类的超类。 继承自InputSteam的流都是用于向程序中输入数据(读),且数据...原创 2020-02-19 18:02:16 · 217 阅读 · 0 评论 -
JavaSE学习笔记-Day17
一. IO的引入和基本概念学习前需要回顾的知识:什么是内存,它的特点是什么?内存是计算机的数据存储设备之一,是计算机的工作场所,计算机中所有程序的运行都是在内存中进行的。它的特点是读取数据的速度快,但是内存的容量小,并且断电后内存中的信息会丢失。什么是磁盘,它的特点是什么?硬盘是计算机重要的外部存储设备,它也是计算机存储数据的设备。它里面的数据信息必须要先传递给内存,然后计算机才能获取。它...原创 2020-02-17 19:39:51 · 187 阅读 · 0 评论 -
JavaSE学习笔记-Day16
今天的任务是把容器这一章节的知识总结梳理一遍。总的来说,容器这一章节就像是数据结构的一个章节,我们依次学习了顺序表、链表和哈希表,这三种线性结构(像二叉树之类的非线性存储结构还未探究)。首先我们通过Collection接口延伸出List接口和Set接口,然后靠部分源码简单分析它们各自的实现类: ArrayList、LinkedList、HashSet 。ArrayList存储数据的方式...原创 2020-02-16 16:32:12 · 144 阅读 · 0 评论 -
JavaSE学习笔记-Day15
一. HashtableHashtable类和HashMap用法几乎一样,底层实现几乎一样,只不过Hashtable的方法添加了synchronized关键字确保线程同步检查,效率较低。HashMap与Hashtable的区别:HashMap: 线程不安全,效率高。允许key或value为null。Hashtable: 线程安全,效率低。不允许key或value为null。二. Se...原创 2020-02-15 16:29:19 · 164 阅读 · 0 评论 -
JavaSE学习笔记-Day14
学完Collection的右子树,本来应该继续学习它的左子树的,但是由于Set的底层就是靠Map实现的,所以我们必须先了解Map。前面的数组、链表那是正规学过的,哈希表是自学,树也仅仅停留在二叉排序树,这篇理解的比较浅薄,还望指正。一.Map接口德国哲学家莱布尼茨说过:“世上没有两片完全相同的树叶。”,在以Map为接口的容器里也同样符合这个道理。在这个领域中,人为的把数据内部(或者说与该...原创 2020-02-14 22:02:33 · 153 阅读 · 0 评论 -
JavaSE学习笔记-Day13
今天好不容易早起,想先整理一下Java写表格的一些方式,也是延续昨天晚上的一些思绪。就以下面这个表格为例:第一种方式: 纯数组实现package cn.zjb.practice;import java.util.Arrays;/** * 纯数组实现 * @author 张坚波 * */public class Chart1 { public static void ...原创 2020-02-13 17:11:10 · 208 阅读 · 0 评论 -
JavaSE学习笔记-Day12
一. 容器和泛型的引入不管是什么语言,在开发程序的过程中和数据打交道是必不可少的,为了更好地容纳这些数据,我们在之前的学习中就引入了数组的概念,这确实是容纳数据的好办法,但是单单数组是完全不能满足我们的需求的,因为我们对数据远远不止只有容纳的要求,更重要的是要管理数据。诚然,对数组中的元素也可以进行管理操作,不过需要自己敲代码,如果功能仅限于此,那么这就不是Java了。作为更强大的语言,Java...原创 2020-02-12 19:55:48 · 252 阅读 · 0 评论 -
JavaSE学习笔记-Day11
一. 异常机制程序在运行过程中很容易出现各种各样的问题,比方说:数组越界、除数为0、内存泄漏等等。Java为了有效解决和提示出现的相应问题,推出了异常机制(个人觉得准确的说是问题机制)。JDK 中定义了很多类用于构成这个机制(专业称呼这些类为异常类,不过这种说法不利于我的理解),这些类对应了各种各样可能出现的问题事件,所有这些类的对象都是派生于java.lang.Throwable类的一个实例...原创 2020-02-11 19:38:55 · 125 阅读 · 0 评论 -
JavaSE学习笔记-Day10
今天把常用类的内容结束!一.时间处理相关类(Date,DateFormat、SimpleDateFormat,Calendar)Date类在java.util包中有一个Date类,它的对象表示一个特定的瞬间,精确到毫秒。Date类的很多成员都已经过时了(被其他类的成员替代)。再来看看Date类的构造方法:测试一下:package cn.zjb.test;import j...原创 2020-02-10 20:12:34 · 174 阅读 · 0 评论 -
JavaSE学习笔记-Day9
昨天是复习了第一个七天的内容。常用类还没有学完,进度感觉有点慢,加油吧!一.StringBuffer和StringBuilder类之前学习了String类,并且知道了String类对象是不可变对象,在处理字符串连接问题时容易造成内存泄漏,那么有什么类是可变字符序列吗?有的!今天就来学习StringBuffer和StringBuilder类。StringBuffer和StringBuild...原创 2020-02-09 20:30:39 · 130 阅读 · 0 评论 -
JavaSE学习笔记-Day8
孔子云:温故而知新,可以为师矣。那么今天就来回顾一下这一个星期所学的知识。第一章: 初步认识JavaJava版本:SE 、 EE 、 ME, SE定位于计算机,EE定位于服务器。Java优势: 跨平台性(不区分操作系统),面向对象,多线程,高性能等等。JVM 、JRE 、JDK:JVM是跨平台性的核心机制,运行Java只要JRE,开发需要JDK。Java运行机制:先编译成.clas...原创 2020-02-08 17:51:22 · 172 阅读 · 0 评论 -
JavaSE学习笔记-Day7
鉴于昨天的偷懒行为,心里一直不好受,今天痛定思痛,多学点,开始Java常用类的学习吧!一. 包装类包装类的引入实例:在编程语言的学习中,编写一个数据表格是必不可少的操作,比方说要编写一个学生成绩信息表格,里面有多种不同的数据类型:学号(int),姓名(String),年级(int),各科成绩(double[])。在C语言里,用一个顺序表就可以解决了,也就是结构体数组,但是Java并没有结...原创 2020-02-07 20:45:45 · 160 阅读 · 0 评论 -
JavaSE学习笔记-Day6
昨天学完了面向对象的进阶内容,不过对面向对象还是没有什么感觉啊,不敢那么多了,继续往后学!今天我们学习一下数组。一. 一维数组数组这个概念就不陌生了,就不做实例来引进概念了。数组是相同类型数据的有序集合。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组的几大特点:长度是确定的。数组一旦被创建,它的大小就是不可以改变的。其元素必须是相同类型,不允许出现...原创 2020-02-06 19:33:09 · 148 阅读 · 0 评论 -
JavaSE学习笔记-Day5
昨天以面向对象的三大特点:封装、继承、多态为主线深入学习了Java,今天我们将继续学习面向对象语言的进阶内容。一. 抽象方法我们还是以一个实例做引子,在编写Animal类时,需要写一个eat方法来表示动物吃的食物,但是Animal类的范围实在是太大了,不同的动物吃的食物是不一样的,我们根本写不出具体的方法体,但是以这个基类来派生出一个更具体的类,比方说我们再写一个子类Dog来继承Anima...原创 2020-02-05 21:25:48 · 133 阅读 · 0 评论 -
JavaSE学习笔记-Day4
在昨天的学习中,已经完成了Java面向对象的基础内容,今天开始步入Java面向对象的进阶学习,将从Java面向对象的三个特性:封装、继承、多态作为主线学习。一. 封装性封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。怎么理解封装呢?按照我自己的见解,人就是一个封装的东西,我们人可以实现的功能...原创 2020-02-04 17:55:18 · 164 阅读 · 0 评论 -
JavaSE学习笔记-Day3
昨天初步学习完了类的三个成员并拓展延伸了些其他知识,今天就继续深入学习Java面向对象的基础。一. this关键字在昨天的最后一个程序中,我们发现,eclipse自动生成的代码里有this这个关键字,我们来看看昨天写的具体例子吧:public class StandardClass { private int num; public void setNum(int num) { ...原创 2020-02-03 20:31:22 · 151 阅读 · 0 评论 -
JavaSE学习笔记-Day2
昨天学习到了类和对象的概念,并初步认识了它们。今天在这个基础上继续学习,从类的三个成员作为切入点,深入学习。由于习惯了边学习一些知识就边敲代码,有疑问还可以自己测试一下,但是又对Java的面向对象还是没那么了解,那我还是将面向对象退化成面向过程来敲代码吧,哈哈。一. 属性(成员变量)的概念成员变量就是变量的一种,只不过成员变量一定是在类中的(不包括方法体内部)。既然这里又提及了变量这个概...原创 2020-02-02 20:37:20 · 253 阅读 · 0 评论 -
JavaSE学习笔记-Day1
笔者是一名大二在读本科生,最近闲着无聊重拾起Java这门语言,看了些许教学视频后居然还觉得挺有意思,“情不知所起,一往而深”。于是决心认真学习这门语言!由于身居科班,自然不是零基础,hai,也差不多吧,精修的C语言,选修的Java,又加之时间的打磨和沉淀,哦,看来是负基础呀…所以呢,更要认真学习了!笔者承诺每天更新学习笔记,算是监督和督促自己的学习吧!要把自己每天学习的知识都整理、理解、总结,并...原创 2020-02-01 20:35:50 · 300 阅读 · 0 评论