java
dingxiaozhuang
这个作者很懒,什么都没留下…
展开
-
JDBC02
package day02;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.util.Properties;/** * 此工具类负责连接数据库和释放连接资源 * @author 臻冉 * */public原创 2020-10-28 21:17:21 · 128 阅读 · 0 评论 -
JavaSE14
package day14;import java.util.Calendar;/** * 时间操作 * void add(int field ,int mount) * 指定的时间分量家伙少年宫指定的值,若给定的值是负数则是减去 * @author 臻冉 * */public class Calendar_add { public static void main(String[] args) { Calendar calendar = Calendar.getInstance原创 2020-10-27 12:05:08 · 94 阅读 · 0 评论 -
JavaSE13
package day13;import java.util.Scanner;/** * 动态加载类到内存中 * @author 臻冉 * */public class ClassForNameReflect { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //在这里类名是全名,包名+类名 System.out.println("请输入类名"); St原创 2020-10-27 12:04:32 · 93 阅读 · 0 评论 -
JavaSE12
package day12;public class Emp { private int id; private String name; private int age; private char gender; private double salary; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { ret原创 2020-10-27 12:04:15 · 92 阅读 · 0 评论 -
JavaSE11
package day11;/** * lambda表达式: * JDK1.8包含1.8之后推出的新特性 * 简单的说,它是没有声明的方法,也就是没有访问修饰词,返回值声明等 * * lambda表达式用于创建匿名内部类所属的接口,必须只能有一个抽象方法,否则不可以使用lambda表达式 * * 语法规则 * (方法参数)->{ * 方法体 * } * * Lambda表达式的标准格式: * 由3部分构成: * 1、一些参数 * 2、一个箭头 * 3、一段代码原创 2020-10-27 12:03:45 · 213 阅读 · 0 评论 -
JavaSE10
package day10;import java.util.ArrayList;import java.util.Collections;import java.util.HashSet;import java.util.List;import java.util.Set;/** * 线程安全的集合: * 常用的集合实现类:ArrayList,LinkedList,HashSet它们都不是 * 线程安全的,多线程情况下使用会出现并发问题 * Collections提供了集合转换为线原创 2020-10-27 12:03:25 · 94 阅读 · 0 评论 -
JavaSE09
package day09;/** * 排序集合 * 排序集合可以使用集合的工具类 * java.util.Collections * * 其定义很多静态方法,用于操作集合,其中sort()方法是对 * List集合进行自然排序(升序) */import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Collection_sort { public stat原创 2020-10-26 15:28:10 · 140 阅读 · 0 评论 -
JavaSE08
package day08;import java.util.Arrays;/** * JDK1.5之后推出了一个新特性增加for循环,也成为新循环 * * 新循环并不取代传统的for循环,它用来遍历集合或数组使用 */public class NewForDemo { public static void main(String[] args) { String[] array = {"one","two","three","four"}; /*for(int i=0;i&l原创 2020-10-26 15:23:21 · 702 阅读 · 0 评论 -
JavaSE07
package day07;import javax.management.RuntimeErrorException;/** * 多线程并发安全问题: * 当多个线程并发运行操作统一数据是时,由于线程切换的时机不可控制, * 可能导致操作该数据时的过程未按照程序设计的执行时顺序运行导致 * 操作出现混乱,严重时可能会导致系统瘫痪。 * @author 臻冉 * */public class SycnDemo_01 { public static void main(String[原创 2020-10-26 15:20:27 · 87 阅读 · 0 评论 -
JavaSE06
package day06;/** * 并发原理 * 多线程:多线程允许我们“同时”执行多段代码 * * 线程是并发运行的,线程调度会统一规划CPU时间,将CPU的时间划分为若干片段,然后 * 尽可能的均匀分配给所有要并发的线程,每个线程在获取CPU时间片后,CPU就来运行它的任务, * 当时间片段用完后,CPU会离开并执行获取CPU时间片的线程,所以所有线程并非 * 真正的“同时”运行这代码。而是走走停停,这种微观上的走走停停,宏观上感觉是同时运行的现象 * 称之为并发运行。 *原创 2020-10-26 15:18:35 · 96 阅读 · 0 评论 -
JavaSE05
package day05;/** * Java异常捕获异常机制中 * try-catch * 语法: * try{ * 代码片段 * } catch(异常类){ * 捕获try代码片段中的XXException并处理 * } */public class DemoTryCatch_1 { public static void main(String[] args) { try{ //String str = null; String str2 = ""原创 2020-10-26 15:15:41 · 456 阅读 · 0 评论 -
JavaSE04
/** * 缓冲流的缓冲区操作 * 将缓冲流连接在文件流可以提高效率 * 缓冲流实际上本质就是进行块读写,无论我们是使用缓冲流进行何种读写方式,最终 * 都会被缓冲流转换为块读写形式通过文件流进行实际操作 * * 缓冲流内部维护了一个8K的字节流数组,用于块读写操作。 * * BufferedInputStream:输入缓冲流 * BufferedOutputStream:输出缓冲流 * * 缓冲流提供了一个强制写出数据的方法:flush(); * @author 臻冉 *.原创 2020-10-26 15:11:18 · 121 阅读 · 0 评论 -
JavaSE03
import java.io.File;import java.io.IOException;/** * java.io.File * File的每一个实例用于表示硬盘上的一个文件或者目录。 * * 使用File可以: * (1)访问其表示的文件或目录的属性信息(名字,大小等) * (2)操作文件或目录(创建,删除) * (3)访问一个目录中的所有子项,但是不能访问文件数据 */public class CreateFileDemo { public static void ma原创 2020-10-26 15:06:23 · 79 阅读 · 0 评论 -
JavaSE02
1./** * equals(Object obj)演示 * 重点知识: * equals和==的区别 * 1.==在基本类型中用于比较变量的值,如果用于引用类型,比较的是两个引用变量 * 是否指向同一个对象. * 2.equals重写Object中的equals方法,重写以后可以用于比较两个对象的内容是否一样 * */public class DemoEquals { public static void main(String[] args) { Point p = new原创 2020-10-26 15:00:13 · 250 阅读 · 0 评论 -
JavaSE01
JavaSE基础1.StringString的特点:String类型也就是我们所谓的"字符串类型"字符串类型是不可改变的,字符串引用变量可以改变在基本类型(8个)用比较值的大侠在引用变量中-==比较的是:是否指向同一个对象或者是否指向同一个常量池public class DemoString { public static void main(String[] args) { String s1 ="ABC"; String s2 = s1; String s3 = "ABCDEF原创 2020-10-26 14:55:00 · 4706 阅读 · 0 评论 -
Java聊天室
一、问题描述:多人聊天室,实现群聊和私聊的功能。整的项目的大框架为:服务器端和客户端两个端口。客户端可以向服务器端发送信息,并接受服务器返回的信息。二、代码实现服务器S端:package cs;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;原创 2020-10-02 16:29:42 · 246 阅读 · 1 评论 -
Lambda表达式
Lambda表达式1.定义JDK1.8包含1.8之后推出的新特性简单的说,它没有声明的方法,也就是没有访问修饰词,返回值声明等,lambda表达式用于穿件内明内部类所属的接口,必须只能有一个抽象方法,否则不可以使用lambda表达式2.语法规则(方法参数)->{方法体}Lambda表达式的标准格式,由3部分构成:(1)一些参数;(2)一个箭头;(3)一段代码格式:(参数列表)->{一些重要方法的代码}解释说明格式:():接口中抽象方法的参数列表。(如果没有参数空起来就原创 2020-09-06 18:32:26 · 147 阅读 · 0 评论 -
栈、队列
栈可以存储一组元素,但是存取元素必须遵循,先进后出原则;栈可以用于“后退”这样的操作Deque<String> stack=new LinkedList<String>(); //入栈操作(队首入列)方法push() stack.push("one"); stack.push("two"); stack.push("three"); stack.push("four"); System.out.println(stack); //出栈操作 S原创 2020-09-05 21:08:38 · 99 阅读 · 0 评论 -
Map集合
一、HashMap内部有数组保存键值对,存储元素时根据Key的hashcode值计算数组索引,并将键值对存入。获取时也根据计算索引值直接找到该元素,所HashMap根据这个方式避免了查找元素时对数组的遍历操作,所以不受元素的多少而影响查询性能。由于Key的hashcode决定键值对在HashMap中数组索引位置,而equals方法决定着Key是否重复,所以这个方法要妥善重写;hashcode与equals方法是定义在Object中的,所以要妥善重写这两个方法,当我们定义的类需要重写equals和has原创 2020-09-05 20:44:54 · 220 阅读 · 0 评论 -
List集合
一、数组与集合之间的相互转换(1)数组转换为集合通过工具类Arrays的静态方法asList可以将一个数组转换为List集合String[] array=new String[]{"one","two","three"};//数组转换为集合,但是对象还是同一个队形List<String> list=Arrays.asList(array);list.set(0,"1");//将下标为0的元素该为1//对集合元素的操作就是对原数组的操作System.out.println("源数组原创 2020-09-05 15:54:54 · 165 阅读 · 0 评论 -
Java_RandomAccessFile
1、由于硬盘的物理性,导致随机读写的效率很低,因此我们推荐“块读写”;块读写的效率还是很不错的。随机读写:是自己读写数据;块读写:一次一组自己读写数据;所有若想提高读写效率我们需要提高每次读写的数据量,减少实际读写此时来达到优化的性能。1byte 8位2金子1kb 1024byte1mb 1024kb1gb 1024mbRandomAccessFile raf_read = new RandomAccessFile("C:Users/demo","r");Rando原创 2020-08-08 20:39:04 · 118 阅读 · 0 评论 -
Java之File_Create、Delete
Filejava.io.FileFile的每一个实例用于表示硬盘上的一个文件或者目录。使用File可以:(1)访问其表示的文件或目录的属性信息(名字,大小等)(2)操作文件或目录(创建,删除)(3)访问一个目录中的所有子项,但是不能访问文件数据在表示文件或目录时,指定的路径尽量不要使用绝对路径,因为操纵系统格式不一致;相对路径最常用,但是相对路径相对哪里要看程序在那个环境上运行,运行环境决定着相对路径;在eclipse中运行程序时,"当前目录"指定该类所处的项目目录用“./”表示,在这里可原创 2020-08-07 00:31:11 · 301 阅读 · 0 评论 -
Java之equals、Object
equals和==的区别(1)==在基本类型中用于比较变量的值,如果引用类型,比较的是两个引用变量是否指向同一个对象;(2)equals重写Object中的equals方法,重写以后可以用于比较两个对象的内容是否一样。Point p = new Point(5,6);Point p2 = new Point(5,6);//两个对象,是不同的对象System.out.println(p == p2);System.out.println(p.equals(p2));//trueObject原创 2020-08-06 00:26:19 · 111 阅读 · 0 评论 -
Java之Integer
Integer1.由于基本类型没有面向对象的特征,为了他们能够参与到面向对象的开发中,java为这8个基本类型提供了相对应的8个包装类2.6个数字相关的包装类继承自java.lang.Number。Number是Byte Double Float ,Integer Long Short类的父类,Number是一个抽象类,定义了不用类型的数字之间相互转换的方法,所以6个数字类型包装类都可以将其表示基本类型在这之间转换。3.int和Integer的区别(1)Integer是int的包装类,int则是ja原创 2020-08-06 00:02:17 · 196 阅读 · 0 评论 -
Java之正则表达式
正则表达式简介:实际开发中,经常需要对字符串数据进行一些复杂的匹配,查找,替换等操作,通过“正则表达式”,可以方便的实现字符串的复杂操作。1.什么是正则表达式(1)正则本来就是一个字符;(2)正则用于检索目标字符串中的规则;(3)正则是规定字符串是否合理;(4)正则需要解析器执行,Java提供相关的解析器处理API;(5)常见的编程语言大部分都支持提供正则API.例如:正则表达式“[a-z]”表示a到z的任意一个字符正则表达式“[a-z]+”表示1个或者多个a-z字符组成的字符串ma原创 2020-08-05 17:04:20 · 175 阅读 · 0 评论 -
Java之String类的常用方法
String类的定义及使用方法定义String是不可改变的对象java.lang.String使用了final修饰,不能被继承,字符串一旦创建,对象将永远无法改变,但字符串引用可重新赋值。String的特点String类型也就是我们所谓的“字符串类型”,字符串类型对象不可改变,字符串引用变量可以改变。在基本类型(8个)用 == 比较值的大小:int a=9;int b=10;if(a == b){}在引用变量中“==”比较的是:是否指向同一个对象或者是否指向同一个常量池.String s1 =原创 2020-08-05 01:19:20 · 162 阅读 · 0 评论 -
Java之Calendar类
Calendar类java.until.Calendar日历类定义Calendar本身是一个抽象类,定义日历类操作时间的相关方法,其提供了一个静态方法getInstance(),可以根据系统所在地区获取一个适用的实现类,大部分地区获取的是CregorianCalenda.实例public static void main(String[] args){ //日历默认(也表示当前系统时间) Calendar calendar = Calendar.getInstance(); System.o原创 2020-08-04 00:47:43 · 203 阅读 · 0 评论 -
java基础总结001
声明变量(1)声明变量并赋值:int a=5;(2)先声明后初始化:int c; c=9;(3)声明多个变量并初始化:int d=0,e=4;(4)变量不能使用“关键字”基本数据类型(1)基本类型长度及默认值(2)包装类型基本数据类型转换:1.自动转换类型,小类型到大类型2.强制类型转换,大类型到小类型在包装类型的比较不要使用==(3)拆箱、装箱拆箱:把基本包装类型转换为基本类型 Integer no=1;装箱:把基本类型转换为对应的包装类型 Interger no2=ne原创 2020-10-21 00:34:57 · 87 阅读 · 0 评论 -
Java_transient属性
transient属性一个声明为瞬态的属性将不会被对象序列化写到文件中,瞬态的属性用于把不需要的序列化的属性忽略掉,这样可以到底对象文件“减肥”的目的。注意:序列化时就要“减肥(瘦身)”才能正确读取数据,被“减肥”的属性没有值。private transient String[] other; public String[] getOther() { return other; } public void setOther(String[] other) { this.other = ot原创 2020-08-09 23:37:05 · 251 阅读 · 0 评论 -
Java_Buffered缓冲字符流
缓冲字符流java.io.BufferedWriterjava.io.BufferedReaderjava.io.PrintWriter带有自行刷新的缓冲字符流输出流(经常用)向文本文件pe.txt中写出三行字符串PW直接提供了向文件中写入字符串的构造方法PrintWriter(String path)、PrintWriter(File file)、PrintWriter(Writer writer,Boolean autoFlush)(自动刷新功能)、PrintWriter(String pa原创 2020-08-09 23:32:39 · 151 阅读 · 0 评论 -
Java之OutputStream
SerializableObjectOutputStream在对象进行序列化时有一个要求,就是序列化的对象,所属的类型必须实现Serizalizable接口,其作用是作为可序列化的标识。实现该接口不需要重写任何方法,其知识作为序列化的标识。serivalVersionID作用:序列化是为了保持版本的兼容性。在升级时,反序列化仍保持对象的唯一性。生成的方式有两种:(1)是默认的1L,比如private static final long seriaVersionUID=1L;(2)一个是根据类型,原创 2020-08-09 22:56:45 · 775 阅读 · 0 评论 -
Java之BufferedInputStream
1、缓冲流的缓冲区操作将缓冲流连接在文件流可以提高效率,缓冲流实际上本质就是进行块读写,无论我们是使用缓冲流进行何种读写方式,最终都会被缓冲流转换为快读写形式通过文件流进行实际操作。缓冲流内部维护了一个8K的字节流,用于块读写操作。BufferedInputStream:输入缓冲流;BufferedOutputStream:输出缓冲流缓冲流提供了一个强制写出数据的方法:flush();//文件输出流FileOutputStream fos = new FileOutputStream("bos原创 2020-08-09 00:13:21 · 2231 阅读 · 0 评论