自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

郑清

If I were you.

  • 博客(117)
  • 资源 (10)
  • 收藏
  • 关注

原创 JavaSE基础(103) GUI自定义一个画板

功能:可以画直线,拖动窗体变化后可重新对屏幕绘制一开始画的直线public class MyPaint extends Frame{ int x1,y1,x2,y2; ArrayList list = new ArrayList();//只要MyPaint对象存在,list集合一直存在 public static void main(String[] args) { new M...

2018-08-31 23:13:41 1236

原创 JavaSE基础(102) LinkedList链表

LinkedList:链表 ①:LinkeList implements List ,Deque extends Queue ②:实现了可选列表操作,数据列表,插入null值 ③:提供了 get remove insert 对链表的头,尾 ④:可以作为:堆栈 FILO 队列 排队:FIFO 双端队列 LinkedList( ) :构造一个空列表 L...

2018-08-31 19:54:55 443

原创 JavaSE基础(101) 遍历ArrayList集合的4种方式

ArrayList遍历:取出ArrayList集合中的数据 ①:for循环 ②:增强for循环:foreach ③:Iterator:迭代器 ④:ListIterator:双向迭代器ex:/** * ArrayList遍历:取出ArrayList集合中的数据 * ①:for循环 * ②:增强for循环:foreach * ③:Iterator:迭代器 * ④:...

2018-08-31 19:34:39 5097

原创 JavaSE基础(100) 自定义容器类(存储任意数据类型和数据个数)

自定义容器类:可以存储任意数据类型和数据个数/** * 自定义容器类:可以存储任意数据类型和个数 * @author 郑清 */public class MyArrayDemo { public static void main(String[] args) { MyArray myArray = new MyArray(); myArray.add("这是第"); m...

2018-08-30 20:48:49 2462

原创 JavaSE基础(99) 数据结构之链表堆栈分析

链表 : 一个对象连着一个对象的结构ex:/** * 链表 : 一个对象连着一个对象的结构 * @author 郑清 */public class Demo { public static void main(String[] args) { MyLinkedList myLinkedList = new MyLinkedList(); myLinkedList.add...

2018-08-30 19:13:53 334

原创 JavaSE基础学习知识整理大全

jdk安装与卸载Windows常用DOS命令Windows常用快捷键Java跨平台(操作系统平台)原理JAVA_HOME、PATH、CLASSPATH的作用第一个JAVA程序Java三种注释Java关键字和保留字Java标识符(类名,方法名,变量名... 就是为了增加可读性)Java修饰符Java数据类型Java进制Java常量和变量Java基本...

2018-08-30 09:36:27 1240

原创 JavaSE基础(98) 线程同步完成售票实例的6种方式

自定义线程和线程同步原理不懂的可以先看下面2个链接资料Java之自定义线程的2种方式:https://blog.csdn.net/qq_38225558/article/details/82118862Java之线程安全问题的3种处理方式(通过线程同步):https://blog.csdn.net/qq_38225558/article/details/82154321线程同步:...

2018-08-29 23:09:10 1539

原创 JavaSE基础(97) 局部匿名内部类对象

局部匿名内部类对象:接口/抽象类/普通类 变量名 = new 接口/抽象类/普通类(){}; 作用 :创建接口的实现类对象/抽象类的子类对象/普通类的子类对象 {定义字段,构造方法,普通方法} 中 写类的定义ex:public class Demo { public static void main(String[] args) { /* ...

2018-08-29 21:26:32 601

原创 JavaSE基础(96) 定时器Timer

Timer :可以指定线程在指定时间执行,只能控制TimerTask线程TimerTask : 被Timer指定的线程schedule(TimerTask task,Date time) : 控制指定的TimerTask对象(本质是线程)在指定的时间启动执行指定的任务schedule(TimerTask task,Date firstTime,long period) : 在指定时间启动...

2018-08-29 21:16:14 430

原创 JavaSE基础(95) 线程的生命周期

创建:new 线程对象 就绪:调用对象的start进入 运行:被CPU调度 阻塞:调用sleep方法。 在阻塞时间到了之后,回到就绪状态 死亡:线程的代码执行结束,就正常死亡。 出现异常中断线程的执行,就非正常死亡注意: ① 休眠等操作可能导致正在运行的线程阻塞,阻塞完了(sleep完了)进入的是就绪状态 ② 一个线程死了就死了,不能死而复生...

2018-08-29 21:01:15 525

原创 JavaSE基础(94) 线程通信

线程通信:一个线程与其他线程可以发送数据ex:/** * 线程通信 * 业务逻辑: * 两个线程: * 线程一:模拟养鸡场的工人 ==>工作:检查鸡有没有下蛋,所过下了,收蛋 * 线程二:模拟养鸡场的鸡 ==>工作:下蛋 * * wait() : 使当前线程暂停。 ...

2018-08-29 00:08:48 252

原创 JavaSE基础(93) 线程安全问题的3种处理方式(通过线程同步)

出现线程安全问题我们如何处理?? ==》同步原理 1.同步方法:synchronized 修饰的方法 ex:public synchronized void test(){} 弊端:方法中的所有代码,都只允许一个线程访问。(有一种情况:一个方法中,有一个部分代码不会涉及到线程安全问题,可以允许多个线程同时访问 == 》即下面的2.同步代码块)...

2018-08-28 22:08:04 3994

原创 JavaSE基础(92) join等待线程终止

join : 当前等待其他线程执行结束 之后 再继续执行 线程一:开始执行,执行过程中暂停,让线程二开始执行,当线程二执行结束后,线程一接着执行void join() :等待该线程终止ex:public class Demo { public static void main(String[] args) { Download d = new Download...

2018-08-28 13:28:38 605

原创 JavaSE基础(91) 守护线程

前台线程、守护线程 : 前台线程 都结束之后 ==》守护线程会自动结束创建一个线程对象,默认与创建环境一致 (ex:主线程是前台线程,那么在主线程创建的线程对象默认是前台线程)void setDaemon(boolean on) : 将该线程标记为守护线程或用户线程。注意:①setDaemon不能在start之后调用!! ②主线程的状态不能改 ...

2018-08-28 13:18:33 315

原创 JavaSE基础(90) 线程的优先级

① static Thread currentThread() : 返回对当前正在执行的线程对象的引用 ==》获取当前线程对象 ② void setName(String name) : 给线程名称赋值 ③ String getName() : 获取线程的名称线程的优先级 : 理论上优先级高的线程获取CPU分配时间片的几率更大,但是受操作系统以及jvm版本的影响 ...

2018-08-28 12:59:12 298

原创 JavaSE基础(89) Thread类的常用方法 .sleep()

sleep(long m) : 使当前线程进入休眠状态(暂停)指定毫秒数ex:/** * 需求:在控制台打印当前时间 每隔一秒,刷新一次 * @author 郑清 */public class Demo{ public static void main(String[] args) throws InterruptedException { do { S...

2018-08-27 22:07:51 1244

原创 JavaSE基础(88) 自定义线程的2种方式

程序:存放在电脑硬盘上的命令集合。 是静态的进程:是程序运行之后,在内存中产生的数据。线程:组成进程的最小单位。 比如:进程是执行100行的代码效果,线程是1行的代码的效果 每一个进程都是由N个线程组成的,至少由1线程组成如何自定义线程?第一种方式:继承Thread类 1.创建自定义线程类 继承 Thread类 2.在自定义线程类中 覆写r...

2018-08-27 21:59:07 5145 1

原创 JavaSE基础(87) 自定义异常

/* * 自定义异常:自己声明一个类,继承Exception */public class Demo { //这里我们使用数组模拟数据库 进行 自定义异常处理 static String[] userNames = {"张三","李四","王五","周周"}; public static void main(String[] args) { try { regist("...

2018-08-27 19:21:48 432

原创 JavaSE基础(86) Throwable体系

Throwable体系:1.Error:错误2.Exception:异常 ①RuntimeException:运行时异常 在编译期不会 报错。不会强制要求处理。 == 》 原因:运行时异常出现频率较高。 ②其他Exception:非运行时异常 在编译期必须处理。 但是处理的原理 与 运行时异常 完全一致ex1: Error:错误ex2: Run...

2018-08-27 17:34:34 581

原创 JavaSE基础(85) try-catch和throws的区别

try-catch和throws的区别: try-catch : 在当前位置处理异常 throws : (语法格式: 在方法签名之后:throws 异常类型) 向上抛出异常,可以无限向上抛出,直到抛给main方法,main方法就抛给JVM虚拟机去解决 即比如在3个类中,第3个类出现异常,...

2018-08-27 13:07:20 9392 1

原创 JavaSE基础(84) 异常信息的三种打印方式

String getMessage() :返回此 throwable 的详细消息字符串。 String toString() : 返回此 throwable 的简短描述。 void printStackTrace():将此 throwable 及其追踪输出至标准错误流。 (即 调用此方法会把完整的异常信息打印到控制台)ex:/** * String getMessage()...

2018-08-27 13:00:12 12330

原创 JavaSE基础(83) StringBuffer可变字符串(值可以改变)

StringBuffer可变字符串 == 》值可以改变构造方法: StringBuffer() : 创建一个空的可变字符串对象 StringBuffer(String s) : 创建一个指定字面量的可变字符串对象方法:(具体查api文档) append(任何类型的参数):把指定的参数拼接到当前字符串的末尾。 不会生成新的字符串对象 ...

2018-08-25 20:01:30 4754

原创 JavaSE基础(82) String和StringBuffer堆栈图分析

public class Demo { public static void main(String[] args) { String s1="AAA"; String s2="KKK"; StringBuffer sb1=new StringBuffer("QQQ"); StringBuffer sb2=new StringBuffer("JJJ"); chan...

2018-08-25 19:38:14 933

原创 JavaSE基础(81) 异常处理try{}catch(){}

try { 可能出现异常的代码(包括不会出现异常的代码)} catch (Exception e) { //()里为接收try{}代码块中出现异常的类型 如果出现异常时的处理方式}try-catch的执行顺序:①从 try{ } 代码块中第一行开始执行,执行到出现异常的代码,jvm会创建一个异常对象②判断catch中声明的异常类型是否能捕...

2018-08-25 18:49:02 1105

原创 JavaSE基础(80) BigDecimal(存任意精度的浮点型)

BigDecimal :可以存任意精度的浮点型 构造方法: BigDecimal(double b): 会丢失精度 BigDecimal(String s) : 不会丢失精度 方法: add(BigInteger b) : 加法运算 subtract(BigInteger b) : 减法运算 ...

2018-08-25 17:45:10 1309

原创 JavaSE基础(79) BigInteger(能够存取比Long更大的整数,可以任意大小)

BigInteger : 能够存取比Long更大的整数,可以任意大小 构造方法 : BigInteger(String val) :将 BigInteger 的十进制字符串表示形式转换为 BigInteger。 数学运算的方法: BigInteger add(BigInteger bi): 加法运算 Bi...

2018-08-25 17:28:29 11038

原创 JavaSE基础(78) Math

字段:Math.PI: 数学中的π常用方法: max(参数1,参数2) 返回更大的参数。 min(参数1,参数2)返回更小的参数。 static double pow(double a, double b) : 返回 a的b次方 的double类型值 static double random() : 返回 [0...

2018-08-25 17:10:21 348

原创 JavaSE基础(77) 获取随机数的4种方法

①Math.random():获取随机小数范围:[0.0,1.0) ==》返回的值是double类型②Random类 构造方法:Random() : 建议使用无参构造方法方法:int nextInt(int n) : 获取 [0,n) 范围的随机整数③ThreadLocalRandom (jdk1.7开始出现) ...

2018-08-25 16:33:51 6663

原创 JavaSE基础(76) 生成一个随机验证码(数字+大小写字母)

需求:设计一个方法,获得指定位数的验证码,验证码的内容可以包含数字和大小写字母ex1:public class Demo { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(getCode(4));//调用getCode()方法打印一...

2018-08-24 18:58:44 7824

原创 Java之常见异常 整理集合

异常: 出现意外情况ex:NullPointerException :空指针异常 (出现条件:使用对象(字段/方法)值为null时) ArrayIndexOutOfBoundsException :数组下标越界异常 (出现条件:使用超出数组下标范围的下标) NumberFormatException :数字格式化异常 (出现条件:不符合转换格式的字符串被转换成数字...

2018-08-24 16:11:25 7108 4

原创 JavaSE基础(75) Calendar日历操作类

Calendar:日历类 可操作指定日期如何创建对象 ?? 1.Calendar静态方法 ==》static Calendar getInstance() :使用默认时区和语言环境获得一个日历。 2.创建子类对象 ==》GregorianCalendar 构造方法:GregorianCalendar():在具有默认语言环境的默认时区内使用当前时间构造一个默认的 G...

2018-08-24 15:44:01 832

原创 JavaSE基础(74) SimpleDateFormat日期格式转换(Date和String类型互换)

SimpleDateFormat : 可以选择任何用户定义的日期-时间格式的模式 "yyyy-MM-dd HH:mm:ss:SSS"1.格式化:Date --》String String format(Date date) 将Date格式化为日期/时间字符串2.解析:String --》Date Date parse(String source...

2018-08-24 15:39:22 30668 4

原创 Java面试题(1) 判断创建了多少个字符串对象(常量池)

/* * String : 保存值到常量池 * 常见笔试题:判断指定代码创建了多少个字符串对象 */public class Demo{ public static void main(String[] args) { // TODO Auto-generated method stub /* * 1.在堆内存中创建String类型的对象 * 2.在常量池中查找是...

2018-08-24 11:03:48 2717 5

原创 JavaSE基础(73) 常用类之String类

ex1:(这个例子如果不理解可看看:https://blog.csdn.net/qq_38225558/article/details/82014329 附带了堆栈图分析可更好理解)/* * 常见笔试题:判断指定代码创建了多少个字符串对象 */public class Demo { public static void main(String[] args) { Stri...

2018-08-23 23:12:11 371

原创 JavaSE基础(72) 常用类之Runtime类

ex:/* * Runtime: Runtime对象可以当作程序运行期的整个过程 * 获取对象: * static Runtime getRuntime() * 方法: * exec(String name):执行名称为name的程序. 只认识C:/Window/System32文件夹中的.exe文件 * 给name传入实参时,不需要写后缀名 */publ...

2018-08-23 22:41:47 540

原创 JavaSE基础(71) 常用类之System类

ex:public class Demo { public static void main(String[] args) { /* * System.out: 得到PrintStream类型的对象 * out.println: 调用PrintStream类型对象的println(参数)方法 */ int[] ary = {1,6,3,1,8,2}; ...

2018-08-23 22:34:37 389

原创 JavaSE基础(70) 垃圾回收机制

垃圾回收机制:1.程序员不能控制GC的运行2.在堆内存中没有被引用的对象 会被GC视作垃圾3.GC有一个独立的线程来控制4.Object的finalize方法:对象被回收之前会调用该方法5.System的gc方法:请求GC垃圾回收器...

2018-08-23 22:34:27 273

原创 JavaSE基础(69) 享元模式 堆栈分析

享元模式:使用自动装箱创建Integer对象时,如果值是-128~127范围时,不会创建新的Integer对象,直接从数组中取出该元素(元素就是Integer对象)如果不是-128~127范围,则是使用new Integer的方式创建一个新的Integer对象在加载Integer类信息时,会使用静态代码块自动的创建一个数组,数组中自动的创建了256个Integer元素:-12...

2018-08-23 22:15:37 362

原创 JavaSE基础(68) 自动装箱和自动拆箱

自动装箱:java编译器自动的把 基本数据类型 转换为 包装类 自动拆箱:java编译器自动的把 包装类 转换为 基本数据类型 (注意:java从jdk1.5开始才支持自动拆装箱!!)ex:public class Demo{ public static void main(String[] args) { /* * 直接把int赋值给Intege...

2018-08-23 21:13:12 302

原创 JavaSE基础(67) 包装类

包装类(都在java.lang包里面,可以直接调用,不用导包):能存放基本数据类型的值,是引用类型,提供了操作该值的很多功能基本类型 包装类 byte Byte short Short int Integer long Long float Float double Double boolean Boolean ...

2018-08-23 20:03:52 340

SpringCloud入门教程系列源码.rar

SpringCloud入门环境搭建(Ribbon、Feign负载均衡+Hystrix断路器+Zuul路由网关+springcloudconfig分布式配置中心)

2020-04-30

idea使用Docker部署项目到服务器源码.rar

idea使用Docker部署项目到服务器: ①服务器配置docker远程连接 ②idea安装docker插件 ③配置远程连接docker ④部署运行 ⑤访问测试

2019-08-22

Java实现QQ第三方登录源码

Java实现QQ第三方登录源码,下载下来只需根据自己在QQ互联上相应的app_ID, app_KEY, redirect_URI修改配置文件即可测试效果

2018-12-28

MyBatis入门之增删改查源码

MyBatis入门之增删改查: ①实现模拟业务连接数据库的增删改查 ②log4j日志配置 ③MyBatis所需jar包

2018-12-12

Ajax案例(验证用户名,登录,获取服务器时间)

Ajax案例: 案例一:通过Ajax获取服务器时间; 案例二:通过Ajax验证用户名; 案例三:通过Ajax进行登录。

2018-11-05

Web第一个Servlet程序(生命周期、执行流程、tomcat)

web项目:第一个Servlet程序 Servlet的生命周期:init--service--destroy、执行流程:构造器--init方法--循环[ service方法 ]--destory方法(正常关闭Tomcat)、启动tomcat测试

2018-09-29

JDBC连接MySQL数据库实现增删改查(Dao层实现 解决硬编码 配置连接池获得连接对象 )

配置文件 db.properties(保存数据库账号和密码等) 工具类 JDBCUtil.java(抽取公共部分,解决硬编码问题 DBCP方式实现连接池、配置连接池 ==> 获得连接对象连接数据库) 用户账号实体类 User.java(私有化数据库t_user表中的id,username,password) 接口类 IUserDao.java(制定增删改查业务) 实现类 UserDaoImpl.java(实现增删改查功能 使用预编译对象PreparedStatement 安全、便捷不需要我们去拼接字符串,特别是字段很多的时候 同时效率比Statement更高 ) 测试类 UserDaoTest.java(做测试增删改查功能使用) 这个是最近学习之后优化更新的资源,若有不足还请见谅哈

2018-09-27

Java之JDBC连接MySQL数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题 使用预编译对象PreparedStatement)

Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题 使用预编译对象PreparedStatement) 配置文件 db.properties(保存数据库账号和密码等) 工具类 JDBCUtil.java(抽取公共部分,解决硬编码问题) 用户账号实体类 User.java(私有化数据库t_user表中的id,username,password) 接口类 IUserDao.java(制定增删改查业务) 实现类 UserDaoImpl.java(实现增删改查功能 使用预编译对象PreparedStatement 安全、便捷不需要我们去拼接字符串,特别是字段很多的时候 同时效率比Statement更高 ) 测试类 UserDaoTest.java(做测试增删改查功能使用)

2018-09-26

Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题)

Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题) 配置文件 db.properties(保存数据库账号和密码等) 工具类 JDBCUtil.java(抽取公共部分,解决硬编码问题) 用户账号实体类 User.java(私有化数据库t_user表中的id,username,password) 接口类 IUserDao.java(制定增删改查业务) 实现接口类 UserDaoImpl.java(实现增删改查功能) 测试类 UserDaoTest.java(做测试增删改查功能使用)

2018-09-25

Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现)

Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现) 实体类:User.java 接口类:IUserDao.java 实现接口类:UserDaoImpl.java 使用Junit4测试增删改查类:UserDaoTest.java

2018-09-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除