自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 15、String类(SringBuffer 类、 StringBuilder 类)

一、String的特性1、String是一个final类,代表不可变的字符序列.不可被继承。2、字符串是一个常量,使用“ ”来表示, 他们的值在创建之后不能更改。3、String实现了Serializable接口,表示字符串是支持序列化的实现了Comparable接口,表示字符串可以比较大小4、String 内部定义了final char[] value 数组用于存储字符串数据5、String代表不可变的字符字符序列。简称:不可变性。体现:当字符串重新赋值时,需要重新指

2021-01-20 00:45:30 246

原创 15、JDK 8 中的日期时间API

JDK 8 中的日期时间API一、新的时间日期API1、第三次引入的API是成功的, 并且Java 8中引入的java.time API 已经纠正了过去的缺陷,将来很长一段时间内它都会为我们服务。2、Java 8 吸收了 Joda-Time 的精华,以一个新的开始为 Java 创建优秀的 API。新的 java.time 中包含了所有关于本地日期(LocalDate)、本地时间(LocalTime)、本地日期时间(LocalDateTime)、时区(ZonedDateTime)和持续时间

2021-01-20 00:41:24 277

原创 15、JDK 8 之前的时间 API

一、java.lang.System类System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。@Testpublic void test(){ long time = System.currentTimeMillis(); //时间戳,可用于生成订单号}此方法适于计算时间差。计算世界时间的主要标准有:UTC(Coordinated Universal

2021-01-20 00:37:01 148

原创 15、★ java比较器(Comparable 类 、Comparator类)

Java的比较器在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。Java实现对象排序的方式有两种:自然排序: java.lang.Comparable定制排序: java.util.Comparator一、自然排序: java.lang.Comparable使用步骤让要排序的类实现cmparable接口重写comparaTo()方法(可以用String 中的方法)Comparable接口强行对实现它的每个类的对象进行整体排序。这种排序

2021-01-20 00:35:21 163

原创 16、异常处理

异常处理概述异常概述与异常体系结构常见异常++异常处理机制一:try-catch-finally++++异常处理机制二:throws++手动抛出异常:throw + 异常类型用户自定义异常类一、异常概述与异常体系结构异常:在Java语言中, 将程序执行中发生的不正常情况称为“异常” 。(开发过程中的语法错误和逻辑错误不是异常)Java程序在执行过程中所发生的异常事件可分为两类:Error: Java虚拟机无法解决的严重问题。 如: JVM系统内部错误、 资源

2021-01-20 00:33:04 1041

原创 17、多线程

多线程目录一、基本概念:程序、进程、线程二、线程的创建和使用三、线程的生命周期四、线程的同步五、线程的通信六、JDK 5.0新增的线程创建方式一、基本概念:程序、进程、线程1、程序(program),是为完成特定任务、用某种语言编写的一组指令的集合。即++指一段静态的代码++,静态对象。2、进程(process),是程序的一次执行过程,或是++正在运行的一个程序++。是一个动态的过程:有它自身的产生、存在和消亡的过程。 ——生命周期如:运行中的QQ,运行中的MP3播放器程序是静态的

2021-01-18 23:09:55 177

原创 20、泛型

泛型与File目录1、为什么要有泛型2、在集合中使用泛型3、自定义泛型结构4、泛型在继承上的体现5、通配符的使用6、泛型应用举例一、为什么要有泛型1、理解:标签 //在集合中使用泛型的情况 @Test public void test1(){ ArrayList list = new ArrayList(); //需求:存放学生的成绩 list.add(34); list.add(84);

2021-01-18 23:03:55 107

原创 对数据类型的操作

对Blob数据类型的操作/** * @Auther: Alex * @Date: 2020/12/26 - 12 - 26 -23:28 * @Description: 测试使用ProparedStatement操作Blob类型的数据 * @Verxion: 1.0 */public class BlobTest1 { //向customers中插入Blob类型的字段 @Test public void test1() throws Exception {

2021-01-18 22:52:55 74

原创 6-5 数组队列和链表队列性能对比

【实现】public class Main { public static void main(String[] args) { int opCount = 100000; ArrayQueue<Integer> arrayQueue = new ArrayQueue<>(); LinkedListQueue<Integer> linkedListQueue = new LinkedListQueue<&gt

2021-01-18 22:51:06 234

原创 5-2 栈的实现

基本功能[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G3LRZZmK-1610469089793)(D3C0144A7FD44573B9FF652E616CF7C6)]面向对象迭代[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hNhxU9NF-1610469089796)(E0BA029B2D7F4D93A25CFCAED164BEFB)]【Stack接口】public class Main { public static

2021-01-18 22:43:07 76

原创 6-4 改进我们的链表(用以实现队列)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PlRg0Ncr-1610469237605)(7F98D99916094B9DB393F88FD15C1E65)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uZd63k97-1610469237611)(9F30BF730F9D4DB89FC33CC2B04FB321)]【实现】public class LinkedListQueue<E> implements Queue&

