Java学习笔记
文章平均质量分 71
剑雨巍巍
这个作者很懒,什么都没留下…
展开
-
1.1 Java核心技术(卷I)概述
前言系统全面讲解核心概念Java的特色和功能泛型程序设计原创 2021-10-04 22:32:58 · 128 阅读 · 0 评论 -
3.9 Java之多线程
[toc] 线程的同步问题(线程安全)程序,进程与线程程序运行到内存中(去加载),程序转化为进程静态的为程序,动态为进程进程细分,不同执行路径为线程OS多进程垃圾回收为守护线程(不在程序中显示显现,后台运行,一直存在)创建线程 JVM允许应用程序在执行过程中并发地创建多个线程以往程序只有主线程(主方法里执行的线程,仅看前台,不考虑守护线程)单核CP...原创 2018-09-14 11:39:58 · 135 阅读 · 0 评论 -
4.0 Java之多线程
多线程#死锁问题若上方线程抢占第一把锁,执行sleep方法,则下方线程执行,抢占第二把锁,上方线程继续,等待第二把锁以执行完run方法,而下方线程则等待第一把锁以执行完run方法,双方陷入僵持状态。#线程通信notify唤醒优先级最高的wait线程,若一样则随机选取一线程唤醒A线程抢占锁,执行一次结束,wait被挂起,释放锁,B线程去执行,唤醒之前被wait的线...原创 2018-09-21 10:37:22 · 100 阅读 · 0 评论 -
4.1 Java之String类
文章目录#回顾集合:创建的多个对象存放地方,统一管理,看作容器IO:程序与硬盘或网络资源交互四个基本的抽象类以及具体的不同实现,不同流处理IO特点不同数据流:只读基本数据类型和字符串节点流(4个):处理文本和非文本文件#字符串字符串常量池存放字符串信息没有,则创建一个,JavaEE字符串底层用字符数组存取堆空间引用变量指向常量池信息value为char型数组,引用变量类型...原创 2018-09-25 10:47:08 · 204 阅读 · 0 评论 -
4.2 Java之时间类与数学类
文章目录Date类Date类打印date实例,相当于调用其toString方法(重写)每个date对应一个long型值格式化相关text包下原创 2018-09-26 09:51:29 · 129 阅读 · 0 评论 -
4.3 Java之反射
文章目录编译时不指定,运行时动态获取某东西从而进行相应操作(动态性)一段通用性的代码(模板)然后对应数据库,每一条数据看作类的对象代码作用:获取数据库连接 返回一条数据对应的一个对象(相当于在程序中对应一个customer类)对象的动态创建通过反射的方式根据传入参数,动态创建对应类的对象任何一个类对于反射的Class来说是完全暴露的都是类编译时到字节码文件中,运行时把字节码文件对...原创 2018-09-30 10:35:35 · 139 阅读 · 0 评论 -
4.4 Java之动态代理(反射应用)
文章目录动态代理概述静态代理动态代理概述由代理类决定何时及如何调用被代理类被代理类要完成接口定义的功能——》创建代理类,实现接口(不同接口则要不同的代理类)编译期不用确定代理类类型,运行时动态创建代理类被代理类实现某接口——》代理类动态实现该接口——》代理目标对象声明是接口类型,实际传入被代理类对象,进行实例化静态代理参考接口章节...原创 2019-01-07 19:23:34 · 128 阅读 · 0 评论 -
4.5 Java之网络编程
文章目录主要内容概述InetAddress网络通信协议主要内容概述实现网络通信,要满足两个要素定位网络主机(IP地址指明主机,端口号指明应用程序)通信方式:按照通信协议标准实现通信。根据通信协议,分为TCP和UDP(以传输层叫UDP的形式命名的)URL:统一资源定位符,从地址获取资源本章看作I/O章节的拓展,因为可把硬盘文件看作资源,也可看作网络中对话的内容——...原创 2019-01-10 10:23:10 · 137 阅读 · 0 评论 -
4.6 Java高级之NIO
文章目录直接缓冲区与非直接缓冲区通道利用通道完成复制分散读取与聚集写入字符集非阻塞式网络通信NIO:new I/O或者非阻塞式IO文件:磁盘或者网络直接面对字节数据流动(byte数组)数据传输是单向的NIO建立通道,用于连接源地点和目标地点,没有火车,本身没法传输数据水流——》铁路通道,缓冲区(负责存储数据,火车 ),双向传输面向缓冲区bo...原创 2019-06-28 11:38:16 · 170 阅读 · 0 评论 -
1.1 Java之变量和基本运算
前言:本系列主要复习Java的一些重要知识点,天马行空,不成体系,望见谅!目录常用命令行指令Java概述环境变量的配置(在任何目录下均可运行命令)Java程序运行准备与步骤Java程序结构注释文档注释标识符命名规则命名规范(可不遵守)Java变量概述整型变量浮点型变量字符型变量字符型常量布尔型变量自动类型转换自动类型转换的...原创 2018-03-23 16:49:04 · 280 阅读 · 0 评论 -
1.2 Java之运算符和条件语句(if+switch)
目录算术运算符+=符号=与==符号*=符号逻辑运算符^异或“&”和“&&”位运算符交换数值的方法三元运算符判断三数中最大数(三元运算符实例)进制转换练习(与运算符的妙用)程序基本结构if语句if-else语句的嵌套获取键盘输入if语句练习(待补)switch语句if与switch语句辨析日...原创 2018-03-29 10:25:27 · 475 阅读 · 0 评论 -
1.3 Java之循环语句
目录 循环for 循环结构for循环实例while 循环do/while 循环无限循环嵌套循环结构嵌套循环练习找100以内的质数(循环)法一(最笨)法二法三(best)法四循环循环语句的四个组成部分初始化部分(init_statement) 循环条件部分(test_exp) 循环体部分(body_statement) 迭代部...原创 2018-05-11 10:12:11 · 247 阅读 · 0 评论 -
1.4 Java之break和continue语法
目录break和continuebreak和continue练习break和continuebreak用在switch-case和循环中,不能用于if-else语句中 break在循环中表示跳出当前循环(在内循环则跳出内循环) continue在循环中表示跳出当次循环 break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句,简而言...原创 2018-05-11 21:25:37 · 239 阅读 · 0 评论 -
1.5 Java之数组
目录数组一维数组初始化的两种方式数组长度数组元素默认值数组的内存结构一维数组练习多维数组多维数组静态初始化二维数组的内存结构1二维数组长度二维数组内存结构2数组异常类型数组练习打印杨辉三角常见数组算法实现数组元素排序冒泡排序直接选择排序数组数组元素可以是任何数据类型,包括基本数据类型和引用数据类型(一维数组,...原创 2018-05-11 21:55:02 · 276 阅读 · 0 评论 -
1.7 Java之封装性,构造器,this关键字和JavaBean
目录封装性权限修饰符封装性实例构造器构造器练习this关键字JavaBean封装性 Java中通过将数据声明为私有的(private),再提供公共的(public)方法:getXxx()和setXxx()实现对该属性的操作,以实现下述目的:隐藏一个类中不需要对外提供的实现细节; 使用者只能通过事先定制好的方法来访问数据,可以方便地加入 控制逻辑,...原创 2018-05-26 12:22:37 · 476 阅读 · 0 评论 -
1.6 Java之创建和调用对象(对象结构+重载+参数传递)
目录 面向对象思想面向对象的三大特征设计对象方法类对象的内存结构成员变量局部变量类的方法类的访问机制方法的封装重载重载练习创建对象练习匿名类对象可变个数形参的方法参数传递方式参数传递练习面向对象思想面向对象的三大特征封装 (Encapsulation) 继承 (Inheritance) 多态 (Polymor...原创 2018-05-23 12:17:35 · 414 阅读 · 0 评论 -
1.8 Java之继承性,子类方法重写和super关键字
目录继承类继承性练习1方法重载方法重载注意点super关键字super修饰构造器子类实例化过程子类实例化实例继承练习21)银行账户2)信用卡账户继承类间只能单继承(接口能多继承,弥补单继承的缺陷)背景:Worker,Student类继承Person类如上图所示:程序报错,原因如下子类能获取得到父类private属性,但...原创 2018-07-13 12:00:33 · 831 阅读 · 0 评论 -
1.9 Java复习之多态性
目录多态性变量类型转换的类比多态性应用场景子类对象的属性无多态性多态性练习多态性 背景交代:Man类和Women类继承了Person类,且重写了eat和walk方法变量类型转换的类比 Person p1 = new Man();//向上转型entertainment方法为Man类独有,不满足多态性条件,不能直接调用,p2.shop...原创 2018-07-16 11:34:49 · 335 阅读 · 0 评论 -
1.9(番外) Java复习之多态性练习
多态性 注意format方法,将货币单位动态本地化(中国为人民币,美国为dollar)原创 2018-07-18 12:19:40 · 298 阅读 · 0 评论 -
2.0 Java复习之Object类与测试方法
Object类没有属性 每个类实例化都会调用该根父类Object类的常用方法 不拘泥于数据类型,关注值是否相等(自动类型转换,从而值相等) 比较地址值Ctrl+shift+P查看底层源码 String类重写了equals()方法(从前往后比较字符串内容,才输出trueeclipse提供重写根父类equals()方法...原创 2018-07-19 10:23:55 · 174 阅读 · 0 评论 -
2.1 Java复习之包装类
包装类基本数据类型转化为包装类包装类转化为基本数据类型自动装箱和拆箱基本数据类型,包装类与String类的转换包装类练习包装类基本数据类型转化为包装类 i1.Tostring():显示表明可以调用方法形参为字符串(如“false” “12.3”)都可以,但字符串实体本身仍然为对应的基本数据类型(布尔类型例外),若不是这样,则报异常(Numbe...原创 2018-07-21 10:34:35 · 456 阅读 · 0 评论 -
2.2(2) Java之单例模式与main方法(bank项目6)
单例设计模式简述:设计一个类,只能创建一个实例设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。 设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己再思考和摸索。饿汉式 返回true,说明指向同一块内存空间(即单个实例) 1. 不允许外部创建,只能内部创建 2. 为了体现封装性,将属性私有化,提供公共...原创 2018-07-22 15:40:18 · 1091 阅读 · 0 评论 -
2.2(3) Java之初始化块(代码块)
代码块静态代码块静态代码块总结代码块静态代码块 关注 1. 先有语句输出,后打印,说明先执行代码块,后执行构造器 2. 静态代码块在创建类对象时执行,且每创建一次则执行一次 先执行代码块,后执行构造器 关注属性赋值: 代码块与显式初始化按顺序结构执行静态代码块总结初始化块(初始化属性)静态代码块与非静态代码块...原创 2018-07-23 10:28:25 · 165 阅读 · 0 评论 -
2.2(1) Java复习之static关键字
static关键字static修饰变量static内存分析static修饰方法static关键字练习数组回顾static关键字static修饰变量 注明:static不能修饰构造器,构造器的生命周期视作一般方法实例变量随对象而转移,每个对象都有一套实例变量类变量各对象公用static内存分析name简化内存空间(参照2.0的...原创 2018-07-22 11:09:01 · 149 阅读 · 0 评论 -
2.3 Java之final关键字
final关键字final关键字finalize()清除对象的内存空间不可对常量赋值(初始化后)记忆常量的初始化位置,即在对象构造之前将final变量初始化就OKstatic final PI(实例) 方法内不能初始化创建D的对象,常量就存在于对象在堆空间的实体里, 不能更改(不能重新赋值的原因)所有的构造器都得赋值,不然报错(调用未赋值的构...原创 2018-07-23 22:13:12 · 116 阅读 · 0 评论 -
2.4 Java之抽象类与模板方法设计模式
抽象类抽象类接口可理解为彻底的抽象类原创 2018-07-23 22:40:45 · 264 阅读 · 0 评论 -
2.5 Java之接口,工厂设计模式与代理模式
接口接口 重点:接口可理解为彻底的抽象类(只含有常量和抽象方法) 即属性都是常量,方法都是抽象方法接口定义功能,被类实现(不是继承,因为单继承,多实现)类与接口的关系:实现接口修饰符:public或default实现接口后就有接口的功能接口没有构造器,不可以实例化类的继承使得创建某类对象一定会上溯,从而调用Object构造器(回顾)属性修...原创 2018-07-24 23:01:13 · 228 阅读 · 0 评论 -
2.6 Java之内部类(匿名内部类)
内部类举例内部类概述重名变量的区分内部类练习1内部类举例 枚举类是线程类的内部类,表明线程的生命周期内部类概述 要点:方法和属性的权限修饰符有四种外部类只有两种权限修饰符,而内部类作为成员有四种static不能修饰外部类,但能修饰内部类静态结构:类创建,静态结构随之创建非静态结构:创建对象后才加载非静态结构重名变量的区分...原创 2018-07-26 22:53:07 · 129 阅读 · 0 评论 -
2.7 Java之异常处理
异常处理实例运行时异常异常处理 异常分RuntimeException和非RuntimeException,RuntimeException下有许多子类实例 main方法内调用自身方法,则创建无数个args 每执行一次,则进行一次形参传递,分配无数多个空间,都为args 但栈空间有限,报异常运行时异常 回顾bank类可能的空指针...原创 2019-09-09 21:34:15 · 138 阅读 · 0 评论 -
2.8 Java之集合(Lish和Set篇)
集合概述Collection接口继承树Collection接口的方法集合概述Java 集合也叫容器,util包下,用于存储对象,可分为 Collection 和 Map 两种体系Collection接口: Set:元素无序、不可重复的集合 —类似高中的“集合”List:元素有序,可重复的集合 —”动态”数组Map接口:具有映射关系“key-value对”的集合...原创 2019-03-15 08:47:09 · 469 阅读 · 0 评论 -
2.9 Java之Map接口
Map接口树Map内存结构Map接口方法Map接口树Map是与Collection并列的接口 key和value可为引用类型的数据:Object类及其子类对象key不可重复,value可重复,类比函数虚线为实现,实线为继承hashset为hashmap的特别实现Map内存结构纵向:key构成keySet(不重复...原创 2018-08-02 11:08:25 · 167 阅读 · 0 评论 -
3.0 Java之Collections工具类
Collections概述与collection接口比较collections:操作集合的工具类(是一个类),集合包括Collection接口体系和Map接口体系 collection:接口,和存储数据相关考虑使用,有两个子接口,可存储不同数据特点的元素集合元素操作方法package1 list遍历顺序同添加顺序工具类的方法大部分是静态的,通过类调用s...原创 2018-08-03 10:36:43 · 224 阅读 · 0 评论 -
3.1 Java之泛型
泛型概述表示泛型,只能填写引用数据类型。实例化接口的实现类时,指明E的类型list接口声明中使用了泛型,但使用时可不指定泛型,默认为object,则各类型对象都可以添加接口的方法也使用了泛型好处在于不需要类型强转(直接返回指定类型,而不是Object类对象)泛型使用场景未使用泛型班级成绩按照学号顺序存储到list中,有序采用集合list实现I...原创 2018-08-05 11:22:22 · 194 阅读 · 0 评论 -
3.2 Java之枚举与注解
枚举自定义枚举类使用enum关键字定义枚举类枚举类实例枚举类的方法实现接口的枚举类正常用法特殊用法注解枚举补:相当于让每个对象重写抽象方法枚举类的对象有限,通过关键字限制构造器单例模式看作特殊的枚举类,只提供一个实例自定义枚举类 构造器私有,保证对象的有限性,保持封装性和不可更改性,属性私有和final在内部创建对象...原创 2018-08-08 11:54:30 · 176 阅读 · 0 评论 -
3.3 Java之文件与字节节点流
I/O流File类概述File类方法访问文件名方法文件检测方法文件与目录操作方法I/O流程序运行,JVM在内存中分配资源,执行完后回收资源(在内存中操作),断电则消失以流的形式输入输出,有最基本的单位集合有不同的实现类来处理不同的对象,类似,不同I/O流处理不同数据随机存取文件流:既能输入,也能输出File类概述file一定对应...原创 2018-08-10 11:02:56 · 223 阅读 · 0 评论 -
3.4 Java之字符节点流
文件字符流FileReader类文本文件复制(文件字符流应用)文件字符流操作的是字符,操作对象一定是文本文件文件字符流作为节点流也是直接与文件交互的FileReader类 类比文件字节流,除了读取的数据单位变化,其他形式一致文本文件复制(文件字符流应用)字符流只处理文本文件(字符内容),不能处理音频,图片等文件若以字符形式...原创 2018-08-12 12:13:23 · 328 阅读 · 0 评论 -
3.5 Java之缓冲流
缓冲流:加速节点流对文件操作的速度字节流也能处理文本文件,要求byte数组为偶数(即汉字两个字节不拆分),但效率不如字符流原创 2018-08-11 22:29:50 · 166 阅读 · 0 评论 -
3.6 Java之转换流和标准输入输出流
转换流使用框架实例转换流总结标准的输入输出流JDK文档解释使用框架转换流与标准输入输出流的实例转换流转换流(属于处理流)作用在节点流之上转换流共两种:输入型和输出型输入型转换流:将输入型字节流转换为输入型字符流,使得以字符形式读入,提高效率,输出型同理解码:由字节数组(字节流)转化为字符串(字符流)(由看不懂到看懂)编码:由字符串(字符流...原创 2018-08-12 12:11:58 · 1173 阅读 · 0 评论 -
3.7 Java之打印流和数据流(附字符字节流练习)
字符字节流练习字节流输出字符流输出字符流输入字符流输入输出总结打印流(输出型):共两种,分字节型和字符型out返回打印流的对象,打印流里具有大量print和println的重载方法out是标准的输出流,所以打印到控制台上创建字节型的打印流,缓冲流是手动刷新的,true表示自动刷新(flush) 节点流包装到处理流的构造器中 重新设置位置,设置到新的打印...原创 2018-08-14 10:22:19 · 1028 阅读 · 0 评论 -
3.8 Java之对象流
对象流实例对象流输出对象流输入随机存取文件类对象流对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,或通过网络将这种二进制流传输到另一个网络节点。当其它程序获取了这种二进制流,就可以恢复成原来的Java对象二进制流:以字节形式存储简而言之:将内存中的Java对象以流的形式或序列化形式转化成一个二...原创 2018-08-15 10:22:52 · 195 阅读 · 0 评论