自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (6)
  • 收藏
  • 关注

原创 设在文件a.txt和文件b.txt中分别存有两个字符串,将两字符串按依次序交叉的方式合并为一个字符串,并将结果存入文件a.txt中。

问题描述:设在文件a.txt和文件b.txt中分别存有两个字符串,设计一个程序将这两字符串按依次序交叉的方式合并为一个字符串(例如"aaaa"与"bbb"合并结果为"abababa",而"bbb"与"aaaa"合并结果为"bababaa"),并将结果存入文件a.txt中。(C语言实现)解题思路:...

2020-02-06 22:26:15 4240 2

原创 Linux 常用命令学习笔记

lsls -lls -acd [目录]pwdrm [文件]rm -r [目录]cat [文件]head [文件]tail [文件]

2023-09-27 19:29:16 357

原创 Java 8 CompletableFuture 学习及实践笔记

CompletableFuture 是 Java 8 引入的一个强大的异步编程工具,它提供了一种简洁而灵活的方式来处理异步操作和构建复杂的异步流程。

2023-09-27 16:34:39 181

原创 Java单例模式学习笔记(四种方式)

什么是单例模式?单例模式是 Java 中最简单,也是最基础,最常用的设计模式之一。在运行期间,保证某个类只创建一个实例,保证一个类仅有一个实例,并提供一个访问它的全局访问点。下面就来讲讲Java中的N种实现单例模式的写法。饿汉式public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { } public static

2021-10-04 16:27:37 337 1

原创 RabbitMQ实战——异步处理

rabbitmq一个典型的使用场景就是异步处理场景说明:用户注册后,向用户发注册邮件和注册短信。我们在进行以上场景开发时,通常会使用两种方式实现。串行的方式在没有mq中间件之前,我们通常使用这种方式实现,实现起来很容易,比如先将用户信息插入数据库,然后发送成功注册的邮件、短信。以上三个任务完成后才会给用户响应,但我们应该都知道,对于邮件、短信,对于系统核心业务来说这都不是必须马上发送的,这样的实现方式无非会增加系统的响应时间,甚至给用户带来不好的体验。可以认为就是一个线程在串行执行三个任务。

2021-09-23 13:53:19 9193 2

原创 剑指offer_JZ11_二进制中1的个数

剑指offer_JZ11_二进制中1的个数题目描述输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。示例1输入:10返回值:2思路如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后,第三位变成0,它后面的两位0变成了1,而前面的1保

2021-03-20 12:36:25 226

原创 剑指offer_JZ30_连续子数组的最大和

剑指offer_JZ30_连续子数组的最大和题目描述输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n).示例1输入:[1,-2,3,10,-4,7,2,-5]返回值:18说明:输入的数组为{1,-2,3,10,—4,7,2,一5},和最大的子数组为{3,10,一4,7,2},因此输出为该子数组的和 18。思路动态规划问题。dp[n]代表以当前元素为截止点的连续子序列的最大和,如果dp[

2021-03-20 11:37:27 132

原创 剑指offer_JZ34_第一个只出现一次的字符

剑指offer_JZ34_第一个只出现一次的字符问题描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)示例1输入“google”返回值4思路1(借助HashMap)因为他的字符串长度是有限的,而且我们需要找到只出现一次的字符,我们可以首先考虑用Hashmap这样的数据结构来把所有出现过的字符和他们对应的出现次数记录下来。接着,因为我们需要找到第一

2021-03-08 21:34:13 80

原创 剑指offer_JZ38_二叉树的深度

