- 博客(27)
- 资源 (2)
- 收藏
- 关注
原创 sqlserver2017
sqlserver由微软开发的关系型数据库管理系统(RDBMS)sqlserver主要包含数据库引擎、分析服务、集成服务、报表服务等数据库对象包括:表、视图、函数、索引、存储过程、事务日志、数据库关系图、序列、用户、角色、报表等等数据库服务器是架设在服务器操作系统上的软件一个数据库服务器通常可以创建多个数据库实例(以下简称数据库)一个数据库至少有一个数据库文件和一个事务日志文件组成一个数据库可以包含个数据库文件,但一个数据库文件只会属于一个数据库一个数据库只能包含一个主数据库文件
2021-12-20 01:11:47 1054
原创 计算机网络通信原理识记点
1.OSI七层网络参考模型ISO于1984年制定物理层: 建立断开物理连接数据链路层:物理寻址,差错校验网络层:逻辑寻址传输层:建立端口到端口的连接会话层:会话管理表示层:数据展示应用层:用户接口tcp/ip 协议簇(实际应用五层网络模型) / 常见协议 数据格式 设备 物理层 比特流(二进制流) 网卡 数据链路层 数据帧(mac) 交换机 网络层 IP/ICMP/A...
2021-12-20 01:09:49 1767
原创 Netty入门四http
1.netty构建http服务涉及API编解码器HttpRequestDecoder 解码器HttpResponseEncoder 编码器HttpServerCodec 解码器和编码器HttpObjectAggregator该解码器针对请求体req.content() 也是ChannelInboundHandlerAdapter类型2.基于netty开发类似springboot+web的简单版框架1.netty核心代码如下:netty-server, 封装net...
2021-08-11 16:58:11 436
原创 netty入门三netty扫盲
1.netty概述Netty是由JBOSS提供的一个java开源框架,基于NIO的客户、服务器端的编程框架。Netty实现的协议包括FTP、HTTP、SMTP、WEBSOCKET等待Netty解决了NIO编程的复杂的线程模型,以及断连重连、网络闪断、半包读写、失败缓存、网络拥塞和异常流处理的问题,Epoll空轮询导致的CPU飙升100%2.netty核心组件ServerBootstrap 启动类NioEventLoopGroup 线程组 持有多个NioEventLoop.
2021-07-31 22:38:18 241
原创 netty入门二NIO
s1.NIO概述首先大家形成一个共识,那就是在我们讨论IO模型的时候,目前来说都是针对网络编程而言,因为网络编程才有大规模的连接,IO输入输出,NIO出现的目的也正是为了解决BIO网络编程模型中大量连接产生大量线程的痛点。IO模型一般包含三种BIO,同步阻塞IO,参考下图BIO的线程模型NIO,同步非阻塞IO完全理解NIO线程模型后补充AIO,异步非阻塞IO2.NIO核心API2.1Channelchannel与IO流的区别:channel即可以读,也可以写.
2021-07-11 17:08:14 195
原创 ecmascript6识记1-(let、const、解构、string、数值)
1.let2.const3.解构赋值3.1.结构赋值的作用1.函数参数默认赋值
2021-06-12 21:33:28 188 2
原创 netty入门一回顾阻塞IO
准备抽时间深入学习netty,在此之前先回顾BIO 扫清NIO盲点,本篇先回顾一下BIO传统的socket编程是BIO即阻塞,因此为了对并发的支持,传统的BIO模型只能每个线程都封装一个socket,以达到支持并发的效果下面我们上一段模拟向一个服务端并发发起请求的代码,基于Socket阻塞IO模型实现服务端SocketServer:package cn.qu.socket;import java.io.BufferedReader;import java.io.IOException
2020-11-14 22:59:27 186
原创 spring-cloud-starter-gateway限流脚本request_rate_limiter.lua分析
-- 令牌桶需要两个Redis密钥local tokens_key = KEYS[1]local timestamp_key = KEYS[2]--redis.log(redis.LOG_WARNING, "tokens_key " .. tokens_key)-- 每秒产生多少个令牌local rate = tonumber(ARGV[1])-- 令牌桶的容量local capacity = tonumber(ARGV[2])-- 时间戳 当前时间的秒数local now = t.
2020-11-14 22:36:01 562
原创 java-数据结构-二叉查找树
1、二叉查找树概树二叉查找数(也称二叉排序树),首先是一颗二叉树,具有所有二叉树的特性。左子树以及所有左子树的子树均小于根节点,右子树以及所有右子树的子树均大于根节点。非叶子节点的节点也是一颗二叉排序树。2.二叉查找树的作用二叉查找树,即具有链表快速增删的特性也具有数组快速查找的特性,例如文件系统3.构造一颗二叉查找树3.1首先声明一个类BinarySearchTree<T>3.2在上述类中定义一个内部静态类用于定义节点类Node<T>,并声明一个根节
2020-10-11 13:59:41 298
原创 java-数据结构-二叉树
概述二叉树是n个有限元素的集合,由一个根及两个不相交的左、右子树组成,子树也是二叉树,是有序树1.每个节点至多有两个子结点,因此二叉树节点的度小于等于22.第n层上,最多有2^n-1个节点构建二叉树1.构建一颗二叉树的数据结构@AllArgsConstructor @Data private static class Node<T> { private T t; private Node<T> left; ...
2020-09-05 17:04:38 191
原创 java-mysql专题
1.sql优化1.1select字句中不要使用* 理由:把*替换成表中的字段名,需要解析一次数据字典,有性能损耗1.2from字句后的主表最好是记录数最少的表(oracle rbo模式,从from最右边的表开始扫描)1.3范围大的条件放在where末尾,where字句的解析顺序是从后到前1.4子查询in迭代的是子表,exists迭代的是外表,外大用in,内大用exists...
2020-03-30 14:13:10 162
原创 java-并发专题-1
1.并发、并行、吞吐量并发:是指单位时间内(通常1s)系统或程序处理的请求数量。并行:多个线程或进程同时运行完成某个大型计算的一部分。吞吐量:网络吞吐量是指定单位时间内传输的数据字节大小,系统吞吐量与并发差不多一个意思。2.锁隐式锁:synchronized(同步关键字)最优用法:private byte[] lock = new byte[1];public v...
2020-03-22 22:39:47 280
原创 java面试之-kafka
1.kafka相关概念kafka-cluster:集群broker:可以理解为集群中的一个server。partion:分区 kafka没有主从节点的概念,是通过分区来保证kafka的高并发特性。topic:路由(用户指定) 与其他消息机制中的topic机制类似producer:生产者 生产者发...
2019-11-30 20:38:55 183
原创 win10安装oracle11g
1.下载oracle11goracle11g下载接受许可,下载两个压缩包2.解压两个压缩包到同一个根目录下3.安装前准备关闭防火墙及病毒检测打开cvu_prereq.xml增加如下内容:4.运行setup.exe不使用自动更新为了能与生产环境兼容,这里选择服务器类型如果不需要多个数据库实例,选择单实例即可。...
2019-09-24 14:44:44 158
原创 java面试总结(11)SpringCloud
1.springboot概述springboot是由Pivotal团队开发的一款基于spring的全新框架,其设计初衷是为了简化spring的搭建以及开发过程。2.springboot的特点:1.约定大于配置的理念提高了开发效率,例如静态资源的位置,默认配置文件名称application2.嵌入式web容器,例如tomcat,让开发人员不必过多的关注容器的调优配置3.摒弃了大量...
2019-02-24 23:14:17 661
原创 java面试总结(10)Redis
1.1Redis概述redis是一款由C语言开发基于内存但可以持久化的key-value数据库,即非关系型数据库,NoSql(not only sql)2.Redis的优点、缺点优点:*数据是存储在内存中,速度非常快,理论上每秒可以达到11万次的读、8万次的写*支持事务,当然redis的事务只是保证了,执行语句的完整性并不能保证数据的安全*数据可以持久化到硬盘*支持字符...
2019-02-24 00:26:30 357
原创 java8 函数式编程实战
1.Lambda表达式的5种格式1.1首先看一个代码片段list.stream().anyMatch(person -> person.getAge() == 30);list.stream().anyMatch(new Predicate<Person>() { @Override public boolean test(Person per...
2018-12-10 23:16:16 527
原创 java面试总结(9)Hibernate
1.hibernate概述hibernate是一款基于ORM的全自动化开源框架,可以通过原生SQL,自定义的HQL以及CriteriaAPI操作数据库,基于JDBC2.hibernate与mybatis的区别2.1orm的区别*hibernate的对象关系型映射:POJO对应数据库的表,POJO的对象对应数据库表的记录,POJO属性对应表的字段*mybatis的对象关系型映射:...
2018-09-11 17:18:55 226
原创 java面试总结(8)MyBatis
1.MyBatis概述mybatis是一款基于输入、输出映射的半自动化持久层ORM开源框架,原名Ibatis,2010年更名*ORM(object relational mapping)对象关系映射*半自动化主要是指mybatis并没有封装大量的API用于CRUD操作,相比于hibernate即使你不了解SQL规范,依然可以通过hibernate操作数据库2.MyBatis的优点...
2018-09-08 23:13:26 340
原创 java面试总结(7)之 Spring
1.spring概述Spring是一个轻量级的java企业级应用框架,其特点是IOC容器依赖注入,AOP横向扩展,基于mvc模式的web层框架,事务管理,统一异常处理,可以无缝整合大多数的J2EE架构等等2.bean的生命周期第一步:Spring实例化bean,并填充它的所有属性第三步(不是必须):如果bean实现了BeanNameAware接口,spring传递来自配置文件或注解声...
2018-08-24 18:22:22 387
原创 java面试总结(6)之JVM
1.为什么说java是跨平台语言这里所谓平台通常指操作系统,java可以在不同的操作系统上运行跨平台原理:java针对不同的操作系统开发了不同的JVM也就是虚拟机,而我们的java程序是其实是运行在虚拟机上的,因此可以说java程序可以运行在不同的虚拟机上,不同的虚拟机又运行在不同的操作系统上因此说java是跨平台语言2.执行一个简单的Helloworld程序,都会经历哪些步骤...
2018-08-16 14:32:52 324
原创 java面试总结(5)之异常、反射机制
1.异常机制1.1.谈谈异常机制对程序可能存在的一种错误的排查或处理机制,称为异常机制*java中提供了两种错误处理机制,一种是系统层面的Error和另一种程序层面的Exception,两种都继承自一个共同的父类Throwable*Error类型的错误通常是程序中不可控的,例如常见的OutOfMemoryError堆内存溢出错误,需要来调整堆内存的大小或是查找出程序中导致了大量占用...
2018-08-10 15:30:31 1083
原创 java面试总结(4)之多线程
1.什么是线程线程是操作系统运行调度的最小单元,是进程的元素,进程是由多个线程组合而来的。每条线程有自己的栈内存,一个进程内的所有线程共享一片堆内存多线程可以对运算密集型任务提速2.简单描述一下线程安全在多线程环境下运行的代码,如果存在多个线程资源共享就存在线程安全的问题,例如同时操作一个成员变量3.Thread 类中的start() 和 run() 方法有什么区别s...
2018-08-03 18:15:44 607
原创 java面试总结(3)之IO
图片来源1.字节流和字符流的区别字节流是jdk1.0引入的,字符流是jdk1.1引入的,字节流操作二进制数据,字符流只能操作字符文本类数据,通常情况多使用字节流更高效,如果字符文本中有汉字最好使用字符流避免乱码2.System.out.println()用到了什么流System类中有一个PrintStream类型的静态常量,和PrintWriter打印流一样,out是该对象的引...
2018-08-02 16:27:43 209
原创 java面试总结(2)之集合
collection -List 单列有序不唯一集合接口 boolean retainAll(Collection c) 修改调用集合的元素成为他们的交集并返回true,如果他们元素相同,则返回false -ArrayList *底层数据结构是数组默认初始长度10,线程不同步,效率高,查询快,更新慢 ...
2018-08-01 14:27:08 211
原创 java常用设计模式学习总结
常用设计模式归纳:创建型:单例模式,工厂方法模式等等结构型:静态代理模式,动态代理模式,装饰者模式,适配器模式,桥接模式行为型:观察者模式,命令模式,责任链模式,状态模式,访问者模式1.单例模式应用场景:顾名思义,自始至终都操作的是同一个对象的时候,需要用单例模式/** * 单例懒汉式(比较常用) */public class SingletonPatternLa...
2018-07-17 14:35:17 545
原创 java面试总结(1)之面向对象
1.如何理解面向对象(OOP)编程思想?我理解的面向对象:把现实世界中的一类事物或一种行为抽象成为编程语言中的一个实体(类),然后操作这个类的各个对象的编程思想称为面向对象编程思想。面向对象的特征:封装:隐藏属性和具体实现过程,只向调用者暴露接口来操作对象的行为称为封装继承 子类自动共享父类的所有非私有属性和成员方法的特征多态 父类引用指向子类对象的特征称为多态面向对象和面向过程的区别...
2018-07-10 10:54:23 752
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人