- 博客(30)
- 收藏
- 关注
原创 多线程
1.0、线程简介1.1、Process(进程)与Thread(线程)说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位。通常一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位。**注意:**很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。如果是模拟出来的多线程,即在一个cpu的情况下,在同一
2020-09-28 11:56:27
147
原创 Lamda表达式
Lamda表达式λ 希腊字母中排序第十一位的字母,英语名称为Lambda避免匿名内部类定义过多其实质属于函数式编程的概念new Thread(()->System.out.println(“多线程学习。。。”)).start();为什么要使用lambda表达式避免匿名内部类定义过多可以让你的代码看起来很简洁去掉一堆没有意义的代码,只留下核心的逻辑。也许你会说,我看了Lambda表达式,不但不觉得简洁,反而觉得更乱,看不懂了。那是因为我们还没有习惯,用的多了,看
2020-09-28 11:55:36
140
原创 IO流的个人总结
l/O流1、IO流1.1、概念数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为 输入input 和 输出output ,即流向内存是输入流,流出内存的输出流。Java中I/O操作主要是指使用 java.io 包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据。1.2、分类根据数据的流向分为:输入流和输出流。 输入流 :把数据从 其他设备 上读取到 内存 中的流。 输出流 :把数据从 内存 中写出到 其他设备 上的流。根据数据的类型分
2020-07-03 17:30:16
235
1
原创 File类常用方法介绍
Java文件File类File类1 概念 java.io.File类: 文件和目录路径名的抽象表示(代表硬盘上的一个文件或者文件夹) 主要用于文件和目录的创建、查找和删除等操作。1.1 相对路径与绝对路径 相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。 绝对路径:从盘符开始的完整路径1.2 路径的表示方式 java中文件路径的表示方式 Windows中表示: c:\suns.txt Java中表示: c:\suns.txt
2020-06-16 00:47:36
265
原创 Java数组
数组的定义数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一份数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。数组声明创建首先必须声明数组变量,才能在程序中使用数组。dataType[] arrayRefVar;//首选的方法或dataType arrayRefVar[];//效果相同,但不是首选的方法Java语言使用new操作符来创建数组:dataType[] arrayRefVar = new dat
2020-06-15 17:01:49
513
1
原创 Java方法介绍
Java方法是语句的集合,它们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样利于我们后期扩展。方法的定义java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段。方法包含一个方法头和一个方法体。修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访
2020-06-15 17:01:15
136
原创 Java面向对象介绍
面向对象和面向过程不可分割。面向过程思想步骤清晰简单,第一步做什么,第二步做什么…面对过程适合处理一些较为简单的问题。面向对象的思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协助的问题。对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍需要面向过程的思路去处理。面向对象面
2020-06-15 17:01:03
96
原创 Java面向对象-封装
封装该露的露,该藏的藏我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:尽暴露少量的方法给外部使用。封装(数据的隐藏)通常,应禁止直接访问一个对象中的数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。记住这句话就够了:属性私有,get/set...
2020-06-15 17:00:54
80
原创 Java面向对象-继承
继承继承的本质是对某一批类的抽象,从而实现对显示世界更好的建模。extends的意思是“扩展”。子类是父类的扩展。Java中类知有单继承,没有多继承!一个儿子只能有一个爸爸,但是一个爸爸能有多个儿子。继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等等。继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。子类和父类之间,从意义上讲应该具有“is a”的关系。object类super
2020-06-15 17:00:33
72
原创 Java关键字、标识符
java关键字abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseenumextendsfinalfinallyfloatforgotoifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpubli
2020-06-15 17:00:22
112
原创 Java面向对象-多态
即同一方法可以根据发送对象的不同而采用多种不同的行为方式。一个对象的实际类型是可以确定的,但可以指向对象的引用的类型有很多。(父类或者有关系的类)多态存在的条件有继承关系的子类重写父类方法父类引用指向子类对象注意:多态是方法的多态,属性没有多态性。instanceof (类型转换) 引用类型的转换 ,判断一个对象的类型~多态的注意事项:多态是方法的多态,属性没有多态父类和子类,有联系 类型转换异常!ClassCastExcption!存在条件:继承关系;方法需.
2020-06-15 16:59:57
134
原创 Java内部类
内部类就是在一个类的内部在定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类了。1.成员内部类2.静态内部类3.局部内部类4.匿名内部类...
2020-06-15 16:58:52
169
原创 Java面向对象-接口
普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有!接口:只有规范!自己不发写方法专业的约束!约束和实现分离:面向接口编程接口就是规范,定义的是一组规则,体现了现实世界中“如果你是…则必须能…”的思想接口的本质是契约,就像我们人间的法律一样。制定好后大家都遵守。OO的精髓,是对对象的抽象,最能体现着一点的就是接口。为什么我们讨论设计 模式都只针对具备了抽象能力的语言(比如c++、Java、c#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。声明类的关键字是class,声明接.
2020-06-15 16:58:35
95
原创 Java面向对象-抽象类
abstract 修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类。特点不能new这个抽象类,只能靠子类去实现它;约束!抽象类中可以写普通的方法~抽象的方法必.
2020-06-15 16:58:22
120
1
原创 Java包机制
为了更好地组织类:java提供了包机制,用于区别类名的命名空间包语句的语法格式为:package pkg1 [ . pak2 [ . pak3… ] ];一般利用公司域名倒置作为包名; com.baidu.www为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句完成此功能。import package1[ . package2… ].(classname|*);import 导入包关键字 使用java.long包中的内容的时候..
2020-06-15 16:57:55
96
原创 Math.dandom方法
Math.random()默认产生大于等于0.0且小于1.0之间的随机double型随机数package com.shuzu;//import 导入包关键字 使用java.long包中的内容的时候不需要导入public class Test6 { public static void main(String[] args) { //Math.random();随机数的产生 double su = Math.random();//[0,1)之间的随机数 double型 int num
2020-06-15 16:57:25
177
原创 数组空指针异常
出现的原因 空对象打点调用其他内容解决方案 谁打点调用了东西那就是谁null,将点前面的对象变成非空具体实例package com.shuzu;public class Test8 { public static void main(String[] args) { String[] names=new String[5]; for (int i = 0; i < names.length; i++) { if (names[i].equals("baoyu")){/
2020-06-15 16:57:12
315
原创 Java数据类型
基本数据数据整数类型:整形 int字节 byte短整型 short长整型 long浮点类型:允许有小数单精度浮点型 float 后缀建议加F或f双精度浮点型 double字符类型:char 单个字母、汉字必须用单引号逻辑类型:布尔型(boolean)只有两个值 true false 表示真、假引用数据类型类 string —接口数组变量的命名规则:1.只能用数字、字母、下划线和$2.数字不能开头3.不能用关键字规范:类名每个首字母大写
2020-06-15 16:57:01
64
原创 Java异常简介
三种异常类型检查性异常:最具代表的检查异常时用户错误或问题引起的异常,这是程序员无法预见的,例如要打开一个不存在的文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。错误ERROR:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。Throwable(异常的超类)ERROR(错误)VirtulMachineEr
2020-06-15 16:56:50
130
原创 流程控制-struct
循序结构Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构。语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。选择结构if但选择结构 if(布尔表达式){ //如果布尔表达式的值为true执行代码} if双选择结构if(布尔表达式){ //如果布尔表达式的值为true执行的代码}else{ //如果布尔表达式的
2020-06-15 16:56:28
101
原创 java-方法-可变参数、递归
可变参数JDK1.5开始,Java支持传递同类型的可变参数给一个方法。在方法声明中,在指定参数类型后加一个省略号(…)。一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。package com.Duan.method;public class Dome03 { public static void main(String[] args) { Dome03 demo03 = new Dome03(); de
2020-06-15 16:20:49
239
原创 Java方法-命令行传参
命令行传参有时候你希望运行一个程序时在传递给他消息。这要靠传递命令行参数给main()函数实现。package com.Duan.method;public class Dome02 { public static void main(String[] args) { for(int i=0;i<args.length;i++){ System.out.println("args["+i+"]"+args[i]); } }
2020-06-15 16:14:43
598
原创 Java流程控制-Scanner
Scanner我们可以通过Scanner类来获取用户输入。要用Scanner类要导入包:java.util.Scanner 是Java5的新特征。凡是属于IO流的类如果不关闭会一直占用资源,要养成良好的习惯scanner.close();基本语法:Scanner s = new Scanner(System.in);next():一定要读取到有效字符后才可以结束输入。对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。知有输入有效字符后才将后面输入的空白作为分隔符或者
2020-06-15 16:09:38
88
原创 Java运算符基础
Java运算符算术运算符:+,-,*,/,%,++,——赋值运算符:=关系运算符:>,<,>=,<=,==,!= instanceof逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<条件运算符 ?:扩展赋值运算符:+=,-=,/=,/=++ –a++ 先参与运算 在加一++a 先加一在参与运算 输出语句也算运算&& || !与 &&
2020-06-15 16:08:42
83
原创 JavaDoc
JavaDocjavadoc命令是用来生成自己的API文档的参数信息@author 作者名@version 版本号@since 指明需要最早使用的jdk版本@param 参数名@return 返回值情况@throws 异常抛出情况encoding 编码的意思 -charset 字符集编码 UTF-8 为了多显示点中文防止乱码...
2020-06-15 16:07:47
73
原创 JavaSE-变量介绍
java变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域变量注意事项每个变量都有类型,类型可以是基本数据类型,也可以是引用数据类型变量名必须是合法的标识符变量是一条完整的语句,因此每一个生命都必须以分号结束变量局部变量:必须声明和初始化值 例:int i=10;实例变量:从属于对象; public class Dome04 { //实例变量:从属于对象;如果不自行初始化,这个类型的值默认是 0 0.0
2020-06-15 16:06:00
97
原创 Java-数据类型基础面试题
import com.sun.org.apache.xpath.internal.objects.XString;public class Dome01 { public static void main(String[] args) { //整数扩展: 进制 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i2 = 0b10;//二进制 int i3 = 010;//八进制
2020-06-15 16:03:09
113
原创 JavaSE-安装开发环境
卸载JDK删除java的安装目录删除JAVA_HOME删除path下关于java的目录java -version安装JDK百度搜索JDK8,找到下载地址同意协议下载电脑对应的版本安装JDK记住安装的路径配置环境变量我的电脑–>右键–>属性环境变量–>JAVA_HOME 到jdk安装的地方配置path变量%JAVA_HOME%\bin%JAVA_HOME%\jre\bin测试JDK是否安装成功打
2020-06-15 16:02:19
182
原创 JavaSE-基本Dos命令
CMD的打开方式开始+系统+命令提示符win+R 输入cmd打开控制台在任意文件夹下面,按住shift+鼠标右键点击,在此处打开命令窗口Powershell窗口资源管理器的地址栏前面加上cmd路径管理员方式运行:选择以管理员方式运行常用的Dos命令#盘符切换 c:#查看当前目录下的所有文件 dir#切换目录 cd change directory#返回上一级 cd..#清理屏幕 cls (clear screen)#查看电脑IP ipconfig#打开应用 计算器 clac
2020-06-15 16:01:40
134
原创 windouws常用快捷键
windouws常用快捷键 ctrl+C:复制 ctrl+V:粘贴 ctrl+A:全选 ctrl+X:剪贴 ctrl+Z:撤销 Alt+F4:关闭窗口 shift+delete:永久是删除 win+R:打开Dos命令窗口 win+E:打开我的电脑 ctrl+shift+Esc:打开任务管理器 explorer桌面 win+Tab:切换任务程序 ...
2020-06-15 16:00:06
768
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人