javaSE
zhenyu93
这个作者很懒,什么都没留下…
展开
-
javaSE-进阶十九(Git)
Git能够干什么Git是一个代码版本控制工具,有下面几个特点1.Git可以用于备份项目代码2.Git可以管理代码的各个版本3.Git可以方便大家协同工作4.Git可以方便代码追责Git和SVN对比SVN是集中式的版本控制系统,而Git是分布式的版本控制系统。Git本地仓库操作工作目录:代码存放的位置暂存区:代码提交之前的临时存储空间本地仓库:存放不同的版本代码Git常用命令git init 初始化,创建git仓库git status 查看git状态(文件是否进行了添加、原创 2020-12-02 09:21:59 · 88 阅读 · 0 评论 -
javaSE--进阶十八(junit,Log4j)
Junit单元测试Junit单元测试,它可以让方法独立执行。这样我们每写完一个方法,就可以使用Junit运行,检查方法的正确性。//运行在@Test直接之前@Beforepublic void before(){ System.out.println("运行在Test之前"); }//加上@Test注解的方法,可以独立执行。//绿色:表示正常执行//红色:执行出现问题@Testpublic void show(){ int a=10; int b=20;原创 2020-12-02 09:21:32 · 87 阅读 · 0 评论 -
javaSE--进阶十七(XML,枚举,注解)
XMl概述xml是可扩展的标记语言。它的标签都是自定义的,然后通过程序员写代码自己进行解析。html的标签是预定义好的,每一个标签都有特定含义,这些标签可以被浏览器直接识别。xml一般用来作为配置文件使用,它可以表示具有层次结构的数据。xml标签的规则1.标签都有由一对尖括号组成的2.标签一般都是成对出现的,开始标签和结束标签的名称是一样的 <student></student>3.标签可以是单独的一个标签,必须要有结束标签 <student/>4.标原创 2020-12-02 09:21:14 · 140 阅读 · 0 评论 -
javaSE--进阶十六(类加载器,反射)
类加载器的方法Properties pro=new Properties();//使用类加载器获取src目录下文件的输入流InputStream in = ClassLoader.getSystemClassLoader().getResourceAsStream("a.properties");//把配置文件中的键和值,加载到Properties集合pro.load(in);System.out.println(pro);反射反射可以在程序运行时,动态的获取每一个类的各个组成部分(成原创 2020-12-02 09:20:52 · 106 阅读 · 0 评论 -
javaSE--进阶十五(网络编程,TCP与UDP)
网络编程的三要素ip地址:ip地址网络中计算设备的唯一标识 ipv4: 占4个字节 ipv6: 占16个字节 ipconfig: 查看本机的ip地址 ping: 检测指定的ip是否能够连接通 注意:ip地址和域名是对应的,需要在工信部门进行备案 端口号:计算设备中连接网络的应用程序的标识(用一个整数表示 0~65535 ) 0~1023不建议使用,可能会被系统或者一些知名的软件占用。 80:连接互联网的默认端口号 协议:网络中数据传输的规则 UDP协议:面向无连接,不可靠的原创 2020-12-02 09:20:23 · 110 阅读 · 0 评论 -
javaSE--进阶十四(线程状态,线程池,JVM的内存模型)
线程的状态【理解】NEW(新建状态): 至今尚未启动的线程处于这种状态。 RUNNABLE(就绪状态):正在 Java 虚拟机中执行的线程处于这种状态。 BLOCKED(阻塞状态): 受阻塞并等待某个监视器锁的线程处于这种状态。 WAITING(等待状态): 无限期地等待另一个线程来执行某一特定操作的线程处于这种状态。 TIMED_WAITING(计时等待): 等待另一个线程来执行取决于指定等待时间的操作的线程处于这种状态。 TERMINATED(销毁状态):已退出的线程处于这种状态。原创 2020-12-02 09:20:00 · 102 阅读 · 0 评论 -
javaSE--进阶九(红黑树,hashSet,Map)
红黑树红黑树的规则: 1.每一个节点都是红色或者黑色 2.如果一个节点没有子节点,就称为叶子节点(Null),叶子节点都是黑色 3.根节点是黑色 4.对于一个红色节点,它的子节点都是黑色 5.对任意的节点,到其叶子节点的简单路径,包含相同的黑色节点数目。 红黑树添加元素:元素默认的颜色是红色如果添加元素破坏了红黑规则,可以如何恢复红黑规则?HashSetHashSet是属于Set集合的子类HashSet集合的特点 1.元素没有顺序 2.元素不能重复 3.元素没有索引Ha原创 2020-12-02 09:19:27 · 145 阅读 · 0 评论 -
javaSE--进阶八(泛型,二叉树)
泛型Java中如果在写代码的时候,不知道数据类是什么类型,那么就可以使用泛型。泛型其实就是任意的数据类型。泛型可以使用在哪些地方? 泛型类: 在类名后面<T>, 它表示在类中有一个不确定的数据类型。 泛型方法: 在方法的返回值前面<T>,它表示在方法中有一个不确定的数据类型 泛型接口:在接口名后面<T>,它表示在接口中有一个不确定的数据类型泛型类在类名后面<T>, 它表示在类中有一个不确定的数据类型、//定义一个盒子,用来装东西(什么东西,不原创 2020-12-02 09:19:01 · 127 阅读 · 0 评论 -
javaSE--进阶十三(多线程,线程安全问题,死锁,阻塞队列)
多线程概述1.多线程“同时”执行多件事情2.多线程需要硬件的支持并发与并行的区别并行:多个任务,同时执行并发:多个任务,交替执行进程和线程进程:表示正在运行的程序线程:进程中的一个执行路径,一个进程可以包含多个线程(多线程程序)线程的实现方式继承Thread方式继承Thread方式实现线程的步骤 1.写一个Thread的子类 2.复写run方法(run方法中是线程的执行代码) 3.创建Thread子类对象 4.调用start方法,启动线程注意的问题 1.为什原创 2020-12-01 10:18:13 · 251 阅读 · 0 评论 -
javaSE--进阶十二(IO流,序列化,Properties类)
字节流读取文本文件的问题当文本文件中存在汉字和字母的时候,由于汉字和字母占用的字节数不一样,再读取的时候就可能产生乱码的问题。假设有一个a.txt文件a你好bc使用下面的FileInputStream读取文件中的字节,把字节转成字符串就有乱码问题。FileInputStream fis=new FileInputStream("myModule12\\a.txt");//一次读取多个字节byte[] bs=new byte[2];int len; //记录每次读取的字节个数while (原创 2020-12-01 10:17:40 · 100 阅读 · 0 评论 -
javaSE--进阶十一(File类,路径,删除文件夹,IO流)
File类File类表示文件或者文件夹的路径。创建File对象创建File对象时,需要指定一个路径。这个路径可以存在,也可以不存在,可以是文件路径也可是文件夹路径。File f1=new File("C:\\a.txt");System.out.println(f1);File f2=new File("C:\\it\\aaa","a.txt");System.out.println(f2);File dir=new File("C:\\it\\aaa");File f3=new Fi原创 2020-12-01 10:16:58 · 127 阅读 · 0 评论 -
javaSE--进阶十(可变参数,Stream流)
可变参数可变参数用在方法的形式参数的位置,它可以看做是一个数组,可以接收多个实际参数。public static void main(String[] args){ int sum1=getSum(3,4,5); //求3,4,5的和 int sum2=getSum(1,2,3,4,5,6); //求1,2,3,4,5,65的和 int[] array={1,2,3,4,5,6}; int sum2=getSum(array); //求1,2,3,4,原创 2020-12-01 10:16:40 · 250 阅读 · 0 评论 -
javaSE--进阶七(集合,迭代器,增强for,数据结构)
数组和集合的区别1.数组的长度是固定的;数组元素类型可以是基本类型,也可以是引用类型2.集合的长度是可变的;集合元素类型只能是引用数据类型。 集合中如要想存储基本数据类型,需要转换为包装类 int-->Integer集合的体系结构Colletion接口:集合体系的根接口 -- List接口: 有索引、新增了一些对索引进行操作的方法 ArrayList类 LinkedList类 -- Set接口: 没有索引 HashSet类 TreeSet类 Collectio原创 2020-12-01 10:16:14 · 81 阅读 · 0 评论 -
javaSE--进阶六(时间类,异常类)
JDK7的日期时间类。Date类Date类表示时间,时间可以精确到毫秒。创建一个Date对象,其实就表示时间的对象。Date date1=new Date(); //当前系统时间Date date2=new Date(0L); //1970年1月1日8点0时0分 (中国)Date date3=new Date(1000L*60*60*24); //1970年1月2日8点0时0分 (中国)获取和设置时间Date date=new Date(); //当前系统时间//设置时间为da原创 2020-12-01 10:15:50 · 200 阅读 · 0 评论 -
javaSE--进阶五(Math类,System类,Object类,BigDegimal类,Arrays类,二分查找,冒泡排序,递归)
Math类Math类中包含一些对数据进行数学运算的方法,而该类中的方法全都是静态的。像这样的类称之为工具类public static int abs(int a) 对一个数据求绝对值public static double ceil(double n) 对一个小数向上取整 4.3 --> 5.0public static double floor(double n) 对一个小数向下取整 4.3 --> 4.0public static int round(d原创 2020-12-01 10:15:11 · 73 阅读 · 0 评论 -
javaSE--进阶四(内部类,lambda表达式)
内部类内部类它就是定义在类里面的类,但是根据在类中位置的不同,分为成员内部类,局部内部类。成员内部类成员内部类,写在类的成员位置public class Outer{ private int num=10; //Outer类的成员变量 //成员内部类 class Inner{ int num=20; public void show(){ int num=30; System.out.p原创 2020-12-01 10:14:46 · 108 阅读 · 0 评论 -
javaSE--进阶三(接口,多态)
接口接口中的方法全都是抽象方法,用来指定一些规则,让子类去重写。接口的作用主要体现在一下两点1.指定规则2.利用这些规则给类做功能扩展接口的定义和使用接口使用interface关键字来定义,使用implements来实现。//定义接口public interface Inter{ //接口中的抽象方法 public abstract void method();}//实现接口public class InterImpl implements Inter{ //原创 2020-12-01 10:13:45 · 82 阅读 · 0 评论 -
javaSE--进阶二(继承,抽象)
继承继承的格式继承它描述的是两个类之间的关系,如果一个子类继承父类,那么子类可以使用父类非私有的成员。public class 父类{ //成员变量 //成员方法}public class 子类1 extends 父类{ }public class 子类2 extends 父类{ }继承的好处和弊端1.提高了代码的复用性,可维护性2.增强了耦合性(类与类之间的关系过于紧密) 什么是时候使用继承? 类与类之间有共性的成员变量或者成员方原创 2020-12-01 10:13:34 · 66 阅读 · 0 评论 -
javaSE--进阶一(分包,学校管理系统)
分类(分层)思想把软件系统中要做的需求分成很多类,每个类做的事情是不一样的(分工协作)dao层(数据访问层):对数据进行管理的操作(增、删、改、查)。 数据库、数组、集合service层(业务层): 具体做一些业务操作controller(控制层): 用来接收用户的数据,交给业务层进行处理。domain层(实体类):用来封装数据的 JavaBean类有以下的规则: 1)私有化成员变量 2)要有空参数构造方法 3)要有get和set方法包的定义和导包1.包是什么? 包本质上是原创 2020-11-30 19:44:01 · 244 阅读 · 0 评论 -
javaSE--基础九(数组,集合,包装类)
数组和集合的区别数组:长度是固定的集合:长度随着元素的个数发生改变集合的创建和使用ArrayList是API中提供的一个类,用来表示集合。ArrayList底层也是数组来实现的,当往集合中存储元素时,会自动对底层的数组进行扩容的。//创建ArrayList集合对象//<String> 元素的类型为String类型ArrayList<String> list=new ArrayList<>();//添加元素list.add("hello");list原创 2020-11-30 19:29:40 · 88 阅读 · 0 评论 -
javaSE--基础八(API简介,字符串常见方法)
API概述Java官方给开发者已经写好了很多个类,类中有各种方法供开发者调用。我们学习Java语言更多的是学习官方给我们提供好的类和方法。 这些类和方法,我们就把它称之为APIJava API文档的使用步骤1.搜索需要的类 【显示】-->【索引】-->输入框输入要搜索的类 2.看类在哪个包中 java.lang包,使用该包下的类不用导包 非java.lang包,就需要导包 3.看类的描述信息 告诉你该类是干什么用的。4.看构造方法 用来创建对象的,如果有多个构造方法就原创 2020-11-30 19:25:54 · 145 阅读 · 0 评论 -
javaSE--基础七(面向对象)
面向对象思想1.面向过程 把需要完成的事情,自己一步一步的完成。 2.面向对象 找一个能帮你完成事情的对象,让对象帮你做事情。 面向对象的特点: 1) 对象是客观存在的事物,都可以看做对象(电脑、手机、人....) 万物皆对象 2) 把复杂的问题简单化 3) 把我们从执行者,变为指挥着类与对象的关系类:类是对同一类具有相同属性和行为的事物的统称 电脑类、人类...对象:对象是类的具体体现总结:类是对象的模板,同一个模板(类),可以创造出很多个对象。类的定义pub原创 2020-11-30 19:22:12 · 109 阅读 · 0 评论 -
javaSE--基础六(idea.debug,进制转换,二维数组)
Debug调试什么是Debug调试? Debug调试可以让我们看到程序的执行流程,和变量的变化情况如何完成Debug调试? 1.打断点 (程序执行时,会停在断点的位置) 在代码编辑区域的最左边,点一下即可 2.点击Debug 运行 (小虫子) 3.通过Debug的一些按钮来完成后续的调试操作 看下图进制【了解】进制指的是一种计数方式,常用的计数方式有 十进制、二进制、八进制、十六进制十进制: 由0、1、2、3....9 组成,逢10进1 例如: 100二进制:原创 2020-11-30 19:02:10 · 312 阅读 · 0 评论 -
javaSE--基础五(方法定义与调用)
方法简介方法是用来封装特定功能的代码块,为了提高代码的复用性。学习方法主要就学习两点 1.方法的定义 2.方法的调用方法的定义和调用public class MethodDemo{ //主方法 public static void main(String[] args){ hairCut(); //调用剪头发的方法 hairCut(); //调用剪头发的方法 } //自定义方法,剪头发方法 public s原创 2020-11-30 18:57:45 · 84 阅读 · 0 评论 -
javaSE--基础四(idea,数组)
IDEA的项目结构project(项目、工程) -- Module(模块) -- Package(包) -- Class(类) -- Class(类) -- Package(包) -- Class(类) -- Class(类) -- Module(模块) ...在使用IDEA来创建Java项目的时候,一定要满足上面的目录结构,否则代码跑不起来。IDEA创建项目1.创建项目 Crete New原创 2020-11-30 18:55:41 · 398 阅读 · 0 评论 -
javaSE--基础三(循环语句,随机数)
switch语句当需要在几个固定的值中,选择一个种情况来执行,这个时候可以选择switch语句int n=值; //n的值可能是下面的几种情况switch(n){ case 值1: 语句体; break; case 值2: 语句体; break; ... default: 语句体; break;}注意事项: 1)case后面的值不能重复 2)case后面的值只能是常原创 2020-11-30 18:48:26 · 408 阅读 · 0 评论 -
javaSE--基础二(类型转换,运算符,if语句)
数据类型转换1.隐式(自动)类型转换: 从数据类型小的到数据类型大的转换 byte < short, char< int < long < float < double 1)多种类型参与运算,小的数据类型会自动转换为大的数据类型 double a=3.14; int b=3; double c=a+b; 2)byte,short,char这三种之间不转换,在运算时会直接转换为int类型 byte x=3; byte y=4; int z=x+y;原创 2020-11-30 18:43:57 · 715 阅读 · 0 评论 -
javaSE--基础一(背景介绍,环境变量配置)
Java语言的背景介绍Java之父:詹姆斯*高斯林Java语言的平台版本: JavaSE: 是属于后面两个版本的基础,可以开发桌面应用(电脑的应用) JavaME: 开发嵌入式设备的应用(老试的功能手机里的应用,被淘汰了) JavaEE: 开发网站的(前端+后台)Java跨平台性概念:使用Java语言开发的程序(软件),可以在多种平台(操作系统)上运行。 常见的操作系统:Windows、Linux、MacOs原理:在不同的操作系统上安装有不同版本的Java虚拟机,由Java虚拟机来运行原创 2020-11-30 18:37:04 · 125 阅读 · 0 评论