自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 消息队列大总结(精华)

为什么使用消息队列:场景:解耦,异步,削峰。 解耦 如果某个系统与多个系统之间耦合度很大,可以加入消息队列,这个系统产生一条数据发送到消息队列中,其他系统从消息队列取出自己想要的数据,进行异步化解耦。 异步 将不必及时处理的操作,放到MQ中,然后直接返回结果,最后再从消息队列中慢慢处理。 削峰 在某个时间段,突增的请求,可能会使数据库崩溃,先把数据放到MQ,然...

2020-02-13 18:12:15 258

原创 Linux的小知识之面试高频

Linux:cattacmorelessheadtail----cut -d,-f,-csort -f,-n,-r,-t,-k,-uuniq -c,-iteetr -dgrep -c,-i,-n,-vawk '{$1,$3}'-----------------ps -lps -auxps -aux|grep threadxpstree -Atoptop ...

2020-03-21 11:40:02 247

原创 用HashMap+双向链表实现LRU Cache

HashMap和双向链表能保证删除加入是O(1)的。存在get,set,remove,setHead等函数,完整代码如下import java.util.HashMap;public class LRU { int capacity; HashMap<Integer,Node> map=new HashMap<>(); Node hea...

2020-03-17 22:10:18 272

原创 阻塞队列实现消费者生产者模式

使用ArrayBlockQueue。import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;public class LYJ { private static BlockingQueue<String> queue=new ArrayBlocki...

2020-03-17 22:04:31 231

原创 GyHnJmjaCU

搬家牛客

2020-02-06 18:45:25 90

原创 手动实现IOC

加载简单IOC容器分为四部分1.加载xml文件,遍历其中标签2.获取标签中的class,id,加载class属性对应的类,加载标签属性3,利用反射遍历标签,加载属性值,填充到bean4将bean注册到bean容器firstIOC:IOC的实现类firstIOCTest:IOC的测试类Hero:测试类使用的beanSkill:属性ioc.xml:bean配置文件packag...

2020-01-06 14:16:45 251

原创 java容器(java面试二)

容器主要包括Collection和Map两种,Collection存储着对象的集合,而Map存储着键值对(KV)的映射表。Collection:Set SortedSet(Interface)--->TreeSet 基于红黑树实现,支持有序性操作,查找时间复杂度O(logn) HashSet 基于哈希表实现,支持快速查找,时间复杂度O(1),但不支持有序性操作,散...

2020-01-03 22:58:06 105

原创 java基础总结(java面试一)

八大数据类型:字节型 byte(Byte)/8 浮点型 float(Float)/32 double(Double)/64 布尔型 boolean(Boolean)/~ 字符型 char(Character)/16 整型 short(Short)/16 int/(Integer)32 long(Long)/64 boolean 只有两个值:t...

2020-01-02 16:50:16 126

原创 哈夫曼编码(java版+详细代码)

哈夫曼编码:根据数据出现的频率对数据进行编码,从而压缩原始数据。例如对一个文本we年其中各种字符出现的次数;a:10b:20c:40d:80我们可以把啊,abcd,设为00,01,10,11,但是这样没有考虑权值频率。哈夫曼编码采用的是贪心算法,使出现频率最高的编码路径最短,这样总路径就最短。实现如下;首先生成一颗哈夫曼树,每次生成过程中,选出频率最小的两个...

2019-12-24 20:15:32 2427 1

原创 散列表总结(散列函数,拉链法,线性探测法)

散列表类似于数组,可以把散列表的散列值看成数组的索引值,访问散列表和访问数组元素一样快速,他可以在常数时间内实现查找和插入操作。由于无法通过散列值知道键的大小,因此散列表无法实现有序性操作。散列函数对于一个大小为M的散列表,散列函数能够把任意的数转换成【0,M-1】内的正整数,该正整数即为hash值。散列表存在冲突,也就是两个不同的键可能有相同的hash值。散列函数...

2019-12-24 19:36:42 2078

原创 2-3查找树和红黑树

2-3查找树引入2-节点和3-节点,目的为了让树平衡。一颗完美平衡的2-3查找树的所有空链接到根节点的距离应该是相同的。插入操作插入操作和BST的插入操作有很大区别,BST的插入操作是先进行一次未命中的查找,然后再将节点插入到对应的空链表上,但是2-3查找树如果也这么做的话,那么就会破坏平衡性。它是将新节点到叶子节点上。根据叶子节点的类型不同,有不同的处理方式:如果插入到2-节...

2019-12-24 09:44:08 310

原创 二叉查找树

概念首先我们要了解二叉树和二叉查找树的概念二叉树是一个空连接,可以有左右子树,每个链接都能指向自己的子树。二叉查找树每个节点的值都大于等于左子树的所有节点,小于等于右子树的所有节点。BST有个重要性质:中序遍历递增。方法get如果树是空的返回空如果相等,直接返回小于,递归左子树大于,递归右子树方法put如果root为空,新建一个如果插入的存在,覆盖不存在,新建一个,然后...

2019-12-23 20:12:28 213

原创 符号表

介绍符号表是一种键值对的数据结构,可以快速查找分为有序和无序两种。有序的可以实现min,max,根据键的大小来实现的操作。所以需要实现Compareable接口。链表实现无序符号表import javax.xml.soap.Node;public class ListUnorderedST<Key,Value> implements UnorderedST<Key,...

2019-12-23 18:57:58 286

原创 栈和队列的实现(数组实现,链表实现)

栈的实现方式##数组实现public interface MyStack<Item> extends Iterable<Item>{ MyStack<Item> push(Item item); Item pop() throws Exception; boolean isEmpty(); ...

2019-12-23 17:12:02 278

原创 排序大总结(冒泡,选择,希尔,快排(及其优化),堆排序,插入排序,归并排序)

#排序模板public abstract class Sort<T extends Comparable<T>> { public abstract void sort(T[] nums); protected boolean less(T v,T w){ return v.compareTo(w)<0; } pr...

2019-12-23 17:10:45 1189

原创 使用前缀树解决敏感词过滤

package com.nowcoder.service;import org.apache.commons.lang.CharUtils;import org.apache.commons.lang.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframewor...

2019-12-14 17:05:59 253

原创 操作系统总结(五)-死锁

四个必要条件:互斥:每个资源要么已经分配给了一个进程,要么就是可用的 占有和等待:已经得到了某个资源的进程可以在请求新的资源。 不可抢占:已经分配给一个进程的资源不能强制性的被抢占,他只能被占有他的进程显示的释放。 循环等待:有两个或者两个以上进程组成一条环路,环路的每个进程都在等待下一个进程释放占有的资源。处理方法:鸵鸟策略 把头埋进沙子里,,假装根本没发生问题。 因为解决...

2019-12-02 20:27:53 156

原创 操作系统总结(四)

磁盘结构盘面(Platter):一个磁盘有多个盘面;磁道(Track):盘面上的圆形带状区域,一个盘面可以有多个磁道;扇区(Track Sector):磁道上的一个弧段,一个磁道可以有多个扇区,它是最小 的物理储存单位,目前主要有 512 bytes 与 4 K 两种大小;磁头(Head):与盘面非常接近,能够将盘面上的磁场转换为电信号(读),或者 将电信号转换为盘面的磁场(写);...

2019-12-02 20:27:12 170

原创 操作系统(三)

虚拟内存虚拟内存的目的是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。为了更好的管理内存,操作系统将内存抽象成地址空间,每个程序拥有自己的地址空间,这个地址空间被分割成多个块,每一块称为一页,这些页被映射到物理内存,但不需要映射到连续的物理内存,也不需要所有页都必须在物理内存,当程序引用到不在物理内存中的页时,由硬件执行必要的映射,将缺失的部分装入物理内存并重新执行失败...

2019-12-02 20:26:27 136

原创 操作系统总结(二)

进程 进程是资源分配的基本单位 进程控制块(process control block,PCB)描述进程的基本信息和运行状态,所谓的创建进程和撤销进程都是对PCB的操作。 线程 线程是独立调度的基本单位 一个进程中可以有多个线程他们共享进程资源。 QQ和浏览器是两个进程,浏览器进程里有很多线程,例如HTTP请求线程,事件响应线程,渲染线程等,线程的并发执行使得在浏览器点击一个...

2019-12-02 20:25:40 122

原创 操作系统总结(一)

基本特征 并发、并行 并发是指宏观上在一段时间内能同时运行多个程序, 并行是同一时刻能运行多个指令。 并行需要硬件支持,如多流水线,多核处理器或者分布式计算系统 操作系统通过引入进程和线程,使得程序能够并发执行。 共享 共享是指系统中的资源可以被多个并发进程同时使用。 两种共享方式:互斥共享,同时共享 互斥共享的资源称为临界资源,例如打印机在同一时...

2019-12-02 20:24:43 91

原创 Java实现多线程下载工具类(网上下载百度图片)

DownUtil类package loading;import java.io.InputStreamReader;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import...

2019-05-13 19:32:47 620

原创 java 生成一个六位随机字符串(小写字母)

package 算法题目;//生成一个六位随机字符串public class RandomStr { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Born b=new Born...

2019-04-11 15:17:54 2988

原创 Java,bubble排序,对数器的使用

package 算法题目;import java.util.*;public class Demo_Test { public static void bubbleSort(int[] arr) { if (arr == null || arr.length < 2) { return; } for (int...

2019-04-11 10:19:11 153

原创 HashMap和Hashtable的区别

HashMap和Hashtable都是Java集合类,可以用来存放Java对象区别:一:历史原因:Hashtable是基于陈旧的Dictionary,HashMap是java 1.2引进的Map接口的实现二:同步性Hashtable是同步的,这个类中的一些方法保证了Hashtable中的对象是线程安全的,而HashMap是异步的,因此HashMap不是线程安全的,同步会影响执行...

2019-04-09 09:47:14 78

原创 java HashMap

package 集合;import java.util.*;public class 向量 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //创建一个hashmap对象...

2019-04-09 09:14:44 93

原创 Java编写信息管理系统(demo)

package 集合;import java.util.*;import java.io.*;public class 信息管理系统 { /** * @param args */ public static void main(String[] args)throws Exception { // TODO Auto-generated ...

2019-04-08 21:41:16 1394

原创 Java丢手绢,约瑟夫问题(使用链表)

/*** 丢手绢问题*/package practice1;public class lianxi { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub CycLink c...

2019-04-01 13:15:34 268

原创 牛客网剑指offer02,替换空格。

所示请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy时间限制:1秒空间限制:32768K首先我们从前往后遍历记录空格数目,从后往前插入‘%20’,从后往前的好处体现在:如图所示:在从前向后遍历的过程得到了空格数count=2;如果我们要从前往后遍历加元素,那么第3-5要移动(c...

2019-03-28 09:26:43 111

原创 牛客网剑指offer01,二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。时间限制:1秒空间限制:32768K解析:我们首先可以判断出这是一个有序数组,类似于1 2 3 4 5 6 7 8 9 10 11 ...

2019-03-27 20:40:24 208

原创 c++读写文本文件

fout表示写操作fin表示读操作;#include<iostream>#include<bits/stdc++.h>using namespace std;int main(){ fstream fout("test.txt"); if(!fout) { cout<<"fail"<<endl;...

2019-03-25 14:53:16 188

原创 对Point类进行重载++,--运算符

#include<iostream>#include<bits/stdc++.h>using namespace std;class Point{ private: int x,y; public: Point(int a=0,int b=0) { x=a; y=b; } ...

2019-03-23 20:20:08 3689 1

原创 定义计数器counter,重载运算符+

#include<iostream>#include<bits/stdc++.h>using namespace std;class counter{ private: int i; public: counter(){} counter(int p){i=p;} ~counter(){}...

2019-03-23 17:09:19 4047

原创 下标运算符“[]"重载

#include<iostream>#include<bits/stdc++.h>using namespace std;class IntArray{ private: int *a; int sz; public: IntArray(int size) { s...

2019-03-23 11:30:56 713

原创 定义三个类A,B,C,其中B继承于A,C继承于B,都包含f(),用于表明当前执行的是哪个类的f()

#include<iostream>#include<bits/stdc++.h>using namespace std;class A{ public: A(){cout<<"create A"<<endl;} virtual ~A(){cout<<"conustructing A"&lt...

2019-03-22 22:01:23 3092

原创 定义一个shape 在此基础上派生出Rectangle 和Circle,二者都有GetArea和GetPrim

#include<iostream>#include<bits/stdc++.h>using namespace std;class shape{ public: shape(){}; virtual ~shape(){} virtual double GetArea()=0; virtual ...

2019-03-22 20:59:29 8793

原创 设计一个类A,编写search,实现在数组a的前n个元素中顺序查找值为x的元素并返回下标

#include<bits/stdc++.h>using namespace std;class S{ private: int *a; int n; int MS; public: void INit(int aa[],int nn,int ms) { if(...

2019-03-21 10:04:01 3406 2

原创 c++计算两点之间的距离

#include<bits/stdc++.h>using namespace std;class point{ private: int a; int b; public: point(int x=0,int y=0) { a=x; b=y; ...

2019-03-20 21:39:27 15855 4

原创 创建一个employee,用字符数组包含姓名,街道地址,市,省,邮政编码,并且输出完成数据

#include<bits/stdc++.h>using namespace std;class employee{ private: char name[10]; char address[20]; char city[10]; char province[15]; char pcode[30]...

2019-03-20 20:28:43 7100

原创 编写 一个程序, 输入N个学生数据,包括学号,姓名,成绩,要求输出这些学生数据并计算平均分

#include<bits/stdc++.h>using namespace std;class Student{ private: int no; char name[10]; int deg; static int sum; static int num; public: ...

2019-03-20 20:13:27 35169

会员卡计费系统.docx

附有源码会员卡计费系统会员卡计费系统

2019-06-19

QQ聊天软件(详解,附赠源代码,开发文档,教学视频).zip

Java编写QQ聊天软件(附赠源代码,开发文档),仅供参考,如果遇到不明白的,请 联系我

2019-05-19

空空如也

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

TA关注的人

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