java基础
文章平均质量分 65
ccboy001
共同学习ing
展开
-
JUC 学习笔记
JUC1. 什么是JUC2. 进程和线程3. Lock锁4. 生产者和消费者4.1. 生产者和消费者问题Synchronized版4.2. JUC版本的生产者和消费者4.3. Condition实现精准通知唤醒5. 8锁的现象6. 集合类不安全6.1. List不安全6.2. Set不安全6.3. Map不安全6.4. HashMap数据结构及2的整数次幂探究6.5. HashMap加载因子及转红黑树探究6.6. ConcurrentHashMap的原理7. Callable8. 常用辅助类## 8.1.原创 2021-10-06 21:55:49 · 312 阅读 · 1 评论 -
java8的其他新特性(Java基础学习笔记)
java8的其他新特性一 Java8新特性概述:二 Lambda表达式:三 函数式接口:四 方法引用:五 构造器引用与数组引用:六 Stream API:七 Optional类的使用:一 Java8新特性概述:二 Lambda表达式:1.Lambda表达式使用前后的对比:举例一:@Testpublic void test1(){Runnable r1 = new Runnable() { @Override public void run() { Syste转载 2021-06-15 00:33:11 · 89 阅读 · 0 评论 -
java 反射机制(Java基础学习笔记)
java 反射机制一 反射的概述:二 Class类的理解与获取Class的实例:三 了解ClassLoader:四 反射应用一:创建运行时类的对象:五 反射应用二:获取运行时类的完整结构:六 反射应用三:调用运行时类的指定结构:七 反射应用四:动态代理:一 反射的概述:1.本章的主要内容2.关于反射的理解Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。框架 = 反射 + 注转载 2021-06-15 00:26:42 · 170 阅读 · 0 评论 -
java 网络编程(Java基础学习笔记)
java 网络编程一 InetAddress类的使用:二 TCP网络编程:三 UDP网络编程:四 URL编程:一 InetAddress类的使用:一、实现网络通信需要解决的两个问题1.如何准确地定位网络上一台或多台主机;定位主机上的特定的应用2.找到主机后如何可靠高效地进行数据传输二、网络通信的两个要素:1.对应问题一:IP和端口号2.对应问题二:提供网络通信协议:TCP/IP参考模型(应用层、传输层、网络层、物理+数据链路层)三、通信要素一:IP和端口号1.IP的理解IP转载 2021-06-15 00:20:12 · 101 阅读 · 0 评论 -
java IO流(Java基础学习笔记)
java IO流一 File类的使用:二 IO流概述:三 节点流(或文件流):四 缓冲流的使用:五 转换流的使用:六 其他流的使用:七 对象流的使用:RandomAccessFile的使用:Path、Paths、Files的使用:一 File类的使用:1.File类的理解File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)File类声明在java.io包下File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取转载 2021-06-15 00:16:28 · 82 阅读 · 0 评论 -
java 泛型(Java基础学习笔记)
java泛型一 泛型的理解:二 泛型在集合中的使用:三 自定义泛型类、泛型接口、泛型方法:四 泛型在继承上的体现:五 通配符:一 泛型的理解:1.泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时确定(即传入实际的类型参数,也称为类型实参)。2.泛型的引入背景集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.转载 2021-06-15 00:07:09 · 117 阅读 · 0 评论 -
java 集合(Java基础学习笔记)
java集合一 数组与集合:二 Collection集合:三 Iterator接口与foreach循环 :四 Collection子接口:List接口:五 Collection子接口:Set接口:六 Map集合:七 Collections工具类的使用:八 数据结构简述:一 数组与集合:集合与数组存储数据概述: 集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明: 此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)数组转载 2021-06-14 22:57:18 · 114 阅读 · 0 评论 -
java 枚举类和注解(Java基础学习笔记)
枚举类和注解一 枚举类的使用:二 注解的使用:一 枚举类的使用:枚举类的说明: 1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式。如何自定义枚举类?步骤: //自定义枚举类 class Season{ //1.声明Season对象的属性:private final修饰 private final String seasonNa转载 2021-06-14 22:25:27 · 119 阅读 · 0 评论 -
java 常用类(Java基础学习笔记)
java常用类一 String类:二 StringBuffer、StringBuilder:三 JDK8之前日期时间API:四 JDK8中新日期时间API:五 Java比较器:六 其他类:一 String类:java.lang.String类的使用1.概述String:字符串,使用一对""引起来表示。1.String声明为final的,不可被继承2.String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小3.Str转载 2021-06-14 22:14:43 · 290 阅读 · 0 评论 -
java 多线程(Java基础学习笔记)
多线程一 程序、进程、线程的理解:二 并行与并发:三 创建多线程的两种方式:四 Thread类中的常用方法:五 Thread的声命周期:六 线程的同步机制:七 线程通信:八 JDK1.5新增线程创建的方式:一 程序、进程、线程的理解:程序(programm) 概念:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。进程(process) 概念:程序的一次执行过程,或是正在运行的一个程序。 说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域转载 2021-06-14 21:42:30 · 72 阅读 · 0 评论 -
java 异常处理(Java基础学习笔记)
java 异常处理一 异常的体系结构:二 异常的处理:三 手动抛出异常对象:四 自定义异常类:一 异常的体系结构:. java.lang.Throwable |-----java.lang.Error:一般不编写针对性的代码进行处理。 |-----java.lang.Exception:可以进行异常的处理 |------编译时异常(checked) |-----IOException |-----FileNotFoundExc原创 2021-06-14 17:46:46 · 104 阅读 · 0 评论 -
java 单元测试方法(Java基础学习笔记)
Java中的JUnit单元测试步骤:1.中当前工程 - 右键择:build path - add libraries - JUnit 4 - 下一步2.创建Java类,进行单元测试。此时的Java类要求:① 此类是public的 ②此类提供公共的无参的构造器3.此类中声明单元测试方法。此时的单元测试方法:方法的权限是public,没返回值,没形参4.此单元测试方法上需要声明注解:@Test,并在单元测试类中导入:import org.junit.Test;5.声明好单元测试方法以后.原创 2021-06-14 16:02:07 · 154 阅读 · 0 评论 -
java 面向对象(Java基础学习笔记)
1.面向对象学习的三条主线:1.Java类及类的成员:属性、方法、构造器;代码块、内部类2.面向对象的大特征:封装性、继承性、多态性、(抽象性)3.其它关键字:this、super、static、final、abstract、interface、package、import等2.面向对象与面向过程(理解)1.面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。2.面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。举例对比:人把大象装进冰箱。3.完成一个项目(或转载 2021-06-12 00:56:23 · 220 阅读 · 0 评论 -
java数组(Java基础学习笔记)
/*如何从键盘获取不同类型的变量:需要使用Scanner类具体实现步骤:1.导包:import java.util.Scanner;2.Scanner的实例化:Scanner scan = new Scanner(System.in);3.调用Scanner类的相关方法(next() / nextXxx()),来获取指定类型的变量注意:需要根据相应的方法,来输入指定类型的值。如果输入的数据类型与要求的类型不匹配时,会报异常:InputMisMatchException导致程序终止。*//转载 2021-06-12 00:00:02 · 168 阅读 · 0 评论 -
java流程控制(Java基础学习笔记)
一 : 分支结构1.if-else条件判断结构1.1.结构一:if(条件表达式){执行表达式}结构二:二选一if(条件表达式){执行表达式1}else{执行表达式2}结构三:n选一if(条件表达式){执行表达式1}else if(条件表达式){执行表达式2}else if(条件表达式){执行表达式3}…else{执行表达式n}1.2.说明:else 结构是可选的。针对于条件表达式:如果多个条件表达式之间是“互斥”关系(或没有交集的关系),哪个判断和转载 2021-06-11 23:12:12 · 102 阅读 · 0 评论 -
java运算符(Java基础学习笔记)
1.算术运算符: + - + - * / % (前)++ (后)++ (前)-- (后)-- +【典型代码】//除号:/int num1 = 12;int num2 = 5;int result1 = num1 / num2;System.out.println(result1);//2// %:取余运算//结果的符号与被模数的符号相同//开发中,经常使用%来判断能否被除尽的情况。int m1 = 12;int n1 = 5;System.out.println("m1 % n1 =转载 2021-06-11 23:06:08 · 92 阅读 · 0 评论 -
进制(Java基础学习笔记)
1.编程中涉及的进制及表示方式:2.二进制的使用说明:2.1 计算机底层的存储方式:所有数字在计算机底层都以二进制形式存在。2.2 二进制数据的存储方式:所有的数值,不管正负,底层都以补码的方式存储。2.3 原码、反码、补码的说明:正数:三码合一负数:3.进制间的转换:3.1 图示:3.2 图示二进制转换为十进制:3.3 图示十进制转换为二进制:3.4 二进制与八进制、十六进制间的转换:...原创 2021-06-11 23:01:22 · 71 阅读 · 0 评论 -
java变量的使用(Java基础学习笔记)
1.变量的分类1.1 按数据类型分类详细说明://1. 整型:byte(1字节=8bit) \ short(2字节) \ int(4字节) \ long(8字节)//① byte范围:-128 ~ 127// ② 声明long型变量,必须以"l"或"L"结尾// ③ 通常,定义整型变量时,使用int型。//④整型的常量,默认类型是:int型//2. 浮点型:float(4字节) \ double(8字节)//① 浮点型,表示带小数点的数值//② float表示数值的范围比long还大原创 2021-06-11 22:55:25 · 86 阅读 · 0 评论 -
java代码简洁之道(Java基础学习笔记)
代码整洁之道第2章 有意义的命名2.1 介绍软件中随处可见命名。我们给变量、函数、参数、类和包命名。我们给源代码及源代码所在目录命名。这么多命名要做,不妨做好它。下文列出了取个好名字的几条简单规则。2.2 名副其实,见名知意变量名太随意,haha、list1、ok、theList 这些都没啥意义2.3 避免误导包含List、import、java等类名、关键字或特殊字;字母o与数字0,字母l与数字1等提防使用不同之处较小的名称。比如:XYZControllerForEfficientHa原创 2021-06-11 22:53:35 · 200 阅读 · 0 评论 -
java关键字与标识符(Java基础学习笔记)
1.java关键字的使用定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所字母都为小写具体哪些关键字:2.保留字:现Java版本尚未使用,但以后版本可能会作为关键字使用。具体哪些保留字:goto 、const注意:自己命名标识符时要避免使用这些保留字3.标识符的使用定义:凡是自己可以起名字的地方都叫标识符。涉及到的结构:包名、类名、接口名、变量名、方法名、常量名规则:(必须要遵守。否则,编译不通过)规范:(可以不遵守,不影响编译和运行。但是要求大家原创 2021-06-11 22:50:50 · 87 阅读 · 0 评论 -
java注释与API文档(Java基础学习笔记)
1.注释:Comment分类:单行注释://多行注释:/* /文档注释:/* */作用:① 对所写的程序进行解释说明,增强可读性。方便自己,方便别人② 调试所写的代码特点:①单行注释和多行注释,注释了的内容不参与编译。换句话说,编译以后生成的.class结尾的字节码文件中不包含注释掉的信息② 注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。③ 多行注释不可以嵌套使用2.Java API 文档: API:applic原创 2021-06-11 22:48:08 · 1185 阅读 · 0 评论 -
第一个Java程序(Java基础学习笔记)
1.开发体验——HelloWorld1.1 编写创建一个java源文件:HelloWorld.javaclass HelloChina{public static void main(String[] args){System.out.println(“Hello,World!”);}}1.2 编译:javac HelloWorld.java1.3 运行:java HelloChina2.常见问题的解决3.总结第一个程序java程序编写-编译-运行的过程编写:我们将编写原创 2021-06-11 22:46:29 · 1146 阅读 · 0 评论 -
java开发环境搭建(Java基础学习笔记)
1.开发环境的搭建(重点)1.1 JDK、JRE、JVM的关系1.2 JDK的下载、安装下载:官网,github安装:傻瓜式安装:JDK 、JRE注意问题:安装软件的路径中不能包含中文、空格。1.3 path环境变量的配置1.3.1 为什么配置path环境变量?path环境变量:windows操作系统执行命令时所要搜寻的路径为什么要配置path:希望java的开发工具(javac.exe,java.exe)在任何的文件路径下都可以执行成功。1.3.2 如何配置?...原创 2021-06-11 22:35:27 · 107 阅读 · 1 评论 -
java语言概述(Java基础学习笔记)
文章目录Java学习笔记-java语言概述1.基础常识软件:即一系列按照特定顺序组织的计算机数据和指令的集合。分为:系统软件 和 应用软件 系统软件:windows , mac os , linux ,unix,android,ios,…应用软件:word ,ppt,画图板,…人机交互方式: 图形化界面 vs 命令行方式应用程序 = 算法 + 数据结构常用DOS命令:2.计算机语言的发展迭代史第一代:机器语言第二代:汇编语言第三代:高级语言面向过程:C,Pascal、Fo原创 2021-06-11 22:28:14 · 119 阅读 · 0 评论