- 博客(142)
- 收藏
- 关注
原创 解决IDEA创建Maven-archetype-webapp卡死在Generating project in Batch mode
我们使用IDEA 创建创建Maven-archetype-webapp模版时,每次都会卡死在Generating project in Batch mode这个地方,原因是IDEA会下载模版资源,下载速度慢,造成卡死。解决的办法就是我们在创建Maven项目时,配置添加一组键值对点击+号添加 archetypeCatalog-internal这样我们的项目就可以创建好了但是我们发现项目结构是不完整的,我们还需要在src->main文件下创建两个包java 和 resources。创建完成后我
2020-06-08 15:32:24 2070 3
原创 Spring学习(三)--------AOP注解操作以及事务管理
基于 aspectj 的注解操作AOP1.使用注解方式实现 aop 操作第一步 创建对象package studyDay3.aop;public class Book { public void add() { System.out.println("add...."); }}package studyDay3.aop;public class MyBook { public void before1() { System.out.
2020-06-07 16:17:26 317
原创 Spring学习(二)--------Bean注解管理和AOP
文章目录1.spring 的bean管理(注解)注解介绍准备工作使用注解创建对象注解注入属性注入属性第一个注解 @Autowired注入属性第二个注解@Resource配置文件和注解混合使用2.AOPAOP 概念aop 底层原理aop 操作术语spring 的 aop操作(基于 aspectj 的xml方式)使用表达式配置切入点log4J介绍1.spring 的bean管理(注解)注解介绍1.代码里面特殊标记,使用注解可以完成功能2.注解写法 @注解名称(属性名称=属性值)3.注解使用在类上面,方
2020-06-05 17:01:37 353
原创 Spring学习(一)----IOC理解以及Bean的使用
文章目录什么是Spring?Spring的IOC操作IOC 底层原理IOC原理:IOC 使用步骤:spring 的bean 管理(xml配置文件)Bean 实例化的方式Bean标签常用属性属性注入注入对象类型属性(重点)注入复杂类型属性IOC 和 DI 区别什么是Spring?1.spring是一个开源的轻量级框架2.spring核心主要两部分:(1)AOP:面向切面编程,扩展功能不是修改源代码实现(2)IOC:控制反转,之前:比如有一个类,在类里面有方法(不是静态的方法),调用类的方法,创建类
2020-06-04 18:14:05 281
原创 搜索引擎项目
什么是搜索引擎?1.有一个主页,有搜索框,在搜索框中输入的内容称为“查询词”。例如:百度搜索2.还有搜索结果页,包含若干条搜索结果。3.针对每一个搜索结果,都会包含查询词或者查询词的一部分和查询词具有一定的相关性。例如:上图中标红的词。4.每个搜索结果包含好几个部分:4.1标题4.2描述—通常是页面的摘要信息4.3子链接4.4展示url4.5图片4.6点击url----点击url将会跳转到目标url上搜索引擎的功能查找用户输入的查询词在哪些页面中出现过或者出现过一部分,把结果
2020-06-02 18:02:10 956 1
原创 爬虫项目Java
什么是爬虫?爬虫就是一个HTTP客户端。当我们在浏览器地址栏输入一个URL时,浏览器就会给服务器发送一个HTTP请求,服务器接收到后会返回给浏览器一个HTTP响应。爬虫就是根据需要构造请求,并且再根据需要简单的解析一下响应数据。爬虫的优势就是可以根据需要批量的获取数据。爬取的数据爬取的是GitHub上项目的一些具体信息。例如:star,fork,open_issue。然后收集这些项目的这些属性,衡量出这些项目中哪些是比较活跃/流行的。项目最终需求给awesome-java 这个项目中提到的所有的
2020-05-19 11:10:27 902 1
原创 HTTP学习总结整理
文章目录一、了解HTTP1.1HTTP原理1.2客户端与服务器端1.3为何要有应用层?1.4认识URL1.4.1URL格式二、深入学习HTTP1.HTTP协议格式1.1HTTP请求1.2HTTP响应2.HTTP常见的方法3.HTTP的状态码4.HTTP常见的Header5.Cookie和Session5.1Cookie5.2 Session5.3 Cookie和Session的区别6 HTTP和H...
2020-02-27 15:54:43 436
原创 TCP/IP学习总结整理
OSI7层模型主机与主机之间在传输数据中,数据时要通过层层处理的。假如主机A要发送给主机B一封电子邮件,这封邮件会经过上面7层的顺序进行处理:当你填写好收件人和收件人地址点击发送的按钮的那一刻 ,相当于进入了应用层,有应用层协议处理。这个协议会在所要传输的数据前端附加一个首部标签,标明了邮件内容和收件人。表示层会将数据从“某个计算机特定的数据格式”转换为“网络通用的标准数据格式”。会...
2020-02-22 17:13:16 1308
原创 对象的比较 Java
什么是比较?在计算机领域中,比较分为两种:身份的比较值的比较而在Java中主要有三种比较方式:Object.equalsComparableComparator下面我们逐个总结:== VS equalsp == q 表示的是 p 和 q 两个引用指向同一个对象p.equals(q) 表示 p 指向的对象 和 q 指向的对象是否是值语义相等的覆写前public cl...
2019-11-18 21:29:13 167
原创 Java"二叉树"小结
二叉树总结1.树形结构什么是树形结构树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起 来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个结点有零个或多个子结点;没有父 结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树。节点的度:一个节点含有的子树的...
2019-11-03 17:31:46 231
原创 Java"栈"和"队列"总结
栈什么是栈?栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据在栈顶。我们可以把压栈和出栈这个过程想像成我们在地上放了一个箱子,这时候我们给箱子里面一本书,当我们再想给箱子里放一本书的时候,我们只能把新放的一本书放在之前那本的上面...
2019-11-02 17:17:19 294
原创 Java"异常"总结
Java中什么是异常?异常通常指的是可能是你的代码在编译的时候没有任何错误,但是在运行时会出现一些异常。也可能是一些无法预料到的异常。有些错误是这样的, 例如将 System.out.println 拼写错了, 写成system.out.println. 此时编译过程中就会出 错, 这是 “编译期” 出错.而运行时指的是程序已经编译通过得到 class 文件了, 再由 JVM 执行过程中出现...
2019-10-30 21:06:09 148
原创 "泛型"和"包装类"的总结
泛型泛型是怎么来的?或者可以说泛型是满足我们的什么需要才会产生泛型?问题: 当我们创建一个只能保存 int 类型的元素的顺序表时,现在我们的需求变了,现在要保存一个 double 类型的元素或者更难一点的自己创建的 Book 类型的元素时,我们该怎么办呢?面对这个问题时,我们首先想到的就是把顺序表的元素类型定义成 object 类型。例如:public class MyArrayLi...
2019-10-29 21:15:46 190
原创 Java面向对象小结。
Java是一门面向对象编程语言,那么什么是面向对象呢?百度百科中这样描述:面向对象(Object Oriented)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向对象是相对于面向过程...
2019-10-21 18:13:35 162
原创 Java实现简单图书馆管理系统
编写图书馆管理系统思路要编写这个程序我们首相要清楚这个程序中有哪些对象,不考虑复杂情况,基本的对象有三个:书用户那么我们就分别讨论这三个对象有哪些属性和有哪些动作。书籍 它会有书名,编号(id), 作者, 类别, 价格, 是否被借 这些简单的属性用户包括:管理员和普通用户,管理员它会有姓名, 增加书籍, 删除书籍, 查找书籍, 打印所有书籍信息, 退出系统 这些简单属性。普通...
2019-10-20 22:09:57 42641 39
原创 简单链表实现Java
我们实现一个无头单向链表,它包含有4个简单的功能,增删查该,其中增我们分为头插法和尾插法还有指定位置插入。包含删除第一次出现的指定元素和删除所有出现的指定元素。查包含获取链表中有效元素个数和元素是否存在于链表中。下面是实现链表的代码class LinkedNode { public int data = 0; public LinkedNode next = null; ...
2019-09-27 18:21:36 153
原创 Java关于方法的总结
方法1.什么是方法Java 中的方法类似于 C 语言中的函数。方法(method)一定是和 类 关联在一起的。方法存在的意义:是能够模块化的组织代码做到代码被重复使用,一份代码可以在多个位置使用让代码更好理解更简单直接调用现有方法开发,不必重复造轮子Java 中的方法的定义位置,可以放在调用代码的上面,也可以放在下面。 Java 中也没有“函数声明”这样的说法。2.方法的定义...
2019-09-19 19:34:31 210
原创 Java变量和运算符的基本知识点
上图为 Java 数据类型的基本分类,下民逐个来进一步进行总结。int在 java 中 int 不分系统,固定为 4 个字节。并且在 java 中没有无符号数,只有有符号数 。 int 表示的范围大小为 -2147483648 —— 2147483647 。可以用 Integer.MAX_VALUE 取到 int 的最大值,取最小值则为 Integer.MIN_VALUE 。long在 ...
2019-09-09 22:22:10 148
转载 C语言文件总结
文件文件的基本概念 所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的, 在使用时才调入内存中来。从不同的角度可对文件作不同的分类。从用户的角度看,文件可分为普通文件和设备文件两种。普通文件是指驻留在磁盘或其它外部介质上...
2019-08-31 17:26:54 424
原创 C语言实现通讯录
#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <string.h>#define PERSONS_MAX_SIZE 200#define NAME_MAX_SIZE 1024#define PHONE_MAX_SIZE 100typedef struct...
2019-08-31 17:20:12 489
原创 C语言自定义类型小结
C语言中自定义类型的学习主要有以下3个重点:1. 结构体2. 枚举3. 联合下面就分条总结这三个重点:1.结构体结构体的定义:结构体是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。结构体的声明必须要有 struct 关键字。例如定义一个学生类型的结构体:struct Student { char name[1024];//名字 int ag...
2019-08-26 16:26:32 233
原创 模拟实现strcmp
strcmp函数是用来比较字符串的大小。它是用一种称为字典序的方法来比较,也就是如果第一个字符串中的第一个字符比第二个字符串中的第一个字符大,那它就整体大于第二个字符串,并且返回一个大于0的数字,如果小于,那么久返回一个小于0的数字,等于则比较第二个字符,以此类推,直道比较完整个字符串,如果还没返回一个大于0或者等于0的数字,那么就代表他们两个字符串相等,于是返回0;通常我们利用字符串相等返回0...
2019-08-21 17:21:49 251
原创 模拟实现qsort
qsort函数是一个标准库中快速排序的函数,他将数组中两个相邻元素进行相减(左边减右边),根据返回值来进行排序,如果返回值小于等于0 他们的位置不变,大于0将右边至于左边前面,但是排序的规则(生序还是降序)由我们来定。并且需要排序的内容中,它们的类型都是要一样的,否则就不能使用 qsort 函数。如果要模拟实现 qsort 那我们就要了解 qsort 函数的原理。首先使用 qsort 函数时我们...
2019-08-21 16:47:32 496
原创 模拟实现实现strstr
strstr函数是用来判断字符串1中的是否存在子字符串和字符串2相等,如果存在返回字符串1中子字符串首字符的地址,如果不存在则返回NULL。例如:str1[] = “abcdefg”;str2[] = “def”;strstr(str1, str2);它的返回值就是 str1 中 d 的地址。明白了它的用法,我们就可以来实现 strstr 函数。首先我们的思路就是连续对 str1...
2019-08-21 15:55:01 260
原创 C语言指针总结
C语言指针的学习主要包括以下6个重点:指针是什么指针和指针类型指针运算指针和数组二级指针指针数组下来就分条详细总结以上6个重点。1.什么是指针在计算机科学中,指针是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电 脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将 地址形象化的称为“指针”。通俗来说就是...
2019-08-19 15:24:32 230
原创 模拟实现strcat
strcat函数的用法是字符串拼接,将源字符串拼接到目标字符串的结尾位置。实现strcat的方法就是:找到目标函数的终止位置,也就是 ‘\0’ 的位置.然后我们将 ‘\0’ 和之后的内容替换成源字符串的内容。#include <stdio.h>#include <stdlib.h>#include <assert.h>//因为我们是将源字符串拷贝给目...
2019-08-17 15:55:06 298
原创 C语言操作符总结
要学懂操作符,首先我们要知道什么是操作符。“操作符”是嵌在每一条指令中的,也就是说指令系统的每一条指令都有一个操作符。首先操作符分为以下10个大类:算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用,函数调用和结构成员现在详细介绍每一种操作符:1.算术操作符符号: + - * / %+:分别用于整...
2019-07-06 16:24:22 273
原创 将二进制位的某一位变为1或0。
#include <stdio.h>int main(){ int num = 9; int n = 3; // n为想将第n位变为1或0; //将二进制的第n位变为1. int ret = num | (1 << 3); printf("%x\n", ret); //将二进制的第n位变为0. int ret = n...
2019-07-05 14:54:31 9241 2
原创 归并排序 Java
归并排序的原理归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子 序列段间有序。归并排序的实现public class Sort { public static void mergeSort(int[] arra...
2019-11-18 19:59:08 230
原创 快速排序 Java
快速排序原理从待排序区间选择一个数,作为基准值(pivot);Partition: 遍历整个待排序区间,将比基准值小的(可以包含相等的)放到基准值的左边,将比基准值大的(可以包含相等的)放到基准值的右边;采用分治思想,对左右两个小区间按照同样的方式处理,直到小区间的长度 == 1,代表已经有序,或者小区间的长度 == 0,代表没有数据。快速排序的实现public class S...
2019-11-18 19:40:28 191 1
原创 冒泡排序 Java实现
冒泡排序的原理在无序区间,通过相邻数的比较,将最大的数冒泡到无序区间的最后,持续这个过程,直到数组整体有序冒泡排序实现public class Sort { public static void bubbleSort(int[] array) { for (int bound = 0; bound < array.length; bound++) { ...
2019-11-18 19:20:47 148
原创 堆排序 Java
堆排序的原理基本原理也是选择排序,只是不在使用遍历的方式查找无序区间的最大的数,而是通过堆来选择无序区间的最大的 数。注意: 排升序要建大堆;排降序要建小堆。堆排序实现升序为例public class heapSort { public static void heapSort(int[] array) { //根据给的数组来创建堆 creatHeap...
2019-11-18 19:12:53 154
原创 Java实现堆
什么是堆?要想实现堆,先要知道什么是堆和堆都有那些操作。**堆(英语:heap)**是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树。通俗的说堆是使用数组保存二叉树结构,方式即将二叉树用层序遍历方式放入数组中。 一般只适合表示完全二叉树,因为非完全二叉树会有空间的浪...
2019-11-18 18:59:18 567
原创 选择排序 Java
直接选择排序-原理每一次从无序区间选出最大(或最小)的一个元素,存放在无序区间的最后(或最前),直到全部待排序的数据元素排完 。//升序public static void selectSort(int[] array) { for (int bound = 0; bound < array.length; bound++) { //待排序区间[bound, a...
2019-11-13 22:52:39 146
原创 希尔排序 Java
希尔排序法又称缩小增量法。希尔排序法的基本思想是:先选定一个整数,把待排序文件中所有记录分成个组,所有 距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取重复上述分组和排序的工作。当到达=1时, 所有记录在统一组内排好序。希尔排序是对直接插入排序的优化。当gap > 1时都是预排序,目的是让数组更接近于有序。当gap == 1时,数组已经接近有序的了,这样就会很快。这样整体...
2019-11-13 22:42:36 294
原创 插入排序 Java
插入排序的原理:将整个数组分为两个区间:已排序区间 [0 bound);待排序区间 [bound cur);具体操作:每次在待排序区间选择第一个元素,在有序区间从后往前和这个元素进行比较,在符合排序规则的位置进行插入。如果不满足,那么就将已经排序区间的元素往后挪一位。...
2019-11-13 22:05:06 160
原创 LeetCode 155. 最小栈
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);min...
2019-11-07 22:21:34 140
原创 杨辉三角Java
什么是杨辉三角?杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。这样的三角形排列就被称为杨辉三角。我们能发现一些规律:每一行的第一个元素和最后一个元素是1每一行除了第一个和最后...
2019-11-07 21:34:50 247
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人