- 博客(21)
- 收藏
- 关注
转载 java设计模式----单例模式
文章目录单例模式简介单例模式的优点单例模式的实现方式饿汉式懒汉式双重检测锁式静态内部类式枚举单例单例模式简介单例模式的核心就是保证一个类只有一个实例,并且提供一个访问实例的全局访问点。单例模式的优点由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决单例...
2019-07-11 21:22:28 150
原创 数据库设计的三大范式
数据库设计的三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就叫做范式。范式就是符合某一种设计要求的总结,要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最常见的设计范式有三个:第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可再分的原子值,就说明该数据库满足第一范式。第一范式的...
2019-05-23 17:40:17 218
原创 Oracle SQL语句
1.SELECT语句执行顺序2.使用统计函数需要注意的细节(1)如果SELECT子句中使用了统计函数同时没有GROUP BY 子句,那么SELECT 子句中只能出现统计函数,不能出现其他字段。例如:(2)如果在SELECT子句中使用了统计函数,并且有GROUP BY 子句,则在SELECT子句中只能出现统计函数和分组的字段例如:(3)如果SELECT子句中出现了嵌套的统计函数,则不管有...
2019-05-17 20:26:41 189
原创 Tcp模拟实现文件上传
客户端import java.io.FileInputStream;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;import java.util.Scanner;public class Client { public static void main(String[...
2019-05-13 21:24:37 207
原创 使用反射和注解模拟BeanUtils工具
模拟工具类BeanUtils将Map和Bean互相转换的功能public class BeanUtils { private BeanUtils() {} public static <T> T MapToBean(Map<String,Object> map,Class<T> clazz) throws Exception{ T t = cl...
2019-05-10 22:02:07 189
原创 利用反射和注解简单模拟Bean容器
题目如下:已知一个包下分别有Student、Teacher、Employee三个Java源文件,请据此实现以下功能:(1)、自定义一个名为Component的注解,要求该注解只能用于类且代码运行时该注解依然有效(2)、为Student和Teacher类添加Component注解(3)、在Application类中定义静态代码块,该代码块可自动将标记有Component注解修饰的类动态创建对...
2019-05-09 19:59:19 357
原创 算法实现----链表(六)
文章目录一种怪异的节点删除方式一种怪异的节点删除方式package linked;public class RemoveNodeOnlyByValue { /**题目:一种怪异的节点删除方式 * **要求:链表节点值为int类型,给定一个链表中的节点node,但不给定整个链表的头节点 * 如何在链表中删除node?请实现这个函数,并分析其中会出现的问题。 * ...
2019-05-06 15:03:16 135
原创 算法实现----链表(五)
文章目录将单链表的每K个节点之间逆序将单链表的每K个节点之间逆序public class ReverseKNode { /**题目:将单链表的每K个节点之间逆序 * * 要求:给定一个单链表的头节点head,实现一个调整单链表的函数 * 使得每K个节点之间逆序,如果最后不够K个节点一组,则不调整最后几个节点 * * 例如:链表1>2>3...
2019-05-05 10:50:41 112
原创 算法实现----链表(四)
返回两个链表相交的节点public class FindIntersectNode { public static void main(String[] args) { // TODO Auto-generated method stub } public static class Node{ public int value; public Node next; ...
2019-05-02 14:52:18 101
原创 算法实现----链表(二)
文章目录反转部分单向链表判断一个单向链表是否是回文结构反转部分单向链表public class ReversePartLinked { /*要求:给定一个单向链表的头节点head,以及两个整数from和to, * 在单向链表上把第from个节点到第to个节点这一部分进行反转。 * 时间复杂度为O(n),空间复...
2019-04-27 20:10:10 129
原创 算法实现----链表(一)
文章目录打印两个有序链表的公共部分在单链表和双链表中删除倒数第K个节点删除链表的中间节点和a/b处的节点打印两个有序链表的公共部分要求:打印两个有序链表的公共部分给定两个有序链表的头指针head1和head2,打印两个链表的公共部分public class PrintCommon { public static void main(String[] args) { Node nod...
2019-04-25 19:19:04 132
原创 算法实现----栈和队列(三)
文章目录最大值减去最小值小于或等于num的子数组数量可见山峰对数量最大值减去最小值小于或等于num的子数组数量可见山峰对数量
2019-04-24 22:26:00 177
原创 算法与数据结构(五)------二分查找
文章目录概述局限性二分查找变式问题查找第一个值等于给定值的元素查找最后一个值等于给定值的元素查找第一个大于等于给定值的元素查找最后一个小于等于给定值的元素概述二分查找(Binary Search)算法是一种针对有序数据集合的查找算法,也叫折半查找算法。二分查找是一种非常高效的查找算法,时间复杂度仅仅为O(logn),这是一个非常“恐怖”的数量级,即便n非常非常大,对应的logn也很小。比如n...
2019-04-23 19:30:39 220
原创 算法实现----栈和队列(二)
文章目录实现栈排序实现栈排序要求: 一个栈中元素为整型,实现一个方法将该栈从顶到底按照从大到小的顺序排列只能申请一个栈和有限的变量import java.util.Stack;public class SortStackByStack { public static void main(String[] args) { Stack<Integer> stack = n...
2019-04-22 10:39:41 288
原创 算法实现----栈和队列(一)
文章目录getMin栈使用栈实现队列倒置栈猫狗队列getMin栈要求:实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中的最小元素的操作其中pop push getMin 操作的时间复杂度为O(1)设计的栈类型可以使用现成的栈结构思路:两种设计思路 都是用两个栈来实现1.当进栈的值大于栈中最小值时,minStack栈不保存;小于或等于时两个栈一起保存。出栈时...
2019-04-20 11:27:57 239
原创 算法与数据结构(五)------排序
时间复杂度为O(n²)的三种排序(1)冒泡排序//冒泡排序/* * 1.思路: 每次将数组剩余的数中最大的一个数排到最后 * 2.时间复杂度: 最好时间复杂度(原数组已排好序) O(n) * 最坏时间复杂度(原数组倒序) O(n²) * 平均时间复杂度 O(n²) * 3.空间复杂度: O(1) *...
2019-04-19 18:55:57 140
原创 算法与数据结构(四)-----递归
递归只要同时满足以下三个条件,就可以用递归来解决。(1)一个问题的解可以分解为几个子问题的解何为子问题?子问题就是数据规模更小的问题。比如,前面讲的电影院的例子,你要知道, “自己在哪一排”的问题,可以分解为“前一排的人在哪一排”这样一个子问题。(2)这个问题与分解之后的子问题,除了数据规模不同,求解思路完全一样比如电影院那个例子,你求解“自己在哪一排”的思路,和前面一排人求解“自己...
2019-04-18 21:04:42 120
原创 算法与数据结构(三)------栈和队列
栈1.先进者后出,后进者先出。方法:pop()出栈push()进栈peek()栈顶2.从栈的操作特性上来看, 栈是一种“操作受限”的线性表,只允许在一端插入和删除数据。相比数组和链表,栈是更加受限制的,并没有任何优势。那为什么不直接使用数组或者链表呢?为什么还要用这个“操作受限”的“栈”呢?从功能上来说,数组或链表确实可以替代栈。但是,特定的数据结构是对特定场景的抽象,而且,数组或链表...
2019-04-18 10:34:48 166
原创 算法与数据结构总结(二)-------数组、链表概述
数组1.线性表(Linear List)。线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。而与它相对立的概念是非线性表,比如二叉树、堆、图等。之所以叫非线性,是因为,在非线性表中,数据之间并不是简单的前后关系。2.连续的内存空间和相同类型的数据。正是因为这两个限制,才使得数组具有时间复杂度为O(1)的“随机访问”特点...
2019-04-17 14:41:18 163
原创 算法与数据结构总结(一)
一、算法与数据结构的重要性为什么要学习算法和数据结构呢?许多人认为算法和数据结构和计算机网络以及操作系统一样脱离了实际的工作知识。其实不然,这些知识都是程序员的”内功修炼“,重要性我就不多哔哔了,熟悉这些知识可以让你写出性能更优的代码,锻炼你的思维逻辑能力等等。越是厉害的公司,越是注重考察数据结构与算法这类基础知识。相比短期能力,他们更看中你的长期潜力。二、数据结构和算法的概念从广义上讲,...
2019-04-15 20:27:25 577
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人