2021-01-18 22:42:55 86

原创 8-2测试归并排序的性能

验证复杂度为 O(nlogn)public static void main(String[] args) { int [] dataSize = {100000,1000000}; for(int n:dataSize){ Integer[] data = ArrayGenerator.generateRandomArray(n,n*100); long start = System.nanoTime();//纳秒

2021-01-18 22:42:01 95

原创 10-1 二分查找

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HwysHLUx-1610469964685)(22D67B16450440C2999668867603ABE9)]【递归版本实现】public class BinarySearch { private BinarySearch() { } public static <E extends Comparable<E>> int search(E[] arr, E target)

2021-01-18 22:41:18 127

原创 6-3 链表与数组栈的性能比较

【实现】public static void main(String[] args) { int opCount = 100000; ArrayStack<Integer> arrayStack = new ArrayStack<>(); LinkedListStack<Integer> linkedListStack = new LinkedListStack<>(); double time

2021-01-18 22:40:17 89

原创 JDBC 获取数据库连接的五种方式

public class ConnectionTest1 { //方式一 @Test public void test() throws SQLException { Driver driver = new com.mysql.cj.jdbc.Driver(); //在mysql中会显示时区异常 String url = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC";

2021-01-18 22:40:08 226

原创 JDBC 对Blob数据类型的操作以及大批量插入数据

对Blob数据类型的操作/** * @Auther: Alex * @Date: 2020/12/26 - 12 - 26 -23:28 * @Description: 测试使用ProparedStatement操作Blob类型的数据 * @Verxion: 1.0 */public class BlobTest1 { //向customers中插入Blob类型的字段 @Test public void test1() throws Exception {

2021-01-15 00:25:08 176

原创 MySQL 常见数据类型

数值型: 整形 tinyint | smallint | mediumint | int、integer | bigint 小数 定点型 dec(m,d) | decinal(m,d) 浮点型 float(m,d) | double(m,d)字符型 较短的文本 :char | varchar 较长的文本 : text | blob (较长的二进制数据) 日期型 date | datetime | timestamp | time | year一、整形整形 tinyint | .

2021-01-15 00:22:58 134

原创 MySQL语言基础

## 本单元目标二、数据库的相关概念 DBMS、DB、SQL三、数据库存储数据的特点四、初始MySQL MySQL产品的介绍 MySQL产品的安装 ★ MySQL服务的启动和停止 ★ MySQL服务的登录和退出 ★ MySQL的常见命令和语法规范 五、DQL语言的学习 ★ 基础查询 ★ 条件查询 ★ 排序查询

2021-01-15 00:21:19 216

原创 MySQL TCL语言学习

tclTransaction 事务Control 控制Language 语言事务:一个或一组sql语句组成一个执行单元,特点:这个执行单元要么全部执行,要么全部不执行案例: 转账 张三丰给杨过转账500元张三丰 1000杨过 1000update 表名 set 张三丰的余额=500 where name = '张三丰';update 表名 set 杨过的余额=1500 where name = '杨过'# 查看存储引擎(show engines;)SHOW

2021-01-15 00:16:15 112

原创 MySQL 中的过程和函数

存储过程和函数存储过程和函数:类似java中的方法存储过程:自足预先编译好的SQL语句的集合,理解成批处理语句好处:1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据可服务器的连接次数,提高了效率一、创建函数语法:create procedure 存储过程名(参数列表)begin 存储过程体、方法体(一组合法有效的SQL语句)end注意1、begin - end 语句的作用类似于java中的{}2、参数泪飙包含三部分 参数模式 参数名 参数类型

2021-01-15 00:12:47 515

原创 MySQL 中的变量

变量分类系统变量 全局变量 会话变量自定义比变量 用户变量 局部变量一、系统变量说明:1、变量有系统提供,不是用户定义,属于服务器层面2、如果是全局变量级别,则需要加global, 如果是会话级别,则需要加session, 如果不写,则默认是session.使用的语法:1、查看所有的全局变量show global variables;2、查看所有的会话变量show session variables;3、查看满足条件的部分系统变量show glo

2021-01-15 00:11:39 94

原创 23、反射机制

反射机制目录一、java反射机制的概述二、理解Class类并获取Class示例三、类的加载与ClassLoader的理解四、创建运行时类的对象五、获取与形式类的完整结构六、调用运行时类的 指定结构七、反射的应用:++动态代理++一、java反射机制的概述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OtR8Xi3X-1610467572851)(E38E3A55A99346B3937CBAA1E62477F9)][外链图片转存失败,源站可能有防盗链机制,

2021-01-15 00:10:15 330 2

原创 21、IO流

IO流目录一、File类的使用二、IO流原理及流的分类三、节点流四、缓冲流五、转换流六、标准输入、输出流七、打印流八、数据流九、对象流十、随机存储文件流十一、NIO.2中Path、 Paths、Files类的使用一、File类的使用(一)、File类的使用1、File类的一个对象,代表一个文件或一个文件目录(俗称文件夹)2、File类声明在Java.io包下3、相对路径:绝对路径:4、并未涉及到写入湖泊读取问价内容的的操作,如果需要读取或写入文件 内容,必须使用IO流

2021-01-15 00:09:46 291

原创 21、网络编程

网络编程目录一、网络编程概述二、网络通信要素概述三、通信要素1:ip和端口号四、通信要素2:网络协议五、TCP网络编程六、UDP网络编程七、URL编程一、网络编程概述网络编程中有两个主要问题1、如何准确地定位网络上一台或多台主机,定位主机上的特定的应用2、找到主机后如何可靠高效地进行数据传输二、网络通信要素概述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zaCuoSBb-1610467723756)(22ED4BE1920D4D42B0576

2021-01-15 00:09:06 123

原创 23、java8新特性(Lambda表达式、函数式接口、方法引用、构造器引用、Stream API、optional类)

目录== 一、Lambda表达式==二、函数时(Functional)接口三、方法引用与构造器引用四、强大的Stream API五、Optional类一、Lambda表达式Lanmbda表达式举例1[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fbhesQXo-1610467272139)(407A1EF7F6B8445BAE2AF15CCCD9818E)]Lanmbda表达式举例2[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(im

2021-01-15 00:08:13 258 1

原创 7-3 使用递归实现链表

【实现】public class LinkedList<E> { private class Node{ public E e; public Node next; public Node(E e, Node next){ this.e = e; this.next = next; } public Node(E e){ this

2021-01-14 00:39:55 147

原创 6-2 使用链表实现栈

【实现】public class LinkedListStack<E> implements Stack<E> { private LinkedList<E> list; public LinkedListStack(){ list = new LinkedList<>(); } @Override public int getSize() { return list.getSize(

2021-01-14 00:39:05 69

原创 8-1归并排序的实现

基本思想[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-feZ2bhuI-1610469446633)(199870C6B84A4C519FF8BE51F2A9D9E0)]复杂度 O(nlogn)核心问题:如何进行归并比较A[0] 和 B[0]哪个小,取出小的元素,继续比较【实现】public class MergeSort<E>{ private MergeSort(){} public static <E extends

2021-01-14 00:37:55 73

原创 8-3 观察归并算法的微观(迭代)过程

【实现】public class MergeSort<E>{ private MergeSort(){} public static <E extends Comparable<E>>void sort(E[] arr){ sort(arr,0, arr.length-1,0); } public static <E extends Comparable<E>>void sort(E[] arr,

2021-01-14 00:35:51 107 1

原创 8-5 自底向上的归并排序算法

【实现】public class MergeSort3 { private MergeSort3(){} public static <E extends Comparable> void sortBU(E[] arr){ E[] temp = Arrays.copyOf(arr, arr.length); int n = arr.length; // 使用插入排序优化 // 遍历一遍,对所有 arr[i, i +

2021-01-14 00:34:48 160

原创 9-1 快速排序的实现

【实现1】(需要开辟额外的空间)public class QuickSort { private QuickSort(){} public static <E extends Comparable<E>> void sort(E[] arr){ E[] temp = (E[])new Object[arr.length]; sort(arr,0,arr.length-1,temp); } public static &

2021-01-14 00:33:54 112

原创 9-2 快速排序的微观解读

【实现】public class QuickSort2 { private QuickSort2(){} public static <E extends Comparable<E>> void sort(E[] arr){ sort(arr,0,arr.length-1,0); } public static <E extends Comparable<E>> void sort(E[] arr,int l,

2021-01-14 00:32:57 120

原创 9-3 优化快速排序对于特殊数组的性能退化问题

【优化1】第一版快速排序的对象是有序数组时,递归深度为O(n),容易造成栈溢出[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hbzHkMhM-1610469804197)(347A6AB82C234141BFBB5292C5705FEE)]使p的索引为[l,r]中的一个随机数,再将他和 l 调换位置public static <E extends Comparable<E>> int partition(E[] arr,int l,int r,

2021-01-14 00:32:14 374

原创 9-5 三路快速排序算法

实现原理[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iTE3pZJe-1610469861174)(C0CEA802827C4C1D86A9E54022CD6E42)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CDNyb47s-1610469861177)(D4AAE62AB0224EC5940178CC8859D23A)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2W9cC6Fw-1610469

2021-01-14 00:31:30 101

原创 10-2 非递归实现leetcode 最小的K

【实现】class Solution { public int findKthLargest(int[] nums, int k) { Random random = new Random(); return selectK(nums,0,nums.length-1,nums.length-k,random); } private int selectK(int[] arr,int l,int r,int k,Random random){

2021-01-14 00:29:58 78

原创 6-1链表的实现

链表的结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GaacuLKh-1610469021765)(30C6BB495DAC4DD4B8CC6927C8862AEC)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nICOA4zS-1610469021767)(D9C77D05D4514216A00195ACF10EFFA1)]数组与链表的对比[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VbnP80

2021-01-13 00:31:00 140

原创 5-7 双端队列的实现

基本功能[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gtFed5es-1610468959650)(CCF7A000C2C44021847001DD157369D4)]【实现】public class ArrayDeque<E> implements Deque<E> { private E[] data; private int front; private int tail; private int size

2021-01-13 00:29:56 91

原创 5-6 数组队列饿汉循环队列性能的比较

【实现代码】分别进行10 万次出队 和 入队public class Main { //测试使用q 运行opCount 个 enqueue 和 的dequeue 操作所需要的时间,单位:秒 private static double testQueue(Queue<Integer> q,int opCount){ long start = System.nanoTime(); Random random = new Random();

2021-01-13 00:28:57 77

原创 5-4数组队列的实现

说明对垒也是一种线性结构相比数组,对垒对应的操作是数组的子集只能从一端(队尾)添加元素,只能从另一端(队首)取出元素队列是一种先进先出的数据结构(First In First Out [FIFO])基本功能[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MFX0T7xf-1610468823676)(6A1A676DE35E431EB0E8B605B6482233)]【Queue接口】public class ArrayQueue<E> implem

2021-01-13 00:27:33 89

原创 4-1 属于我们自己的动态数组

主要功能增删改查看数组的容量(能装多少东西)查看数组的长度(装了多少东西)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j2ThOhiu-1610468614451)(C14C521FE9AD47E088F48D4BE50E395C)]【实现1】/** * @Auther: Alex * @Date: 2021/1/4 - 01 - 04 -19:57 * @Description: 自定义的数组 * @Verxion: 1.0 */publi

2021-01-13 00:24:19 71

空空如也

空空如也

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

TA关注的人

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