- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 juc包下的常见类
juc包下的常见类Semaphore一个计数信号量,主要用于控制多线程对共同资源库访问的限制停车场实例import java.util.Random;import java.util.concurrent.LinkedBlockingQueue;import java.util.concurrent.Semaphore;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit
2021-09-12 22:42:22
667
原创 数据库基础知识点汇总(事务,索引)
目录三大范式索引概念使用场景索引的类型有哪些,他们的区别是什么?作用正向负面为数据表建立索引的原则有哪些?创建查看删除注意事项什么情况下不宜建立索引?什么情况下索引不会触发?事务概念特性ACID并发事务存在的问题作用使用事务的隔离级别为什么mysql默认可重复读JDBC编程如何优化MySql的性能?如何开启慢查询?主键索引 VS 普通索引三大范式一范式:原子性(每一个属性都不能再分)不可分割的意思就按字面理解就是最小单位,不能再分成更小单位了。这个字段只能是一个值,不能被拆分成多个字段,否则的话,它就是
2021-09-03 16:22:54
400
原创 【数据结构篇一】Java集合框架下List、Set、Map的认识
List一、LinkList:是List接口的一种实现,基于链表的数据结构,地址不连续,查询和删除比较快,线程非安全二、ArrayList:List接口的一种实现,基于动态数组的数据结构,地址连续,查询效率高,线程非安全三、Vector:与ArrayList一样,也是通过数组实现的,不同的是它支持线程的同步,是线程安全的。(即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问ArrayList慢。)常用方法方法解释
2021-08-07 21:41:58
263
原创 web聊天室项目开发过程及重难点整理
目录一、需求分析二、数据库系统设计三、工程创建四、功能交互实现原理及代码展示五、开发过程及结果展示六、项目开发重难点1.Session会话2.ajax3.登陆后与登陆前页面更改(非跳转)4.涉及Web技术5.认识WebSocket一、需求分析1.登录:同一个浏览器,即使多个标签页,保持相同的session。2.对应消息频道可以收发消息,不同的消息频道不能收发。3.历史记录查看,新登陆用户可以查看退出登陆后的消息二、数据库系统设计三、工程创建四、功能交互实现原理及代码展示五、开发过程及结果
2021-07-03 02:10:42
3570
1
原创 多线程常见锁策略—乐观悲观、自旋、读写、ABA问题及解决
目录常见锁策略乐观锁悲观锁共享锁自旋锁可重入锁公平锁读写锁常见面试题CAS定义原理应用缺点synchronized 背后的原理常见锁策略乐观锁定义乐观锁认为数据一般情况下不会产生并发冲突,所以在数据进行提交更新的时候,才会正式对数据是否产生并发冲突进行检测,如果发现并发冲突了,则让返回用户错误的信息,让用户决定如何去做。实现Atomic*家族AtomicInteger count = new AtomicInteger(0);//int count = 0;count.getAndIn
2021-05-28 09:05:20
736
原创 (导航页博客)TCP/IP协议层层剖析,对整个TCP/IP协议有系统的理解
本质:提高数据库性能的一种特殊文件0. TCP/IP协议概览概览图概述层间数据包传输过程1.应用层DNS(Domain NameSystem)工作原理: DNS查找中的8个步骤:[浏览器中输入url后, 发生的事情?——》见博客](https://blog.youkuaiyun.com/ZhangHahaaha/article/details/115289871)HTTP2.传输层UDP3.网络层4.数据链路层5.物理层0. TCP/IP协议概览概览图概述物理层: 负责光/电信号的传递方式. 比如现在以太
2021-05-27 18:47:13
232
4
原创 谈谈对数据库索引的了解—这些就很重要!!附相关高频面试题。
本质:提高数据库性能的一种特殊文件基础知识面试题一、索引的底层实现原理和优化二、三、什么情况下设置了索引但无法使用?索引的类型有哪些,他们的区别是什么?基础知识概念:索引是一种特殊的文件,包含着对数据表里所有记录的引用指针,可以对表中的一系列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。数据库中的表,数据,和索引之间的关系,类似于书架上的图书,书籍内容和书籍目录的关系。作用:索引的作用类似于书籍目录,可以快速定位,检索数据。对于提高数据库的性能有很大帮助。使用场景:
2021-05-13 17:08:54
199
原创 排序——最全的七大排序算法知识汇总
目录概念什么是排序稳定性排序的分类总览1.插入排序直接插入排序原理代码实现性能分析折半插入排序希尔排序原理代码实现性能分析2.选择排序直接选择排序原理代码实现性能分析堆排序原理代码实现性能分析3.交换排序冒泡排序原理代码实现性能分析快速排序(重要)原理代码实现性能分析4.归并排序归并排序原理代码实现性能分析5.排序总结概念排序:一串记录,按照其中的某个或者某些关键字的大小,递增或者递减排列起来的操作。通常意义上的排序都是指原地排序。什么是排序稳定性排序稳定性:两个相等的数据,如果经过排序后,排序算法
2021-05-10 14:33:09
625
1
原创 数据库是什么篇 之 数据库基本知识点汇总
目录什么是数据库数据库的认识它和数据结构的区别数据库的分类关系型数据库(RDBMS)非关系型数据库两者的区别基本知识点汇总为什么用数据库怎么用数据库—SQL语句什么是数据库数据库的认识数据库是存储数据的一种服务器,也是程序员在计算机类笔试面试中不可避免会遇到的考点^ _ ^开个玩笑总之很重要它和数据结构的区别数据库是一个软件,数据库的底层用到了数据结构。数据结构是一门学科数据库的分类关系型数据库(RDBMS)是指采用了关系模型(二维表格模型)来组织数据的数据库。如:Oracle:适合
2021-05-06 16:17:14
285
原创 Linux学习总结——常用指令
目录Linux哲学——没有消息就是最好的消息使用tab键补全1.ls指令—菜单2.pwd指令—当前目录3 cd 指令—修改目录重点:相对路径与绝对路径认识 Linux 目录结构4 touch指令—创建文件5.echo指令—添加内容6.cat指令—查看内容7.mkdir指令—创建文件夹8.rm指令—删除9.mv指令—移动10 cp指令—复制11.man指令—帮助文档12.less指令—分批查看文件信息13.tail指令—查看文件末尾内容14.head指令—查看文件前面内容15.data指令—服务器时间Lin
2021-05-05 20:39:54
312
原创 力扣—装最多水的容器(Container With Most Water)
题目给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。解题思路此题运用对撞指针,首位分别两个指针,每次移动以后分别判断长宽的乘积是否是最大判空(没有或者只有一根则结果为0)定义指针(left & right)求乘积 长(right - left ) * 宽(min(height【righ
2021-04-07 13:22:05
211
原创 力扣—寻找两个正序数组的中位数(Median of Two Sorted Arrays Java)
题目大意给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。找出并返回这两个正序数组的 中位数 ;并要求时间复杂度为 O(log (m+n))示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5
2021-04-07 00:50:20
167
原创 Cookie和Session(保存信息和状态)
目录为什么需要Cookie和SessionCookieSession区别为什么需要Cookie和SessionCookieSession区别
2021-04-06 23:42:59
1411
原创 网络原理—HTTP
目录HTTP 协议相关知识HTTP工作原理HTTP特性HTTP协议格式请求格式响应格式常见请求方法及含义常见响应状态及含义常见HTTP头HTTP选择题专题端口号TCP端口号HTTP协议请求方法HTTP协议响应码及其描述HTTP请求/响应报头属性HTTP 协议相关知识HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。HTTP工作原理客户端连接到Web服务器一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http
2021-04-03 20:51:11
328
原创 浏览器输入一个http协议的url,定位服务资源的过程,即一次完整的HTTP请求过程
过程1.域名解析2.进行TCP三次握手过程建立连接3.建立TCP连接后发起HTTP请求4.服务器响应HTTP请求5.浏览器解析HTML代码,请求HTML代码中的资源6.断开TCP连接四次挥手过程:7.浏览器对页面进行渲染呈现给用户1.域名解析浏览器搜索自己的DNS缓存,若没有,则搜索操作系统中的DNS缓存,再找不到,则搜索操作系统的hosts文件(C:\Windows\System32\drivers\etc\hosts)下一步,操作系统将域名发送至 本地域名服务器(递归查询方式),本地域名服
2021-03-28 23:20:04
546
原创 数据库事务的特性
一.什么是事务事务是应用程序中一系列逻辑相关的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性:一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消之前的所有操作。在mysql的执行引擎当中只有innoDB支持事务,可以通过 “show engines;”查看。二.事务的 ACID事务具有四个特征:原子性( Atomicity )、一致性( Consi
2021-03-19 14:43:37
125
原创 java集合框架相关面试题整理
腾讯-Java后台开发面经HashSet 和 HashMap 的区别是什么?HashSet是通过HasMap来实现的,HashMap的输入参数有Key、Value两个组成,在实现HashSet的时候,保持HashMap的Value为常量,相当于在HashMap中只对Key对象进行处理。HashMap 是线程安全的么?线程安全需要用到什么?异步、非线程安全;如何实现线程安全介绍一下 HashMap。如果一个对象为 key 时,hashCode 和 equals 方法的用法要注意
2021-01-24 22:42:23
186
1
原创 JAVA—集合框架以及底层数据结构总览(及相关面试题)
目录一、集合框架大纲介绍1.介绍2.集合数组的区别3.常用集合概述Collection常用方法说明集合框架的优点以及作用相关笔试及面试题一、集合框架大纲介绍1.介绍因为描述场景不一样,数据组织形式的不同因而有不同的数据结构。Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。其主要表现为将多个元素 element 置于一个单元中,用于对这些元素
2021-01-24 22:38:21
413
原创 java接口抽象类区别
接口抽象类区别抽象类中可以包含普通方法和普通字段, 可以被子类直接使用(不必重写),接口中不能包含普通方法, 子类必须重写所有的抽象方法.No区别抽象类(abstract)接口(interface)1结构组成普通类+抽象方法抽象方法+全局变量2权限各种权限public3子类使用extends继承抽象类implements实现接口4关系一个抽象类可以实现多个接口接口不能继承抽象类但是可以用extends继承多个父接口5子类限制一
2021-01-20 22:47:28
225
原创 java入门数组简单练习题
java入门之数组经典练习题数组相关练习数组转字符串数组拷贝数组最大元素数组的平均值数组查找二分查找顺序查找冒泡排序数组逆序数组相关练习数组转字符串//数组转字符串 int [] arr = {1,2,3}; System.out.println(Arrays.toString(arr));数组拷贝 //数组拷贝 int [] arr = {1,2,3}; int [] arr1 = Arrays.copyOf(arr,3);
2021-01-20 22:45:31
472
原创 JAVA—String类(详细汇总整理)
【JAVA】—字符串1.创建字符串2.字符串比较3.字符串常量池4.字符串操作5. StringBuffer 和 StringBuilder1.创建字符串常见的构造String的方式 //方式一 String str1 = "helloword"; //方式二 String str2 = new String("helloword"); //方式三 char [] arr = {'h','e','l','l','o','
2021-01-20 17:01:41
276
原创 现代密码学基础实验——多项式代码
现代密码学基础实验——多项式代码1.实验内容自选一种编程语言,实现古典密码中多项式代换密码的加解密过程。由于多项式代换密码可一般化移位密码、乘数密码、仿射密码,分别对多项式代换密码参数进行设置,完成这三个特例的实现。多项式代换密码加密方程为:f (l)=ktl t+kt-1l t-1+…+k1l +k0 mod q。其中,kt, …, k0Zq,lZq。2.实验理解(1)因为移位密码,乘数密码,放射密码是特殊的多项式密码,根据多项式代码参数选择的不同而不同。(2)定义两个不同的参数k1,k
2021-01-19 09:41:20
1504
原创 【JAVA】—简单的图书管理系统
【JAVA】—简单的图书管理系统简介相关类Book 类-书籍Book List 类-书架operation类-操作User 类-抽象类NormalUser类-普通用户AdminUser类-管理员功能1、简单的登录2、管理端- 查阅书籍- 增加书籍- 删除书籍- 打印书籍列表- 退出3、用户端- 查询书籍- 借阅书籍- 归还书籍- 退出源代码简介物品:书籍 书架人物:用户 管理员操作:增加 删除 查找 修改相关类Book 类-书籍private String na
2021-01-18 17:29:06
1269
3
原创 【JVAV】—继承、多态、抽象类
目录继承背景语法规则protect关键字final关键字final修饰变量final修饰方法final修饰类多态理解多态含义代码实现意义向上转型直接赋值时方法传参时方法返回时动态绑定方法重写含义注意事项代码示例重写&重载向下转型super关键字super&this抽象类定义语法规则代码实例意义继承背景代码中创建的主类,主要是为了抽象现实中的一些事物,有的时候客观事物之间存在关联关系,那么表示成类和对象的时候也一定会存在关系。例:猫和狗都是动物;三角形和正方形都是图形(si-a语义)// Anima
2021-01-17 17:23:25
526
3
原创 【JAVA】——类和对象
JAVA—类和对象目录JAVA—类和对象类和对象初步认知类和类的实例化类的成员字段/属性/成员变量方法static 关键字1.修饰属性2.修饰方法封装private实现封装getter和setter方法构造方法语法规则this关键字认识代码块什么是代码块普通代码块构造代码块静态代码块补充说明toString方法匿名对象类和对象初步认知C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完
2021-01-13 11:44:50
285
原创 【Java入门】——链表
链表基本操作package LinkList;class Node{ public int val; public Node next; public Node(){ } public Node(int val){ this.val = val; }}public class MyLinkList { public Node head; public void createLinkList() {
2021-01-06 21:42:39
210
2
原创 【结构体】—定义、初始化、内存对齐
自定义类型一、结构体1.存在的意义静态的结构体可以节省很多内存和运行时间增强程序的可读性和稳定性2.结构体声明例如描述一个学生结构体struct Stu//结构体名{ char name[20]; int age; char sex[5]; char id[20];};//变量列表3.结构体的自引用(链表节点的定义)struct Node{ int data;//数据节点 struct Node* next;//指针节点};结构体A中定义了一个指针b,该指针指向
2020-11-18 17:11:41
347
原创 【现代密码学】-网络安全实验:移位、仿射、乘数密码加解密
#include <stdio.h>#include<stdlib.h>int euclidean(int d, int f);#define MAX 100#define YIWEI 3#define YIWEI2 3void yiweijiami()//移位密码加密函数{ char C[MAX]; char M[MAX]; int K = YIWEI, i; printf("请输入明文M(不可输入空白串)\n"); //gets_s(M + 1, 20)
2020-11-18 16:00:48
1155
1
原创 c语言基础练习题
c语言基础练习题#include<stdio.h>#include<stdlib.h>#include <string.h>/*************1********** 求两个数的最小公倍数 *///int sum(int A, int B)//{// int i = 1;// while (A*i%B != 0)// {// ++i;// }// return A*i;//}//int main()//{// int A, B;
2020-11-08 20:30:48
251
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人