自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 eclipse导入本地Java项目

之前都是在eclipse下直接建立Java项目的,今天做一个项目时,需要把做好的项目压缩发送给别人,让别人来运行该项目,就需要写一个简单的操作说明给对方,方便对方使用,然而发现自己不会。 对此,说一下如何把本地Java项目导入eclipse,来运行该项目。步骤一:首先打开eclipse,点击左上角File。步骤二:点击Import。步骤三:点击General。...

2018-04-29 20:18:32 63180 9

原创 抽象工厂(Abstract Factory)模式——Java设计模式(三)

抽象工厂模式简介抽象工厂模式(Abstract Factory Pattern):围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。分类:创建型模式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。主要解决:主要解决接口选择的...

2018-04-26 23:15:31 2486

原创 红黑树原理及插入、删除——基于树的查找(三)

红黑树红黑树(red-black tree)是一种自平衡二叉查找树。 一颗红黑树是满足下面性质的染色二叉排序树:结点是红色或黑色;根结点是黑色;每个叶节点(NIL节点,空节点)是黑色的;每个红色结点的左右子结点都是黑色;从任一结点到其每个叶子的所有路径都包含相同数目的黑色结点。 可以看出,在一棵红黑树中,最短的道路是所有的结点都是黑色的,最长的道路必是红黑相间。...

2018-04-22 23:31:14 3216 6

原创 平衡二叉树(AVL)插入、删除详解——基于树的查找(二)

由上节内容二叉排序树可知: 二叉排序树在最好的情况下只需O(logn)的时间代价; 但在最差情况下会蜕化为线性查找的时间复杂度O(n); 造成原因:这种情况主要是由于二叉排序树中结点分布不均衡导致,可能是二叉排序树在建立时由于输入序列造成的,也可能是由于在树中不断插入结点而造成的。 解决想法:如果能够找到一种方法,使得二叉排序树不受输入序列或插入结点等的影响,...

2018-04-22 11:57:27 1787

原创 二叉排序树(BST查找、插入、删除、遍历)——基于树的查找(一)

二叉排序树二叉排序树(Binary Search Tree,BST):又称二叉查找树,是一种高效的数据结构。定义二叉排序树或者是一棵空树,或者是具有如下特性的二叉树:若左子树不空,则左子树上所有结点的值均小于或等于根结点的值;若右子树不空,则右子树上所有结点的值均大于或等于根结点的值;左、右子树也分别为二叉排序树如下便是一棵二叉排序树 根据定义,再根据二叉树中...

2018-04-21 23:53:38 14462 2

原创 基数排序原理及JAVA实现

分配类排序分配类排序:又称桶子法(bucket sort),是唯一一种不需要进行关键字之间比较的排序方法。基本思想:利用分配和收集两种基本操作来达到排序的目的。基数排序属于分配类排序。基数排序定义对于数字型或字符型的单关键字,可以看成是由多个数位或多个字符构成的多关键字,可以采用“分配-收集”的办法进行排序,称为基数排序法。实现原理将待排序列(正整数)统一为同样的数位长度,数位较短的数前面补0,。...

2018-04-21 12:28:46 626

原创 浅谈进程和线程(概念、区别和联系)

概念进程进程的定义进程是操作系统结构的基础;是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动;是程序在一个数据集合上运行的过程,它是操作系统进行资源分配和调度的一个独立单位。 如果文字觉得抽象,直接上图。 通过查看“Windows任务管理器”中的列表,完全可以将运行在内存中的exe文件理解成进程,进程是受操作系统管理的基本运行单元。...

2018-04-20 17:07:56 298

原创 Java多线程核心类Thread(《Java多线程编程核心技术》学习笔记(一))

参考资料 《Java多线程编程核心技术》Java Multi-thread Programming 高洪岩 著第一章:Java多线程技能进程与线程的相关知识可以参考浅谈进程和线程 本章主要介绍Thread类的核心方法。 本章的关键技术点线程的启动如何使线程暂停如何使线程停止线程的优先级线程安全相关的问题使用多线程的优点:提升系统的运行...

2018-04-20 13:30:04 260

原创 二路归并排序原理及JAVA实现

归并类排序基本思想:首先将原始无序序列划分为两个子序列,然后分别对每个子序列递归地进行排序,最后再将有序子序列合并。归并排序基于分治策略思想。前面提到的基于分治的快速排序重在“分”,即用枢轴值不断地分割序列,但没有明显的“合”。而归并排序是简单地进行“分”,重点却在“合”的过程,即对两个有序子序列进行归并的过程:每次比较子序列头,取出较小的进入结果序列;其后继续比较两个子序列头,取出较小的进入结果...

