知识点
文章平均质量分 89
IT--Fly
静听心灵的窗户
展开
-
Netty&NIO
Netty&NIO原创 2022-09-01 18:55:47 · 331 阅读 · 1 评论 -
Redis核心技术与实战
Redis 三大主线高性能主线,包括线程模型、数据结构、持久化、网络框架;高可靠主线,包括主从复制、哨兵机制;高可扩展主线,包括数据分片、负载均衡。Redis底层数据结构动态字符串、双向链表、压缩列表、哈希表、跳表和整数数组为什么哈希表操作变慢了?当你往 Redis 中写入大量数据后,就可能发现操作有时候会突然变慢了。这其实是因为你忽略了一个潜在的风险点,那就是哈希表的冲突问题和 rehash 可能带来的操作阻塞。Redis 解决哈希冲突的方式,就是链式哈希。链式哈希也很容易理解,就是指同原创 2022-04-18 22:26:52 · 2929 阅读 · 0 评论 -
数据结构与算法之链表
如何分析、统计算法的执行效率和资源消耗?多项式时间复杂度。O(1)首先你必须明确一个概念,O(1) 只是常量级时间复杂度的一种表示方法,并不是指只执行了一行代码。比如这段代码,即便有 3 行,它的时间复杂度也是 O(1),而不是 O(3)。 int i = 8; int j = 6; int sum = i + j;我稍微总结一下,只要代码的执行时间不随 n 的增大而增长,这样代码的时间复杂度我们都记作 O(1)。或者说,一般情况下,只要算法中不存在循环语句、递归语句,即使有成千上万行的代原创 2022-02-11 21:14:29 · 415 阅读 · 0 评论 -
Java 虚拟机
01、Java 代码是怎么运行的?Java 代码有很多种不同的运行方式。比如说可以在开发工具中运行,可以双击执行 jar 文件运行,也可以在命令行中运行,甚至可以在网页中运行。当然,这些执行方式都离不开 JRE,也就是 Java 运行时环境。实际上,JRE 仅包含运行 Java 程序的必需组件,包括 Java 虚拟机以及 Java 核心类库等。我们 Java 程序员经常接触到的 JDK(Java 开发工具包)同样包含了 JRE,并且还附带了一系列开发、诊断工具。Java 虚拟机可以由硬件实现[1],但原创 2022-01-27 11:05:06 · 1073 阅读 · 0 评论 -
Java实现链表的创建、删除、修改、查询以及用链表实现一个Stack、Quque
一、什么是链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(lo原创 2020-06-22 05:07:19 · 158 阅读 · 0 评论 -
JAVA实现二叉树的创建、前序、中序、后序、层次遍历以及查找删除二叉树中元素节点
什么是树?树 (数据结构名词):树状图是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树什么是二叉树?树有很多种, 每个节点最...原创 2019-09-24 11:56:18 · 362 阅读 · 0 评论 -
Oracle基本知识及语法
– 创建表空间create tablespace itheimadatafile ‘E:/itheima.dbf’size 100mautoextend onnext 10m;– 删除表空间drop tablespace itheima–创建用户create user itheimaidentified by 123default tablespace itheima–给用...原创 2019-10-16 21:59:07 · 372 阅读 · 0 评论 -
git相关命令
git将本地项目推送到远程仓库github提示:手动创建一个空项【my-pro-ui】目如何将本地项目my-pro-ui同步进来echo “# my-pro-ui” >> README.mdgit initgit add README.mdgit commit -m “first commit”git remote add origin git@github.com:Sha...原创 2020-01-16 10:01:33 · 350 阅读 · 0 评论 -
跨域与如何解决跨域问题
6.跨域问题跨域:浏览器对于javascript的同源策略的限制 。以下情况都属于跨域:跨域原因说明示例域名不同www.jd.com 与 www.taobao.com域名相同,端口不同www.jd.com:8080 与 www.jd.com:8081二级域名不同item.jd.com 与 miaosha.jd.com如果域名和端口都相同,但是请求路...原创 2019-10-26 18:16:00 · 209 阅读 · 0 评论 -
Java底层:JVM(三)
谈谈ClassLoaderClassLoader的种类(1)BootStraoClassLoader:C++编写,加载核心库java.(2)ExtClassLoader:Java编写,加载扩展库javax.(3)AppClassLoader:java编写,加载程序所在目录(4)用户自定义ClassLoader:java编写,定制化加载**先自定义编译好一个java文件假如定义好了一...原创 2019-10-27 20:53:25 · 93 阅读 · 0 评论 -
关系数据库之架构、索引、锁、语法、理论范式知识点及原理解析
索引模块++为什么要使用索引++什么样的信息能成为索引++索引的数据结构一、为什么要使用索引++为了快速的查询数据(类似于字典)二、什么样的信息能成为索引++主键、唯一键及普通键等**三、索引的数据结构++生成索引,建立二叉查找树进行二分查找++生成索引,建立B-Tree结构进行查找++生成索引,建立B±Tree结构进行查找++生成索引,建立Hash结构进行查找...原创 2019-11-06 19:38:45 · 224 阅读 · 0 评论 -
SpringMVC
1、MVC设计模式M: mode模型 JavaBeanV: View视图 JSPC: Controller控制器 Servlet2、SpringMVC是什么3、SpringMVC的优势和Struts2对比4、SpingMVC入门案例配置前端控制器DispatcherServlet视图解析器ViewResover开启mvc框架注解支持mvc:annotation-driven案例分析案例组件介绍5、@RequestMapping注解属性:6、原创 2020-06-05 02:12:34 · 109 阅读 · 0 评论 -
Spring之AOP
1、什么是AOP2、AOP的相关术语3、基于XML的AOP实现(1)pom.xml导入jar包(2)bean.xml配置aop:config、aop:apect标签切入点execution表达式4、四种常用的通知类型及环绕通知前置通知aop:before、后置通知aop:after-returning、异常通知aop:after-throwing、最终通知aop:after、环绕通知aop:aroundaop:pointcut标签配置切入点表达式环绕通知(可以在代码中原创 2020-06-04 03:21:39 · 143 阅读 · 0 评论 -
JavaIO之字节流、字符流、缓冲流、转换流、序列化流、打印流
1、硬盘、内存与IO流的关系2、字节输出流OutputStream(java.lang.Object)子类ByteArrayOutputStream、FileOutputStream、FilterOutputStream、ObjectOutputStream、OutputStream、PipedOutputStream3、FileInputStream字节输入流写读取字节数据4、利用OutputStream、InputStream字节流实现文件复制**5、字符输入流Reader(java原创 2020-06-02 04:12:14 · 205 阅读 · 0 评论 -
新手认识Elasticsearch(全文检索技术)
1、简介Elasticsearch具备以下特点(1)分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心)(2)Restful风格。一切API都遵循Rest原则,容易上手(3)近实时搜索,数据更新在Elasticsearch中几乎是完全同步的2、安装和配置由于处于安全考虑Elasticsearch默认不允许root账号运行(创建新用户)(上传Elasticsearch压缩包进行解压)tar -zxvf xxxxchmod xxx(修改配置文件)原创 2020-06-02 02:42:21 · 259 阅读 · 0 评论 -
SpringIOC注解
1、常用IOC注解按照作用分类@Component(value=" ")@Component衍生出来的三个注解 @Controller、@Service、@Repository2、自动按照类型注入@Autoware(只有唯一bean对象时注入成功)@Qualifier 必须和@Autoware一起使用此时就可以用@Resource注解代替@Value基本类型和String类型的注入 @Value(${})集合类型注入只能用XML3、改变作用范围以及生命周期相关的注解@Scop原创 2020-05-29 23:22:57 · 146 阅读 · 0 评论 -
Spring之IOC
1、Spring的概述(spring是什么)(spring的两大核心)AOP、IOC(spring的发展和优势)(spring体系结构)2、JDBC程序分析耦合:程序之间的依赖关系(类之间的依赖、方法之间的依赖)解耦:降低程序之间的依赖性实际开发:编译期不依赖 运行期才依赖解耦的思路:使用反射创建对象避免用new的方式、读取配置文件来获取要创建对象的权限类名package com.leyou.httpdemo.com.huke.test;import java.sql.Co原创 2020-05-27 00:54:06 · 105 阅读 · 0 评论 -
File类 、FileFilter过滤、Properties
1、File路径分隔符、文件名称分隔符2、路径3、File文件的遍历4、FilrFilter过滤器原创 2020-05-27 02:58:19 · 138 阅读 · 0 评论 -
SpringCloud(二)Ribbon、Hystrix、feign、Zuul
1、什么是 Ribbon@LoadBalance注解开启负载均衡(没开启负载均衡前)(开启之后)2、Hystrix雪崩问题(解决雪崩问题)线程隔离、服务熔断(hystrix之服务降级)@EnableCircuitBreaker //开启熔断器(hystrix之熔断)@HysteixCommaand //声明熔断的方法...原创 2020-05-21 23:09:03 · 140 阅读 · 0 评论 -
Spring注解深究
**昨天看阿里的java开发手册,其中有一个OOP规约(网上百度了一下,这个规约是阿里自己制定的),其中有一条: 外部正在调用或者二方库依赖的接口,不允许修改方法签名,避免对接口调用方产生影响。接口过时必须加 @Deprecated 注解,并清晰地说明采用的新接口或新服务是什么。 这其中提到了 @Deprecated 注解,在之前的开发过程中没遇到过这个注解,于是查了下他的功能: ...原创 2020-05-17 23:55:18 · 215 阅读 · 0 评论 -
Mysql常见约束及三大范式
Mysql约束的含义:一种限制,用于限制表中的数据,为了保证表中数据的准确性和可靠性分类:六大约束1.NOT NULL : 非空,用于保证该字段的值不能为空。例如学生表的学生姓名及学号等等。2.DEFAULT: 默认值,用于保证该字段有默认值。例如学生表的学生性别3.PRIMARY KEY: 主键,用于保证该字段的值具有唯一性并且非空。例如学生表的学生学号等。4.UNIQUE: 唯一,用于保证该字段的值具有唯一性,可以为空。例如注册用户的手机号,身份证号等。5.CHECK:检查原创 2020-05-15 23:47:54 · 206 阅读 · 0 评论 -
JAVA中的Collection FrameWork(包括如何写自己的数据结构)------详解
Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java S原创 2020-05-12 23:32:15 · 444 阅读 · 0 评论 -
Redis基本知识及作用
Redis的操作命令都是原子性的(1)String :最基本的数据类型,二进制安全set 设置值 get获取值(2)Hash:String元素组成的对象,适合存储对象(一般是JSON格式存储)hset设置值 hget获取值(3)List:列表,按照String元素插入顺序排序(最新消息排行榜)lpush设置值 lrange获取值(4)Set:Strin...原创 2020-05-06 23:08:02 · 146 阅读 · 0 评论 -
Java线程类及多线程
进程:一个操作系统中可以同时运行多个应用程序,每个应用程序被称为一个进程。即系统级别的多线程。线程:一个程序同时可能有多个运行场景,每个运行场景就叫做一个线程。并发:线程是并发运行的。操作系统将时间划分为若干个时间片,尽可能均匀分给每一个任务,被分配时间片后,任务就有可能被cpu处理,对于单个线程来说,中间间隔时间很短,好像一直在运行,从所有的线程来看,好像一直都在运行。具体实现:1...原创 2020-04-16 00:02:34 · 129 阅读 · 0 评论