自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JDBC-1(CP30,Druid,Spring JDBC)

2.数据库连接池概念:其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。好处节约资源用户访问高效实现:标准接口:DataSource ,在 javax.sql包下方法获取连接:getConnection()归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用

2020-08-02 14:04:54 218

原创 超市管理系统-2(数据库代码以及数据库逻辑)

表的创建.sql--创建tb_admin表create table tb_admin( a_num varchar(8), a_acc varchar(8), a_pwd varchar(8), a_name varchar(8), primary key(a_num,a_acc), constraint uq_admin_acc unique(a_acc)--账号唯一性,会自动创建对账号的索引,节省操作);--创建收银员表create table t_cashier( c...

2020-07-30 20:48:27 15504 1

原创 超市管理系统-1(JavaSwing和Oracle数据库)

这是我第一次接触Oracle数据库并且利用JavaSwing图形界面编写的一个简单的超市管理系统,其实整体代码后续看了一下,因为JDBC刚接触以及之前JavaSE没学清楚,弄得代码逻辑很繁杂,后面想改又懒,就先记着,有空的话再说==。具体要求如下:某超市需要开发购物管理系统进行收银管理,需要为:(1)系统用户分为管理员和收银员,管理员有用户管理,会员管理和商品管理的功能,收银员通过系统进行收银;(2)只有会员能在超市购买商品;(3)系统有一些统计分析功能,如每个月销售最好的商品,不同年龄层(如10

2020-07-30 20:42:07 2960 4

原创 JDBC-1(快速入门,4个数据库对象,抽取工具类)

JDBC1.JDBC概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。1.1 快速入门步骤导入驱动jar包复制jar包到项目的libs目录下(libs目录可以手动创建)右键–>Add As Library

2020-07-30 20:28:28 122

原创 Java基础-11(方法引用,Junit测试,反射,注解)

58.方法引用在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿什么参数做什么操作。那么考虑 一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑?冗余的Lambda场景定义一个打印的函数式接口/* 定义一个打印的函数式接口 */@FunctionalInterfacepublic interface Printable { //定义字符串的抽象方法 void print(String s)

2020-07-29 20:33:06 383

原创 Java基础-10(函数式接口,函数式编程,常用函数式接口,Stream流)

54.函数式接口概念函数式接口在Java中是指:有且仅有一个抽象方法的接口。函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可 以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。备注:“语法糖”是指使用更加方便,但是原理不变的代码语法。例如在遍历集合时使用的for-each语法,其实 底层的实现原理仍然是迭代器,这便是“语法糖”。从应用层面来讲,Java中的Lambda可以被

2020-07-28 20:47:20 220

原创 Java基础-9(缓冲流,转换流,序列化,打印流,TCP通信程序)

51.缓冲流概述缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流,按照数据类型分类:字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:BufferedReader,BufferedWriter缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。字节缓冲流构造方法public BufferedInputStream(Input

2020-07-27 21:10:27 194

原创 Java基础-8(File类,递归,文件搜索,字节流以及字符流)

46.IO概述概念把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input 和输出output ,即流向内存是输入流,流出内存的输出流。Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据。分类根据数据的流向分为:输入流和输出流。输入流 :把数据从其他设备上读取到内存中的流。输出流 :把数据从内存 中写出到其他设备上的流。格局数据的类型分为:字节流和字符流。字节流 :以字节为

2020-07-26 20:15:09 232

原创 Java基础-7(多线程,线程安全,线程状态,Lambda表达式)

38.多线程并发∶指两个或多个事件在同一个时间段内发生。并行指两个或多个事件在同一时刻发生(同时发生)。线程和进程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。线程︰线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:

2020-07-23 19:48:32 266

原创 Java基础-6(可变参数,Collections工具类,Map集合,异常)

36.IDEA的debug调试Debug调试程序:可以让代码逐行执行,查看代码执行的过程,调试程序中出现的bug使用方式:在行号的右边,鼠标左键单击,添加断点(每个方法的第一行,哪里有bug添加到哪里)右键,选择Debug执行程序程序就会停留在添加的第一个断点处执行程序:f8:逐行执行程序f7:进入到方法中shift+f8:跳出方法f9:跳到下一个断点,如果没有下一个断点,那么就结束程序ctrL+f2:退出debug模式,停止程序console:切换到控制台37.异常

2020-07-22 22:35:52 205

原创 Java基础-5(泛型,常见数据结构的简单笔记,List集合,Set集合)

27.Collection集合概述集合:集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。框架集合按照其存储结构可以分为两大类,分别是单列集合java.util.collection和双列集合java.util.Map )Collection :单列集

2020-07-19 21:22:53 259

原创 Java基础-4(System类的两个常用方法,StringBuilder类,包装类及拆装箱,Collection集合)

24.System类的两个常用方法java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有:public static long currentT imeMillis():返回以毫秒为单位的当前时间。public static void arraycopy(object src, int srcPos, object dest, int destPos, int length) :将数组中指定的数据拷贝到另一一

2020-07-19 21:16:30 162

原创 Java基础-3(内部类,成员变量,时间相关类)

18.内部类如果一个事物的内部包含另一个事物,那么这就是一个类内部包含另一个类。例如:身体和心脏的关系。又如:汽车和发动机的关系。分类:1.成员内部类定义格式: 成员内部类的定义格式: 修饰符class 外部类名称{ 修饰符class 内部类名称 { // //... } }注意:内用外,随意访问 ; 外用内,需要内部类对象。public class Body { //外部类 public class Heart { //成员内部类 //内部

2020-07-18 22:51:30 306

原创 Java基础-2(抽象,接口,多态,final关键字)

9.Static关键字例子如果一个成员变量前面用static标记,则这个变量属于类,所有成员变量共享同一份数据一旦使用static修饰成员方法, 那么这就成为了静态方法。静态方法不属于对象,而是属于类的。如果没有static关键字,那么必须先创建对象,然后通过对象才能使用它静态方法推荐用 类名.静态方法名来调用,用对象来调用的话容易造成误解;即无论是静态变量还是静态方法,如果有了static,都推荐使用类名称进行调用对于本类中的静态方法,可以省略类名称注意事项:成员方法可

2020-07-15 21:47:03 138

原创 Java基础-1(java内存划分,常用类,关键字)

1.java内存划分Java的内存需要划分成为5个部分:栈(Stack) :存放的都是方法中的局部变量。方法的运行- -定要在栈当中运行。局部变量:方法的参数,或者是方法{}内部的变量作用域:一旦超出作用域,立刻从栈内存当中消失。堆(Heap) :凡是new出来的东西,都在堆当中。堆内存里面的东西都有一个地址值: 16进制堆内存里面的数据,都有默认值。规则:如果是整数 默认为0如果是浮点数 默认为0.0如果

2020-07-14 21:40:24 201

原创 PL/SQL知识点1

1.PL/SQL概述1.1简单介绍PL/SQL中最基本的执行单元为PL/SQL块语法[DECLARE变量声明]BEGIN语句[EXCEPTION异常处理]END;DECLARE子句:声明在PL/SQL 块中需要被使用到的变量BEGIN: PL/SQL块运行时需要被执行的语句EXCEPTION:异常处理语句END:表示PL/SQL块结束,后面必须接分号在sqlplus窗口中先要输入 set serveroutput on,再输入相对应语句,最后要输入’ \ '表

2020-05-17 17:03:46 178

原创 链表的排序和分隔

1.问题描述:链表排序在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 :输入: 4->2->1->3输出: 1->2->3->42.算法描述2.1插入排序leetcode上是对链表插入排序这个题目在前面,结果我先做了链表的排序,结果就用了同一个算法,后面看题解才发现我自己漏了= _ =。算法其实很简单,就是从原先的链表中取出一个元素,根据节点的大小插入到一个新链表的准确位置。如动图所示: 代码如下:/** * 链表定义

2020-05-12 16:24:11 223

原创 反转,旋转链表

1.基础问题:反转整个链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?2.问题解法因为看到了进阶提示,所以我在开始就在思考用递归法求解:先设置两个指针,temp=head.next,next=temp.next;先翻转head和temp这两个节点,然后将next当成新链表的首节点进入递归翻转。即重

2020-05-11 15:51:47 155

原创 删除排序链表中的重复节点

1.基础问题给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 :输入: 1->1->2输出: 1->22.算法这里起初想法就是想着两个节点两个节点的比较以上述例子为例子。首先两个指针P和Q指向两个1,比较两个指针的值,发现相同;此时将Q所在的这一个节点断开,P指向的节点不变,将Q指向下一节点继续比较:直至Q指向链表末端:/** * 链表节点定义 * public class ListNode { * int val; * L

2020-05-10 15:30:46 345

原创 链表的翻转

1.基础问题:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.2.算法这个基础问题比较简单,具体解法利用分治法的思想,将相邻两个节点看成一组,组内进行交换,组间再串联起来就可以解决这个问题了。public class Solution24 { public ListNode swapPairs(ListNode h

2020-05-09 16:43:59 130

原创 合并多个有序链表

合并多个有序链表1.问题描述合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:A [1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->62.算法我起先的想法是先判断链表长度,如果链表长度K>3,则将链表A[1~K-1]的剩余...

2020-05-08 15:05:14 1769

原创 删除链表倒数第N个节点

删除链表倒数第N个节点1.问题给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.2.算法暴力破解法:先计算得出链表的长度M,然后将链表长度和所给倒数位置相减,即loc=M-n-1,得出删除节点的前一个节...

2020-05-07 14:40:48 187

原创 两个有序链表的合并

两个有序链表的合并两个有序链表的合并放假很久了,整个假期时不时就学点东西,但是又觉得没做出点啥,所以写点东西记录一下。问题两个简单有序链表如链表A:1->2->3,链表B:1->2->4,如何快速有效的合并在一起:算法暴力破解法 ,最简单的方法。即依次分别取出两个链表的一个元素进行比较,并用一个新的链表C来保存比较结果即可。时间复杂度即为链表的长度相加,为O(...

2020-05-06 14:36:27 439

空空如也

空空如也

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

TA关注的人

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