2018-04-20 10:14:54 3934

原创 Hashtable和ConcurrentHashMap的区别

HashtableHashtable是一种能提供快速插入和查询的数据结构,无论其包含多少Item(条目),执行查询和插入操作的平均时间复杂度总是接近O(1)。ConcurrentHashMapConcurrentHashMap是Java5中支持高并发、高吞吐量的线程安全HashMap实现。它由Segment数组结构和HashEntry数组结构组成。Segment数组在ConcurrentHashM...

2018-04-19 18:15:34 24990 3

原创 final、finally、finalize的区别

(1)finalfinal用于声明属性、方法和类,分别表示属性不可变、方法不可覆盖、类不可被继承(不能派生出子类)。 final属性:被final修饰的变量不可变,指的是引用的不可变性,即它只能指向初始时指向的那个对象,而不关心指向对象内容的变化。 由于不可变有两重含义,一是引用不可变,二是对象不可变。对于final的含义到底是哪种,举个例子来说明。//例1public ...

2018-04-19 16:17:18 215

原创 Java内部类简单介绍

  在Java语言中,可以把一个类定义到另外一个类的内部,在类里面的这个类就叫作内部类,外面的类叫作外部类。在这种情况下,这个内部类可以被看成外部类的一个成员(与类的属性和方法类似)。还有一种类被称为顶层(Top-level)类,指的是类定义代码不嵌套在其他类定义中的类。内部类主要有以下四种:1、静态内部类(Static Inner Class)静态内部类 是指被声明为static...

2018-04-19 10:13:38 195

原创 死锁的原理及避免死锁的方法

死锁所谓死锁,指的是两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,如果无外力作用,那么它们都将无法推进下去。此时,称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 举例说明死锁:如果一个线程需要并行处理多个任务,那么就可以创建多个线程,但是线程多了,往往会产生冲突,当一个线程锁定了一个资源A,而又想去锁定资源B,而在另一...

2018-04-18 19:13:59 9262

原创 数据库锁分类和总结

锁锁是网络数据库中的一个非常重要的概念,当多个用户同时对数据库并发操作时,会带来数据不一致的问题,所以,锁主要用于多用户环境下保证数据库完整性和一致性。 帮助理解:以商场的试衣间为例,每个试衣间都可供多个消费者使用,因此,可能出现多个消费者同时需要使用试衣间试衣服。为了避免冲突,试衣间装了锁,某一个试衣服的人在试衣间里把锁锁住了,其他顾客就不能从外面打开了,只能等待里面的顾客试完衣服,...

2018-04-18 15:11:28 53765 8

原创 数据库事务和四种隔离级别

什么是事务事务(Transaction):访问并可能更新数据库中各种数据项的一个程序执行单元(unit),它通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起。当在数据库中更改数据成功时,在事务中更改的数据便会提交,不再改变。否则,事务就取消或者回滚,更改无效。事务解释:指要做的或所做的事情事务本质:一系列操作事务特性:事务是恢复和并发控制的基本单位。例如 ...

2018-04-18 09:44:19 26596 2

原创 垃圾收集器与内存分配策略(深入理解Java虚拟机笔记(二))

参考资料:《深入理解Java虚拟机:JVM高级特性与最佳实践》 周志明 著垃圾收集器(GC)概述垃圾收集器(Garbage Collection,GC)需要完成三件事:哪些内存需要回收?什么时候回收?如何回收?GC管理的内存区域GC主要管理Java堆和方法区。Java内存运行时区域中程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着入栈...

2018-04-17 20:15:51 234

原创 回溯法与N皇后问题JAVA实现

提出问题八皇后问题:在8*8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。如何解决这个问题?一种常用且有效的方法是回溯法,是用树形结构描述问题的求解过程。什么是回溯法回溯法是一类非常重要的算法设计方法,有“通用解题法”之称。回溯法(探索与回溯法):一种选优搜索法,又称试探法。利用试探性的方法,在包含问题所有解的解空间树中,将可能的...

2018-04-17 13:50:51 14592 4

原创 快速排序原理及JAVA实现

交换类排序基本思想:对待排序记录的关键字两两进行比较,只要发现两个记录为逆序就进行交换,直到没有逆序的记录为止。(如果要将整个记录序列调整为递增序列,那么关键字之间是递减关系即为逆序。)快速排序基于分治策略思想。属于交换类排序。分治策略基本思想:将原问题分解为若干个规模更小但结构与原问题相似的问题递归地解决这些子问题,然后将这些子问题的解组合为原问题的解。快速排序基本思想通过一趟排序将要排序的数据...

