Java
y_Engineer
这个作者很懒,什么都没留下…
展开
-
排序及二分查找:冒泡排序;选择排序;直接插入排序;快速排序;二分查找
一、排序1、冒泡排序2、选择排序3、直接插入排序4、快速排序快速排序算法思想分治法:比大小,再分区1.从数组中取出一个数,作为基准数。2.分区:将比这个数大或等于的数全放到他的右边,小于他的数全放到他的左边。3.再对左右区间重复第二步,直到各区间只有一个数实现思路挖坑填数1.将基准数挖出形成第一个坑。2.由后向前找比他小的数,找到后挖出此数填到前一个坑中。3...原创 2019-07-15 10:40:51 · 395 阅读 · 0 评论 -
IO流:常见输入输出流:文件输入输出流,字符转换流;复制文件或多级文件夹;
文章目录IO流一.概述及分类二、字节输入输出流1、文件输入流(FileInputStream)常用方法2、文件输出流(FileOutputStream)常用方法3、使用文件输入输出流进行文件的复制方式一:一次读一个字节,写一个字节(效率低,一般不使用)方式二:一次读写一个字节数组(效率高)4、流的异常处理5、高效(通过内部缓冲区实现)的文件输入输出流复制文件方式三 :使用高效的文件输入输出流三、字...原创 2019-07-25 11:25:25 · 1291 阅读 · 0 评论 -
集合(二):Set : HashSet; LinkedHashSet; TreeSet
文章目录集合(二)Set一、HashSet1、概述及特点2、HashSet元素唯一性解析及代码优化代码优化二、LinkedHashSet三、TreeSet1、概述及特点二叉树存储数据保证元素唯一性且排序原理图解2、自然排序演示3、比较器排序演示4、例题集合(二)Set 概述及特点:元素唯一,即一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2...原创 2019-07-21 00:56:28 · 887 阅读 · 1 评论 -
IO流(其他流):数据输入输出流;内存操作流;打印流;序列化与反序列化流;随机访问流;Properties
文章目录IO流(其他流)一、数据输入输出流1、特有属性2、特有方法演示二、内存操作流1、操作字节数组的内存操作流2、操作字符数组的内存操作流3、操作字符串的内存操作流程三、打印流1、字符打印流2、字节打印流3、使用字节打印流和Scanner类复制文本文件四、序列化与反序列化流演示五、随机访问流1、演示2、例题:将一个文件复制三遍六、Properties演示IO流(其他流)一、数据输入输出流1...原创 2019-07-25 15:22:25 · 550 阅读 · 0 评论 -
网络编程:InetAddress;UDP协议传输数据 ;TCP协议传输数据;下载网络资源
文章目录网络编程一、网络编程三要素1、IP概述2、端口概述3、协议概述二、InetAddress类的使用和Socket通信原理1、InetAddress类的使用2、Socket通信原理三、UDP协议1、UDP协议发送数据2、UDP协议接收数据3、使用UDP协议模拟聊天四、TCP协议1、TCP协议发送数据2、TCP协议接收数据3、例:多线程开启多个客户端五、下载网络资源网络编程一、网络编程三要素...原创 2019-08-03 01:09:19 · 610 阅读 · 0 评论 -
Java反射机制:通过反射机制获取类的成员(构造方法,成员变量,成员方法);通过反射越过泛型检查;通过反射运行配置文件内容
文章目录Java反射机制一、反射机制概述二、获取class文件对象的三种方式三、通过反射获取构造方法并使用四、通过反射获取成员变量并使用五、通过反射获取成员方法并使用六、通过反射越过泛型检查七、通过反射运行配置文件内容Java反射机制一、反射机制概述反射概述: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意一个方法...原创 2019-08-04 00:54:34 · 967 阅读 · 0 评论 -
集合(三):Map;HashMap;LinkedHashMap;TreeMap;集合嵌套
文章目录集合(三)Map一、HashMap1、概述及特点2、HashMap常用方法3、HashMap常用方法测试4、Map集合的遍历A:方式一:先获取键,再通过键找值B:方式二:先获取键值对,再获取键和值5、HaShMap保证键唯一性6、HashMap和Hashtable关系二、LinkedHashMap1、概述及特点2、演示三、TreeMap1、概述及特点2、演示四、集合嵌套集合(三)Map...原创 2019-07-22 21:50:14 · 481 阅读 · 0 评论 -
异常
文章目录异常一、异常的概述及分类二、处理异常1、JVM对异常的默认处理方式2、try...catch示例3、Throwable的常见方法4、throws和throw处理异常5、自定义异常异常一、异常的概述及分类A:异常的概述:异常就是Java程序在运行过程中出现的错误。B:异常的继承体系 异常的基类: Throwable 严重问题: Error: 不予处理,因为这种问题一般是很严重的问...原创 2019-07-23 09:58:48 · 729 阅读 · 0 评论 -
文件(File类): 构造方法;常用方法;案例(修改文件或多级文件夹中所有相同类型的文件的后缀名 ;删除文件或多级文件夹)
文章目录文件(File类)一、 File类的概述和构造方法二、File类常用方法1、与创建相关的方法2、删除相关的方法3、重命名相关方法4、判断功能5、关于获取的方法三、案例文件(File类)一、 File类的概述和构造方法File类的概述: 文件和目录路径名的抽象表示形式构造方法: File(String pathname):根据一个路径得到File对象 File(Stri...原创 2019-07-23 00:04:35 · 564 阅读 · 0 评论 -
多线程复制文件
多线程复制文件import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;public class MyTest { public static void main(String[] args) throws...原创 2019-08-01 12:00:48 · 373 阅读 · 0 评论 -
多线程:概述;实现多线程的方式;线程控制;线程安全问题
文章目录多线程一、进程和线程二、多线程实现1、方式一2、方式二3、方式三三、线程控制1、设置线程优先级2、线程休眠3、加入线程4、礼让线程5、守护线程6、中断线程7、线程间的等待唤醒机制8、线程状态转换图四、线程安全问题1、解决方式一:使用同步代码块处理2、解决方式二:使用同步方法3、解决方式三:使用Lock锁拓展:死锁现象4、volatile关键字5、CAS算法多线程一、进程和线程 进...原创 2019-08-01 15:04:12 · 479 阅读 · 0 评论 -
线程池;定时器;设计模式:工厂模式、单例模式
文章目录一、线程池1、线程池概述2、线程池的使用示例一示例二二、定时器1、定时器概述2、定时器的使用三、设计模式1、概述及分类2、工厂模式2.1、简单工厂模式2.2、工厂方法模式3、单例模式四、Java程序执行DOS命令一、线程池1、线程池概述 程序启动一个新线程成本是比较高的,因为它涉及到要与操作系统进行交互。 而使用线程池可以很好的提高性能,尤其是当程序中要创建大量生存期很短的线程时,...原创 2019-08-01 16:50:32 · 788 阅读 · 0 评论 -
NIO:缓冲区(Buffer);通道(Channel);Files 类常用方法;Path 与 Paths
文章目录NIO一、缓冲区(Buffer)1、Buffer概述2、缓冲区基本属性3、缓冲区常用方法4、演示二、通道(Channel)1、Channel概述2、获取通道方式一:使用支持通道的类的对象调用getChannel() 方法方式二:使用 Files 类的静态方法newByteChannel() 获取字节通道方式三:通道的静态方法 open() 打开并返回指定通道3、通道的数据传输4、NIO...原创 2019-07-28 19:54:23 · 1028 阅读 · 0 评论 -
JDK1.8新增功能:线程安全的时间日期类;Lambda表达式;Stream流
文章目录JDK1.8新增功能一、时间日期类1、LocalDate;LocalTime;LocalDateTime类2、Instant 时间戳类3、Duration和Period4、TemporalAdjuster(接口)5、ZonedDate,ZonedTime,ZonedDateTime:带时区的时间或日期6、ZoneID 世界时区类二、Lambda表达式Java给我们提供的函数式接口形式一形式...原创 2019-08-10 22:26:23 · 1055 阅读 · 0 评论 -
JDBC :连接数据库;JDBC相关API ;SQL注入问题解决;调用存储过程和函数;事务
文章目录JDBC一、连接数据库二、JDBC相关类及常用方法演示一:模拟登录演示二:批量操作演示三:获取自增长键的值三、安全问题1、SQL注入案例:使用拼串的形式写SQL语句2、防止SQL注入:使用PrepareStatement 预编译操作对象四、调用存储过程和函数1、调用存储过程Java代码:部分省略myPro 存储过程代码2、调用函数Java代码:部分省略myFun函数代码表格五、事务1、事务...原创 2019-09-02 00:00:33 · 770 阅读 · 0 评论 -
数据库连接池(DBCP、C3P0、Druid); Commons DbUtils工具类库
文章目录数据库连接池一、DBCP连接池使用步骤:1、导入 jar包(commons-dbcp-1.4.jar和commons-pool-1.5.6.jar)2、配置信息采用硬编码方式采用配置文件方式Java代码配置文件3、获取连接对象二、C3P0连接池使用步骤:1、导入jar包(c3p0-0.9.1.2.jar)2、配置信息采用硬编码方式采用配置文件方式c3p0.propertiesc3p0-co...原创 2019-09-05 16:53:11 · 1035 阅读 · 0 评论 -
注解
注解1、概述定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明、注释。作用分类:①编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】② 代码分析:通过代码里标识的元数据对代码进行分析【使用...原创 2019-09-10 20:31:51 · 384 阅读 · 0 评论 -
Java常用类(四):Date类;SimpleDateFormat类;Calendar类
Java常用类(四)一、Date类A:Date类的概述 类 Date 表示特定的瞬间,精确到毫秒。 B:构造方法 public Date() public Date(long date) //把一个long类型的毫秒值转换成一个日期对象C:成员方法 public long getTime(): 获取一个日期对象对象毫秒值 public void setTime(long tim...原创 2019-07-17 00:16:44 · 386 阅读 · 0 评论 -
Java常用类(三):正则表达式;Pattern类和Matcher类;Math类;Random类;System类;BigDecimal类
Java常用类(三)一、正则表达式1、概述 正则表达式:即正确规则的表达式,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。2、常用规则字符 规则字符在java.util.regex Pattern类中A:字符 x 字符 x。举例:'a'表示字符a \\ 反斜线字符。 \n 新行(换行)符 ('\u000A') \r ...原创 2019-07-16 23:11:01 · 517 阅读 · 0 评论 -
Java常用类(二):StringBuffer类;Arrays类;包装类;
Java常用类(二)一、StringBuffer类1、StringBuffer类的概述 线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。 String类和StringBuffer类的区别; 1、String表示的字符串是常量,其长度和内容都无法改变。而Str...原创 2019-07-15 14:09:37 · 296 阅读 · 0 评论 -
冒泡排序法
冒泡排序法import java.util.Scanner;class Method{ private int[] x; public int[] getX() { return x; } public void setX(int[] x) { this.x = x; } public void Algorithm...原创 2019-06-04 22:49:53 · 656 阅读 · 0 评论 -
Java语言简介;JDK、JRE、JVM概述;键盘快捷键;常用DOS命令;JDK的下载与安装
一、了解Java语言1、1 Java语言发展史 詹姆斯·高斯林(James Gosling)1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司,1990年,与Patrick,Naughton和Mike Sheridan等人合作“绿色计划”,...原创 2019-05-29 16:54:10 · 472 阅读 · 1 评论 -
Java中的常量变量和运算符
Java基础Java基础 1. 常量 1.1. 概述 1.2. 分类 1.2.1. 字面值常量 1.2.2. 自定义常量 2. 变量 2.1. 概述及作用 2.2. 数据类型 2.2.1. 引用数据类型:数组 类 接口 2.2.2. 基本数据类型 3. 运算符 3.1. 算术运算符的基本用法 3.2. 赋值运算符的基本用法 3.3. 关系运算符的基本用法 1. 常...原创 2019-05-29 19:09:20 · 1477 阅读 · 0 评论 -
Java中用键盘录入数据;运算符(逻辑运算符,位运算符,三元运算符);流程控制语句(if,switch,for,while,do...while);
一、Java中用键盘录入数据第一步:导入包import java.util.Scanner;第二步:创建对象Scanner sc = new Scanner(System.in);第三步:键盘输入数据System.out.println("请输入数据:");第四步:获取数据int score = sc.nextInt();示例:import java.util.Scan...原创 2019-06-04 20:01:09 · 1546 阅读 · 0 评论 -
方法及其重载
方法一 、方法概述和格式说明1、方法概述方法就是完成特定功能的代码块,在很多语言中都有函数的定义,但在JAVA语言中,我们将其称之为方法。2、格式 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ....){ 方法体; return 返回值; }方法的格式详细说明: (1): 修饰符:比较多,后面会详细介绍。目前使用 public static ...原创 2019-06-05 13:22:16 · 551 阅读 · 0 评论 -
Java基础 数组;内存分配;内存图
数组概述:数组是存储同一种数据类型多个元素的集合,也可以看成是一个容器。可以存储基本数据类型和引用数据类型。一、一维数组1、定义格式:格式1:数据类型[] 数组名; 例:int[] arr;格式2:数据类型 数组名[]; 例:int arr[];**2、数组的初始化概述:为数组中的数组元素分配内存空间,并为每个数组元素赋值。A:动态初始化概述:只指定长度,由系统给出初始...原创 2019-06-10 22:51:55 · 1132 阅读 · 1 评论 -
面向对象(一):概述;类与对象;对象的内存图;形参是类类型时的参数传递;类的封装
面向对象(一)1、面向对象的概念1、概述:面向对象是一种复合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实生活中的事物,使用对象的关系来描述事物之间的联系,这种思想就是面向对象。 2、面向对象与面向过程的区别:面向过程就是分析解决问题所需要的步骤,然后用函数把这些步骤一一实现,使用的时候一个一个依次调用就可以了。面向对象...原创 2019-06-12 20:49:00 · 571 阅读 · 0 评论 -
面向对象(二):构造方法及其重载;创建对象具体过程(内存图);static关键字;JDK帮助文档的使用;用随机数方法设计猜数字小游戏
面向对象(二)一、构造方法及其重载1、构造方法概述及格式概述和作用:创建对象,给对象中的成员进行初始化 格式特点:a:方法名与类名相同 b:没有返回值类型(void都没有) c:没有具体返回值2、构造方法的重载及注意事项概述:即参数列表不同的构造方法构造方法注意事项 a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法。 b:如果我们给出了有参构造...原创 2019-06-19 12:15:57 · 236 阅读 · 0 评论 -
面向对象(三):代码块;类的继承(格式、利弊、特点、注意、super关键字、继承中构造方法关系、方法重写);final关键字
面向对象(三)一、代码块1、代码块的概述及分类A:代码块概述:在Java中,使用{}括起来的代码被称为代码块。B:代码块的分类及应用: a:局部代码块:在方法中出现,限定生命周期,及早释放,提高内存利用率; b:构造代码块:在类中方法外出现,将多个构造方法中相同的代码存放在一起,每次调用构造方法都会执行一次,并且在构造方法前执行; c:静态代码块:在类中方法外出现,使用static修...原创 2019-06-19 16:39:15 · 352 阅读 · 0 评论 -
随机数小游戏
随机数小游戏import java.util.Scanner;class GuessNumberGame { public static void main(String[] args) { int frequency=6; //定义并设置游戏次数 gameAlgorithm(frequency); //调用游戏算法 } pub...原创 2019-06-21 20:58:28 · 615 阅读 · 0 评论 -
面向对象(四):多态;抽象类;接口
面向对象(四)一、多态1、多态的概述及格式 某一个事物,在不同时刻表现出来的不同状态。 前提:a:要有继承关系; b:要有方法重写; c:要有父类引用指向子类对象。 父 f = new 子();举例:public class Test { public static void main(String[] args) { Dog d...原创 2019-06-24 18:05:09 · 251 阅读 · 0 评论 -
面向对象(五):形式参数和返回值的类型为类类型时的做法
面向对象(五)一、参数传递1、类名作为形式参数传递 如果一个方法的形参要一个类类型,那就传一个该类对象举例:public class MyTest { public static void main(String[] args) { //如果一个方法的形参要一个类类型,就传一个该类对象 Student student = new Student(...原创 2019-06-25 19:53:46 · 938 阅读 · 0 评论 -
面向对象(六):包;四种权限修饰符的权限范围;内部类;匿名内部类
面向对象(六)一、Java包1、包概述及作用A:包的概述: 就是文件夹B:包的作用: 用来解决同一个路径下不能存在同名文件的问题(分类管理)2、包的定义格式及注意事项A:定义包的格式 package 包名; 多级包用.分开即可B:定义包的注意事项 A:package语句必须是程序的第一条可执行的代码 B:package语句在一个java文件中只能有一个 C:如果没有p...原创 2019-06-25 21:00:42 · 270 阅读 · 0 评论 -
Object类:equals(); hashCode(); getClass(); toString(); clone();方法的使用与重写
Object类一、Object类概述 类层次结构的根类,即所有类都直接或者间接的继承自该类。二、Object类的常用方法1、Object类的equals()方法 A:功能:指示其他某个对象是否与此对象“相等”。 B:源代码: public boolean equals(Object obj) { return (this == obj); } C:注意:默...原创 2019-06-26 17:51:30 · 568 阅读 · 0 评论 -
Java常用类(一):String类
Java常用类(一)String类1、String类概述A:字符串: a、字符串是由多个字符组成的一串数据(字符序列); b、字符串可以看成是字符数组。B:String类的概述:String 类代表字符串 a:字符串字面值"abc"也可以看成是一个字符串对象。 b:字符串是常量,一旦被创建,就不能被改变。2、String类的构造方法 public String():空构造 ...原创 2019-07-07 14:28:26 · 393 阅读 · 0 评论 -
集合(一):接口Collection(集合遍历); 接口List;ArrayList;Vector;LinkedList
文章目录集合(一)一、集合概述1、集合概述2、常用集合继承体系图二、接口Collection1、Collection常用功能2、Collection常用功能测试3、Collection集合遍历A:把集合转为数组遍历B:使用迭代器遍历C:增强for循环遍历三、接口List1、List特点2、List特有功能3、List特有功能测试4、List新增遍历方式A:通过get()和size()方法遍历B:使...原创 2019-07-18 16:21:13 · 1344 阅读 · 0 评论 -
邮件发送(Java)
邮件发送(Java)一、传输协议1.发送邮件协议SMTP协议SMTP服务器(邮件发送服务器):处理用户smtp请求(邮件发送请求)的服务器。2.接受邮件协议POP3协议POP3服务器(邮件接收服务器):处理用户pop3请求(邮件接收请求)的服务器。二、Java邮件发送1.需要的jar包支持mall.jaractivation.jar2.纯文本邮件以QQ邮箱...原创 2019-09-26 16:50:48 · 501 阅读 · 0 评论