- 博客(42)
- 资源 (2)
- 收藏
- 关注
原创 链表(Linked List)
链表(Linked List)物理结构链表是有序列表,但是它在内存中的存储方式如下链表是以节点的方式来存储每个节点包含data域(存放数据),next域指向下一个节点如图:链表的各个节点不一是连续存放链表分带头节点的链表和没有头节点的链表,根据实际和需求来确定逻辑结构实现思路创建单链表先创建一个head节点,作用是表示单链表的头后面每添加一个节点,就直接加入...
2019-09-07 14:38:08 183
原创 队列
队列队列是一个有序列表,可以用数组或者链表来实现遵循先入先出原则。即先存入队列的数据,要先取出。后存入的要后限出数组模拟队列队列本身是有序表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图,其中maxSize是该队列的最大容量。因为队列的输出、输入是分别从前后端来处理,因此需要两个变量front和rear分别记录队列的前后端的下标,front会随着数据输出而改变,而rear...
2019-09-07 14:36:39 214
原创 环形链表
环形链表Josephu问题设编号为1, 2, …, n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依此类推,直到所有人出列为止,由此产生一个出队编号的序列。构建单向环形链表先创建第一个节点,让first指向该节点,并让该节点的next指向自身形成环形后面当我们每创建一个新的节点,就把该...
2019-09-07 14:36:02 182
原创 稀疏数组
稀疏数组当一个数组在中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法;记录数组一共有几行几列,有多少个不同的值。把具有不同值的元素的行列有值记录在一个小规模的数组中,从而缩小程序的规模。由7x6的数组转换成3x9的稀疏数组二维数组转稀疏数组遍历原始的二维,得到有效数据的个数sum根据sum就可以创建稀疏数组sparseArr int...
2019-08-20 22:01:55 130
原创 MyBatis的使用
MyBatis的使用MyBatis常用的三个查询方法selectList用于查询多条数据,返回值是一个List集合。若没有查到任何数据返回一个空集合,不是null。selectOne用于查询单条数据,返回值是一个对象。如果没有查到任何数据,返回null。selectMap用于查询多条数据,返回值是一个Map集合。若没有查到任何数据返回一个空集合,不是null。MyBatis的使用步...
2019-08-09 21:42:40 339
原创 MyBatis环境配置
MyBatis环境配置MyBatis框架MyBatis 是一个 ORM 框架, 用于操作数据库, 底层是对jdbc 进行的封装。MyBatis 的前身是 iBatis, 是 Apache 下的一个开源项目.现在被迁移到了 GitHub 上.中文网址:http://www.mybatis.org/mybatis-3/zh/getting-started.htmlMyB...
2019-08-08 21:27:53 198
原创 JDBC 技术
JDBC 技术JDBC 简介什么是 JDBCJDBC(Java DataBase Connectivity)java数据库连接是JavaEE平台下的技术规范定义了在Java语言中连接数据库,执行SQL语句的标准可以为多种关系数据库提供统一访问什么是数据库驱动程序数据库厂商对JDBC规范的具体实现不同数据产品需要依赖数据库驱动来完成对数据库的操作程序操作数据库流程JD...
2019-08-07 17:10:45 316
原创 数据库设计范式
数据库设计规范(三大范式)引入三大范式必须保证数据库设计的合理性数据库设计关系整个系统的架构,关系到后续的开发效率和运行效率。数据库的设计主要包含了设计表结构和表之间的联系。如何是合理的数据库结构合理。冗余较小。尽量避免插入删除修改异常。如何才能保证数据库设计水平遵循一定的规则。在关系型数据库中这种规则就称范式。什么是范式(NF=NormalFo...
2019-08-05 21:04:11 194
原创 MySQL数值类型
MySQL数值类型整型MySQL 支持所有标准 SQL 数值数据类型。 作为 SQL 标准的扩展,MySQL 也支持整数类型 TINYINT、MEDIUMINT 和 BIGINT。数值类型中的长度 m 是指显示长度,并不表示存储长度,只有字段指定 zerofill 时有用 例如:int(3),如果实际值是 2,如果列指定了 zerofill,查询结果就是 002,左边用 0 来填充浮点...
2019-08-05 21:03:52 147
原创 视图
视图视图可以通过创建表的视图来表现数据的逻辑子集或数据的组合。视图是基于表或另一个视 图的逻辑表,一个视图并不包含它自己的数据,它象一个窗口,通过该窗口可以查看或改变 表中的数据。视图基于其上的表称为基表。视图的优越性• 视图限制数据的访问,因为视图能够选择性的显示表中的列。• 视图可以用来构成简单的查询以取回复杂查询的结果。例如,视图能用于从多表中查 询信息,而用户不必知道怎样写连接语...
2019-08-03 20:07:48 368
原创 序列(Sequence)
序列(Sequence)什么是序列序列是用户创建的数据库对象,序列会产生唯一的整数。序列的一个典型的用途是创建 一个主键的值,它对于每一行必须是唯一的。序列由一个 Oracle 内部程序产生并增加或减 少。序列是一个节省时间的对象,因为它可以减少应用程序中产生序列程序的代码量。序列 号独立于表被存储和产生,因此,相同的序列可以被多个表使用。操作序列查询序列--查询序列SELECT s...
2019-08-03 20:07:04 1389
原创 索引(Index)
索引(Index)什么是索引在关系型数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序 的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的 数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所 需的内容。索引提供对表中行的直接和快速访问,它的目的是用已索引的路径快速定位数据以减少 磁盘 I/O。索引由 Oracle ...
2019-08-03 20:06:09 1542
原创 分组函数
分组函数/*显示所有雇员的最高、最低、合计和平均薪水,列标签分别为: Maximum、Minimum、Sum 和 Average。四舍五入结果为最近的整数。*/select max(salary) Maximum, min(salary) Minimum, round(sum(salary)) Sum, round(avg(salary)) Average from employee...
2019-08-02 20:05:58 435
原创 子查询
子查询子查询效率子查询会创建临时表,查询结束后需要对临时表进行销毁,如果临时表过大,消耗会非常大。查询大量数据时,不建议使用子查询,使用连接查询代替,也可以考虑在应用中进行处理。--写一个查询显示与 Zlotkey 在同一部门的雇员的 lastname 和 hiredate,结果中不包括 Zlotkey。--子查询select last_name, hire_date from emp...
2019-08-02 20:03:45 201
原创 约束
约束数据库中的约束类型非空约束(NOTNULL)唯一性约束(UNIQUE)主键约束(PRIMARYKEY)外键约束(FOREIGNKEY)用户自定义约束(CHECK)[外链图片转存失败(img-HGQLcLvp-1564747347856)(C:\Users\ad\AppData\Roaming\Typora\typora-user-images\156473...
2019-08-02 20:03:26 146
原创 多表查询
多表查询/*写一个查询显示所有雇员的last name、department number、and department name*/select emp.last_name, department_id, dep.department_name from employees emp natural join departments dep;/*写一个查询显示所有有佣金的雇员的las...
2019-08-02 20:02:14 274
原创 SQL函数
SQL函数单行函数-- 写一个查询显示当前日期,列标签显示为Dateselect sysdate "Date" from dual;/*对每一个雇员,显示employee number、last_name、salary和salary增加15%,并且表示成整数,列标签显示为New Salary*/select employee_id, last_name, salary, round(...
2019-08-02 20:01:43 964
原创 Java的反射
反射反射机制指的是可以于运行时加载、探知、使用编译期间完全未知的类。程序在运行状态中,可以动态加载一个只有名称的类,对于任意一个已加载的类,都能够知道这个类的所有属性和文法对于任意一个对象,都能够调用它的任意一个方法和属性。Class c = Class.forName(com.abc.User)加载完类之后,在堆内存中,就产生了一个Class类型的对象(一个类只胡一个Class对象)...
2019-07-26 15:00:51 85
原创 UDP文件上传的实现
Java UDP文件上传的实现发送端文件上传1 使用DatagramSocket 创建接收端2 准备容器 一定要转成字节数组3 封装DatagramPacket包裹4 发送数据报5 释放资源import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileNot...
2019-07-24 21:34:52 855
原创 TCP文件上传的实现
Java TCP文件上传的实现客户端实现代码import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.net.Socket;/** * ...
2019-07-24 21:34:07 105
原创 手写HashMap
手写HashMap/** * 自定义HashMap * v01基本要素加put isEmpty方法 * v02增加size get toString remove方法。 * v03增加泛型 * @author ad * */public class MyHashMap<K, V> { private Node<K,V>[] table;//位桶数组 p...
2019-07-19 18:43:42 108
原创 手写ArrayList的实现
手写ArrayList的实现/** * 自定义实现一个ArrayList。 * v02 增加泛型 * v03 增加数组扩容 * v04 增加set、get方法 边界检查 * v05 增加删除方法 * @author ad * */public class MyArrayList<E> { private Object[] elementData; private...
2019-07-18 21:45:06 150
转载 数组
数组数组的定义 数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组的三个基本特点: 1. 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。 2. 其元素必须是相同类型,不允许出现混合类型。 3. 数组类型可以是...
2019-07-18 16:47:37 242
转载 异常
异常 异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。 在Java的异常处理机制中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。 所谓异常处理,就是指程序在出现问题时依然可以正确的执行完。Java是采用面向对象的方式来处理异常的。处理过程:...
2019-07-18 16:46:27 118
转载 String
StringString基础String类又称作不可变字符序列。String位于java.lang包中,Java程序默认导入java.lang包下的所有类。Java字符串就是Unicode字符序列,例如字符串“Java”就是4个Unicode字符’J’、’a’、’v’、’a’组成的。Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义的类String,每...
2019-07-16 15:09:48 119
转载 时间处理相关类
时间处理相关类在计算机世界,我们把1970 年 1 月 1 日 00:00:00定为基准时间,每个度量单位是毫秒(1秒的千分之一)。时间相关类有如下Date时间类(java.util.Date)在标准Java类库中包含一个Date类。它的对象表示一个特定的瞬间,精确到毫秒。Date() 分配一个Date对象,并初始化此对象为系统当前的日期和时间,可以精确到毫秒)。Date(l...
2019-07-16 15:09:03 210
转载 包装类
包装类Java是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本数据转化成对象,以便于操作。比如:将基本数据类型存储到Object[]数组或集合中的操作等等。 为了解决这个不足,Java在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)...
2019-07-16 15:08:38 117
转载 面向对象进阶
面向对象进阶面向对象的三个特征重点针对面向对象的三大特征:继承、封装、多态进行详细的讲解。另外还包括抽象类、接口、内部类等概念。继承继承让我信更加容易实现类的扩展。比如,我们定义了人类。再定义Boy类就只需要扩展人类即可。实现了代码的重用,不用再重新发明轮子(don’t reinvent wheels)。人英文字面意思理解,extends的意思是“扩展”。子类是父类的扩展。现实世界中的继...
2019-07-12 14:48:39 126
转载 面向对象基础
面向对象基础面向过程和面向对象 面向过程(Procedure Oriented)和面向对象(Object Oriented,OO)都是对软件分析、设计和开发的一种思想,它指导着人们以不同的方式去分析、设计和开发软件。早期先有面向过程思想,随着软件规模的扩大,问题复杂性的提高,面向过程的弊端越来越明显的显示出来,出现了面向对象思想并成为目前主流的方式。两者都贯穿于软件分析、设计和开发各个阶段,...
2019-07-11 14:25:01 134
转载 控制语句
控制语句控制语句分为三类:顺序、选择和循环顺序结构 代表“先执行a,再执行b”的逻辑。选择结构 代表“如果。。。则。。。”的逻辑。循环结构 代表“如果。。。则再继续。。。”的逻辑。任何软件和程序,小到一个练习,大到一个操作系统,本质上都是由“变量、选择语句、循环语句”组成选择结构选择结构用于判断给定的条件,然后根据判断的结果来控制程序的流程。主要的选择结构有:if选择结构和sw...
2019-07-10 19:08:06 533
原创 输出九九乘法表
/** * 输出九九乘法表 * @author ad * */public class NineByNine { public static void main(String[] args) { NineByNine n = new NineByNine(); n.printNineByNine(); } //输出九九乘法表 public void printNineBy...
2019-07-09 19:59:55 318
转载 运算符
运算符Java中运算符用于操作变量。运算符分类 算术运算符二元运算符算术运算符一元运算符赋值运算符=扩展运算符+=,-=,*=,/=关系运算符>,<,>=,<=,==,!= instanceof逻辑运算符&&,||,!,^位运算符&,|,^,~ , >>...
2019-07-09 16:17:33 7616
转载 基本数据类型
基本数据类型数值型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)、float(4字节)、double(8字节)字符型(文本型):char(2字节)布尔型:boolean(1位)整型整型用于表示没有小数部分的数值,它允许是负数。整型的范围与运行Java代码的机器无关,这正是Java程序具有很强移植能力的原因之一。整型变量类型占用存储空间...
2019-07-09 16:12:08 187
转载 变量
变量变量变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。JAVA是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。比如,int a = 3;表示a变量的空间大小为4个字节。变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作...
2019-07-09 16:09:35 539
转载 JAVA 的特性和优势
JAVA 的特性和优势1. 核心优势:跨平台、可移植性。这是Java的核心优势。Java在设计时就很注重移植和跨平台性。比如:Java的int永远都是32位。不像C++可能是16,32,可能是根据编译器厂商规定的变化。这样的话程序的移植就会非常麻烦。2. 安全性Java适合于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使Java可以很容易构建防病毒,防篡改的系统。3...
2019-07-09 14:58:14 1281
原创 java was started but returned exit code=1
Eclipse启动后报此错误,百度后的方法试了都无效。观察eclipse.ini后,发现有两处-vm F:\Program Files\Java\jdk-12.0.1\bin\javaw.exe删除其中一处后正常启动-startupplugins/org.eclipse.equinox.launcher_1.5.300.v20190213-1655.jar--launcher.libr...
2019-05-28 19:44:16 11772 2
转载 HTML
post:提交 ,基于http协议不同 量大 请求参数url不可见 安全get: 默认,获取,基于http协议不同 量小 请求参数url可见 不安全action: 请求web服务器的资源 URLname:作为后端使用,区分唯一: 请求服务器,必须存在,数据不能提交id: 作为前端使用,区分唯一...
2019-05-28 17:20:42 66
转载 反射
反射(Class类的使用)反射:把Java类中的各种结构(方法、属性、构造器、类名)映射成一个个的Java对象。1、获取Class对象,三种方式对象.getClass()类.classClass.forName(“包名.类名”)(推荐)2、创建对象Iphone iphone2 = (Iphone)clz.newInstance();//9以后不推荐Iphone iphon...
2019-05-27 20:45:21 96
转载 线程同步
线程同步由于同一进程的多个线程共享同一块存储空间,带来 了访问冲突问题。为保证数据在方法中被访问时的正确性,在访问时加入锁机制(synchronized),当一个线程获得对象的排它锁,独占资源,其他线程必须等待,使用后释放锁即可。锁的使用存在以下问题:一个线程持有锁会导致其它所有需要此锁的线程挂起;在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题;如果一个优...
2019-05-26 17:46:30 84
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人