2018-04-17 11:12:09 549

原创 工厂方法模式(Factory Method)——Java设计模式(二)

前言在上一篇简单工厂模式(Factory)——Java设计模式中,提出简单工厂模式存在以下几个缺点:工厂类集中了所有具体产品类的创建逻辑,一旦这个工厂类不能正常工作,整个系统将会受到影响。违背“开闭原则”,一旦添加新产品,就必须修改工厂类。为了解决上述问题,由简单工厂模式衍生出一种新的设计模式,即工厂方法模式(Factory Method)。工厂方法模式简介工厂方法模式:定义一个创建产品对象的工厂...

2018-04-16 16:03:02 209

原创 简单工厂模式(Factory)——Java设计模式(一)

简单工厂模式简介简单工厂模式属于创建型模式,又叫作静态工厂方法模式,不属于23种设计模式之一。但工厂方法模式是由它衍生出来的。简单工厂模式:由一个工厂对象决定创建出哪一种产品类的实例。即,定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,使其创建过程延迟到子类进行。主要解决接口选择的问题。该模式中包含的角色及职责工厂(Creator)角色:简单工厂模式的核心,负责实现创建所有实例的内部逻...

2018-04-16 12:27:09 201

原创 23种设计模式总述——Java设计模式(总述)

设计模式简介设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模...

2018-04-16 10:34:17 316

原创 HashMap和Hashtable的区别

Java为数据结构中的映射定义了一个接口java.util.Map,它有三个实现类:HashMap、Hashtable和TreeMap。Map是用来存储键-值对的数据结构,在数组中通过数组下标来对其内容进行索引,而在Map中,则是通过对象来进行索引,用来索引的对象叫作key,其对应的对象叫作value。HashMap是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的...

2018-04-15 21:07:21 285

原创 ArrayList、Vector、LinkedList的异同点

ArrayList、Vector和LinkedList类相同点:都在java.util包中;都是可伸缩数组,即可以动态改变长度的数组;都是List接口的实现类,(List中)元素存放有序,可重复;不同点:ArrayList和Vector底层是使用数组实现的;LinkedList底层使用双向循环链表数据结构实现;ArrayList和Vector索引数据速度快,增删元素速度慢;LinkedList增删...

2018-04-15 20:23:45 257

原创 堆排序原理及JAVA实现

选择类排序基本思想:在第i趟的记录序列中选取关键字第i小的记录作为有序序列的第i个记录。关键:如何从剩余的待排序列中找出最大或最小的那个记录。堆排序是利用堆的性质对记录序列进行排序的一种排序方法。堆排序是选择类排序。堆的定义堆是满足下列性质的数列{K0,K1,K2,……,K(n-1)}:(1)小根堆:Ki <= K(2i+1),且Ki <= K(2i+2)(0<=i<=n/...

2018-04-15 18:53:45 295

原创 单例模式(Singleton)实现方式及比较——JAVA设计模式

单例模式:这种模式涉及到一个单一的类,该类自己创建一个且只创建一个自己的对象。这个类提供一种访问其唯一对象的方式,可直接访问,不需要再实例化。单例模式的几种实现方式:懒汉式:到用的时候才会实例化。(不推荐使用)线程不安全:缺点:多线程不安全,多线程不能正常使用。public class Singleton { private static Singleton instance = null; ...

2018-04-14 17:25:47 224

Java POI-完整jar包

Apache下POI的完整jar包,非常全!!!3.17版本,可以实现Java导入导出excel和word,很强大的工具包!

2018-05-02

数据库实习报告教务管理系统

一、 课程设计目的 在数据库原理课程基础上,培养学生综合运用数据库知识的能力。 学会数据库的设计、规划以及应用程序的开发和调试,使学生掌握客户机/服务器体系结构,学会大型数据库的工作模式。 自行设计并实现一个较为完整的数据库应用系统的设计与开发,锻炼学生综合运用数据库知识的能力,并学会一种当前流行的软件开发工具。 二、课程设计内容 简单模拟一个我校的教务管理系统,模拟用户主要有三类: 教务员登录来管理学生和老师的信息。主要包括录入、删除、修改学生的档案;录入、删除、修改老师的档案;录入、删除、修改所开设的课程。 教师登录可以选择自己所教授的课程,录入选择该老师所教课程的学生成绩。 学生登录可以浏览自己的学籍信息,可以查询自己的考试成绩。

2017-10-15

空空如也

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

TA关注的人

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