剑指offer_JZ38_二叉树的深度题目:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。示例1:输入:{1,2,3,4,5,#,6,#,#,7}返回值:4思路1(借助队列):借助队列按照二叉树层次顺序存取,首先把根节点加入队列,queue.add(root); 之后使用循环(当队列size()不为0时),先取出队头元素(第一次队头为根节点),判断该节点是否有左右孩子,若有则入队。每一层不停入队出队,值

2021-03-07 11:30:00 80

原创 剑指offer_JZ6_旋转数组的最小数字

剑指offer_JZ6_旋转数组的最小数字思路1:思路2:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。示例:输入:[3,4,5,1,2]返回值:1思路1:1.数组为空,返回02.部分旋转,如:【1,2,3,4,6,8,9】 部分旋转后:【4,6,8,9,1,2,3】3.整体旋转,如:【1,2,3,4,6,8,9】import java

2021-03-03 10:49:42 83

原创 排序算法之 归并排序及时间复杂度分析

排序算法之 冒泡排序及性能优化(时间复杂度+空间复杂度分析)排序算法之 简单选择排序及时间复杂度分析排序算法之 直接插入排序及时间复杂度分析排序算法之 希尔排序及时间复杂度分析排序算法之 快速排序及时间复杂度分析排序算法之 堆排序及时间复杂度分析归并排序归并排序是建立在归并操作上的一种有效排序算法,该算法是采用分治法的一个典型应用。这里的分治如何理解?比如我们要统计本县城的高考状元,而一个县城中有很多中学,每个中学又有若干个班级,每个班级有若干名学生,每个学生是一个单独个体,看成数组中.

2020-05-12 20:13:53 6286 1

原创 排序算法之 堆排序及时间复杂度分析

排序算法之 冒泡排序及性能优化(时间复杂度+空间复杂度分析)排序算法之 简单选择排序及时间复杂度分析排序算法之 直接插入排序及时间复杂度分析排序算法之 希尔排序及时间复杂度分析排序算法之 快速排序及时间复杂度分析堆排序堆的概念:本质是一种数组对象。特别重要的一点性质:任意的叶子节点小于(或大于)它所有的父节点。对此,又分为大顶堆和小顶堆,大顶堆要求节点的元素都要大于其孩子,小顶堆要求节点元素都小于其左右孩子,两者对左右孩子的大小关系不做任何要求。利用堆排序,就是基于大顶堆或者小顶堆的一种排.

2020-05-11 18:01:23 7591 2

原创 排序算法之 快速排序及时间复杂度分析

排序算法之 冒泡排序及性能优化(时间复杂度+空间复杂度分析)排序算法之 简单选择排序及时间复杂度分析排序算法之 直接插入排序及时间复杂度分析排序算法之 希尔排序及时间复杂度分析快速排序科普: 快速排序算法最早由图领奖获得者Tony Hoare设计出来的,是上世界最伟大的计算机科学家之一。更牛的是,快速排序算法被列为20世界十大算法之一。基本思想:挖坑法+分治法从序列中选择一个基准数pivot [可以选择序列中的第一个数为pivot]将序列中所有数依次遍历,同时比基准数pivot大的放在.

2020-05-10 20:16:55 3029

原创 排序算法 之希尔排序及时间复杂度分析

排序算法之 冒泡排序及性能优化(时间复杂度+空间复杂度分析)排序算法之 简单选择排序及时间复杂度分析排序算法之 直接插入排序及时间复杂度分析希尔排序算法思想:将整个待排序列分割成若干个子序列(由相隔增量个元素组成),分别进行直接插入排序,然后依次缩小增量再进行排序,待整个序列中的元素基本有序时,再对全体元素进行一次直接插入排序。希尔排序的实现应该由三个循环完成(1)第一次循环,将增量d依次折半,直到增量d=1(2)第二三层循环,也就是直接插入排序所需要的两次循环。算法实现#inclu.

2020-05-09 16:18:26 18313 8

原创 排序算法之 直接插入排序及时间复杂度分析

排序算法之 冒泡排序及性能优化(时间复杂度+空间复杂度分析)排序算法之 简单选择排序及时间复杂度分析直接插入排序直接插入排序的核心思想就是:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过。因此,从上面的描述中我们可以发现,直接插入排序可以用两个循环完成:第一层循环:遍历待比较的所有数组元素第二层循环:将本轮选择的元素与前面已经排好序的元素相比较,若当前元素小,则进行交换算法实现int i,j,insertVal;fo.

2020-05-08 23:26:02 18295 2

原创 排序算法之 简单选择排序及时间复杂度分析

排序算法之 冒泡排序及性能优化(时间复杂度+空间复杂度分析)简单选择排序基本思想:比较+交换1. 从待排序序列中,找到关键字最小的元素;2. 如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换;3. 从余下的 N - 1 个元素中,找出关键字最小的元素,重复(1)、(2)步,直到排序结束。因此我们可以发现,简单选择排序也是通过两层循环实现。第一层循环:依次遍历序列当中的每一个元素第二层循环:将遍历得到的当前元素依次与余下的元素进行比较,符合最小元素的条件,则交换。排序算法实.

2020-05-08 18:52:59 8999

原创 C语言画棒棒糖

#include <stdio.h>#include <stdlib.h>#include <time.h>#include <windows.h>int main(){ char title[200]; HWND hwnd; RECT rect; POINT pt; HDC hdc; int i; HPEN hpen; ...

2020-05-07 19:49:50 1754

原创 排序算法之 冒泡排序及性能优化(时间复杂度+空间复杂度分析)

冒泡排序算法是一种最简单且很实用的一种排序算法,其属于交换排序的一种(还有一种是快速排序算法)。冒泡算法思想将序列中的左右元素,依次比较,保证右边的元素始终大于左边的元素(第一轮结束后,序列最后一个元素一定是当前序列的最大值)对序列当中剩下的n-1个元素,再执行上一步操作,直到没有反序的记录为止对长度为n的序列,一共需要执行n-1轮比较冒泡算法实现int i,j,t...

2020-05-07 18:57:00 3597 1

原创 Java发邮件之MailUtils小工具

上一篇博客(Java发邮件(详解+源代码))今天介绍一个超级方便的发邮件小工具——MailUtils使用到的jar包@Testpublic void fun() throws Exception { /* * 1. 得到session * 第一个参数:主机名 * 第二个参数:用户名 * 第三个参数:授权码 */ Session session = Mai...

2020-05-05 22:10:03 278

原创 Java发邮件(详解+源代码)

Java发送邮件一、邮件概述(1)收发邮件发邮件大家都会吧!发邮件是从客户端把邮件发送到邮件服务器,收邮件是把邮件服务器的邮件下载到客户端。我们在163、126、QQ等网站注册的Email账户,其实就是在邮件服务器中注册的。这些网站都有自己的邮件服务器。(2)邮件协议与HTTP协议相同,收发邮件也是需要有传输协议的。SMTP:(Simple Mail Transfer Proto...

2020-05-04 19:52:55 1056 5

原创 心态崩了?int p[4];int (*p)[4];和int *p[4];三种数组定义详解

三种定义数组形式的区别int p[4];int (*p)[4];int *p[4];初学C语言时,很难分清楚到底三者有何区别,尤其还涉及c语言的灵魂——C指针,下面,我将详细介绍一下三种定义方式,希望对正困惑的你有所帮助。1.分析第一种方式——int p[4];我相信接触过数组的,不管是任何所学的编程语言,这种定义应该最常见也最方便理解的吧。1.1定义解释int p[4];表示...

2020-05-03 21:34:35 16896 14

原创 处理斐波那契数列两种方式(详解,C语言)

使用迭代以及数组两种方式处理Fibonacci数列Fibonacci数列特点:第1、2两个数为1、1,从第3个数开始,该数是其前面两个数之和。斐波那契数列可以用一下数学形式表示:f(1) = 1 当(n = 1)时f(2) = 1 当(n = 2)时...f(n) = f(n - 1) + f(n - 2) 当(n >= 3)...

2020-05-02 23:06:01 4233 4

原创 统计一行字符串的单词个数(详解,C语言)

统计字符串中的单词个数问题简述:输入一行字符,统计其中有多少个单词,单词之间用空格分开输入样例:I want to be a postgraduate.输出样例:There are 6 words in this line.解题思路:采用空格统计单词的方法:空格出现的次数(连续的若干个空格作为出现一次空格;一行开头的空格不统计在内)决定单词个数。【具体做法】:从第一个字符开始...

2020-05-01 10:20:58 20215 11

原创 数据结构排序算法综合运用及比较(C语言实现)

排序算法综合及效率比较实验目的实验内容实验要求实验步骤概要设计详细设计软件测试设计总结源程序代码1.实验目的(1)熟练掌握几种经典排序的算法(如冒泡排序、选择排序、插入排序、希尔排序、折半插入排序、快速排序、归并排序、堆排序等)。培养综合运用所学知识,根据具体问题进行数据结构设计和算法设计的能力。(2)熟练掌握简单的演示菜单与人机交互设计方法。2.实验内容(1)用r...

2020-04-29 20:30:09 9002 6

原创 SSH框架整合

SSH三大框架整合1.struts22.hibernate5.x3.spring4.xHibernate框架hibernate核心配置文件(1)数据库信息(2)hibernate信息(3)映射配置(4)hibernate核心配置文件---- 如果单纯使用hibernate框架,核心配置文件名称 hibernate.cfg.xml和位置 src下面 固定的---- hibe...

2020-04-27 21:57:59 178 1

原创 Spring框架学习笔记——03

Spring的jdbcTemplate操作spring框架一站式框架(1)针对javaee三层,每一层都有解决技术(2)在dao层,使用 jdbcTemplatespring对不同的持久化层技术都进行封装jdbcTemplate对jdbc进行封装jdbcTemplate使用和dbutils使用很相似,都数据库进行crud操作jdbcTemplate使用的jar包:Sprin...

2020-04-26 21:08:37 119

原创 Spring框架学习笔记——02

Spring的bean管理(注解)注解介绍代码里面特殊标记,使用注解可以完成功能注解写法 @注解名称(属性名称=属性值)注解使用在类上面,方法上面 和 属性上面Spring注解开发准备导入jar包(1)导入基本的jar包(2)导入aop的jar包创建类,创建方法创建spring配置文件,引入约束(1) 引入约束beans(2) 做spring的ioc注解开发,引入...

2020-04-25 12:27:31 147

原创 Spring框架学习笔记——01

Spring概念spring是开源的轻量级框架spring核心主要两部分:(1)aop:面向切面编程,扩展功能不是修改源代码实现(2)ioc:控制反转控制反转:比如有一个类,在类里面有方法(不是静态的方法),调用类里面的方法,创建类的对象,使用对象调用方法,创建类对象的过程,需要new出来对象把对象的创建不是通过new方式实现,而是交给spring配置创建类对象sprin...

2020-04-24 10:58:06 144

原创 Struts2框架学习笔记——04

Struts2拦截器概述struts2是框架,封装了很多的功能,struts2里面封装的功能都是在拦截器里面struts2里面封装了很多的功能,有很多拦截器,不是每次这些拦截器都执行,每次执行默认的拦截器struts2里面默认拦截器位置struts2-core-2.3.24.jar --> struts-default.xml拦截器在action对象创建之后,action的方法执...

2020-04-22 22:54:12 131

原创 Struts2框架学习笔记——03

OGNL和以前学的jstl差不多之前web阶段,学习过EL表达式,EL表达式在jsp中获取域对象里面的值OGNL是一种表达式,这个表达式功能更加强大(1)在struts2里面操作值栈数据(2)一般把ognl在struts2操作:和struts2标签一起使用操作值栈OGNL不是struts2的一部分,单独的项目,经常和struts2一起使用(使用ognl时候首先导入jar包,...

2020-04-20 19:25:04 136

原创 计算两个矩阵乘积(两种方式实现)(C语言)

题目描述计算两个矩阵的乘积,第一个是 2 * 3,第二个是 3 * 2输入输入为两个矩阵,其中一个为 2 * 3 的矩阵,另一个为 3 * 2 的矩阵输出一个 2 * 2 的矩阵(每一个数字后都跟一个空格)样例输入1 2 33 4 56 78 910 11样例输出52 58100 112矩阵乘法定义方法一 (循环实现):int i,j,k;int matr...

2020-04-20 10:34:27 33741 2

原创 Struts2框架学习笔记——02

结果页面配置1.全局结果页面result标签配置action方法的返回值到不同的路径里面创建两个action,执行默认的方法execute方法,让两个action的方法都返回success,返回success之后,配置到同一个页面里面(1)如果多个action,方法里面返回值相同的,到页面也是相同的,这个时候可以使用全局结果页面配置(2)在package标签里面配置2.局部结果...

2020-04-19 22:59:22 144

原创 Struts2框架学习笔记——01

Struts2概述struts2框架应用javaee三层结构中web层框架struts2框架在struts1和webwork基础之上发展全新的框架struts2解决问题:web层常见框架(1)struts2(2)springMVCStruts2框架入门第一步 导入jar包第二步 创建action第三步 配置action类访问路径(1)创建struts2核心配置文件--...

2020-04-18 21:15:02 170

原创 Hibernate框架学习笔记——04

Hibernate查询方式对象导航查询----根据id查询某个客户,再查询这个客户里面所有的联系人OID查询----根据id查询某一条记录,返回对象HQL查询----Query对象,写hql语句实现查询QBC查询----Criteria对象本地sql查询----SQLQuery对象,使用普通sql实现查询1.对象导航查询例:查询某个客户里面所有联系人...

2020-04-17 12:26:45 148

原创 Hibernate框架学习笔记——03

表与表之间关系1.表关系分析数据库中多表存在着三种关系,也就是系统设计中的三种实体关系2.表与表的三种关系2.1一对多(重点)1 一对多(1)分类和商品关系,一个分类里面有多个商品,一个商品只能属于一个分类(2)客户和联系人是一对多关系- 客户:与公司有业务往来,百度、新浪、360- 联系人:公司里面的员工,百度里面有很多员工,联系员工** 公司和公司员工的关系- ...

2020-04-12 22:45:58 149

原创 C语言概述

C语言概述你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置...

2020-04-09 22:25:05 721

原创 Linux学习之操作系统科普

操作系统(Operation System,OS)操作系统作为接口的示意图没有安装操作系统的计算机,通常被称为 裸机如果想在 裸机 上运行自己所编写的程序,就必须用机器语言书写程序如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级语言开发程序操作系统的作用是现代计算机系统中 最基本和最重要 的系统软件是 配置在计算机硬件上的第一层软件,是对硬件系...

2020-04-09 22:22:57 155

原创 Hibernate框架学习笔记——02

实体类编写规则实体类里面属性私有的私有属性使用公开的set和get方法操作要求实体类有属性作为唯一值(一般使用id值)实体类属性建议不使用基本数据类型,使用基本数据类型对应的包装类(1)八个基本数据类型对应的包装类- int – Integer- char—Character、- 其他的都是首字母大写 比如 double – Double(2)比如 表示学生的分数,假如 in...

2020-04-09 12:16:09 153

原创 Hibernate框架学习笔记——01

什么是框架?简单来说:写程序,使用框架之后,帮我们实现一部分功能,使用框架好处,少写一部分代码实现功能什么是Hibernate框架?hibernate框架应用在javaee三层结构中 dao层框架在dao层里面做对数据库crud操作,使用hibernate实现crud操作,hibernate底层代码就是jdbc,hibernate对jdbc进行封装,使用hibernate好处,不需要写复...

2020-04-09 11:48:55 164

原创 统计某类完全平方数(C语言)

统计某类完全平方数(C语言实现)问题简述:本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。函数接口://其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。int IsTheNumber ( const int N ); 输入样例:105 500输出样例:cnt = 6解题思路:首先...

2020-02-05 15:45:57 4977

mysql驱动jar包.rar

mysql驱动

2021-03-01

apache-tomcat-7.0.85.rar

apache-tomcat-7.0.85.rar

2021-03-01

eclipse-inst-win64.rar

eclipse-inst-win64.rar

2021-03-01

jdk-8windows-x64.rar

jdk1.8

2021-03-01

mysql5.5+Navicat.rar

mysql5.5+Navicat

2021-03-01

javamail相关jar包.zip

activation.jar;mail.jar;itcast-tools-1.4.2.jar发邮件小工具

2020-05-04

空空如也

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

TA关注的人

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