11 2022 档案

摘要:1 HashMap的内部数据结构 数组 + 链表/红黑树 2 HashMap允许空键空值么 HashMap最多只允许一个键为Null(多条会覆盖),但允许多个值为Null 3 影响HashMap性能的重要参数 初始容量:创建哈希表(数组)时桶的数量,默认为 16 负载因子:哈希表在其容量自动增加之前 阅读全文
posted @ 2022-11-29 12:17 NingShare 阅读(58) 评论(0) 推荐(0)
摘要:1 Synchronized锁升级的原理 答:Synchronized在jdk1.6之前是通过重量级锁的方式实现。重量级锁底层是通过Mutex Lock来实现互斥锁的一个功能,Mutex是系统方法,调用的时候用户需要切换到内核状态执行。 在jdk1.6版本之后,增加了锁的升级机制。线程访问synch 阅读全文
posted @ 2022-11-28 16:13 NingShare 阅读(597) 评论(0) 推荐(0)
摘要:1 Springcloud核心组件及其作用 1.1 Eureka: 服务注册与发现注册:每个服务都向Eureka登记自己提供服务的元数据,包括服务IP地址,端口号,版本号,通信协议等。eureka将各个服务维护在一个服务清单中(双层Map,第一层key服务名,第二层key是实例名,value是服务地 阅读全文
posted @ 2022-11-28 14:05 NingShare 阅读(430) 评论(0) 推荐(0)
摘要:1 SpringBoot启动Tomcat 1.1 Spring在启动时创建一个Spring容器1.2 利用@ConditionalOnClass技术判断classpath中是否存丰Tomcat依赖,如果存在则生成一个启动Tomcat的Bean1.3 Spring容器创建完后,就会获取启动Tomcat 阅读全文
posted @ 2022-11-27 19:54 NingShare 阅读(314) 评论(0) 推荐(0)
摘要:1 Redis — 缓存方案(热数据和冷数据)1.1 新建和更新数据时,设置一个过期时间product_cache_timeout(比如24小时), 查询时同时也将过期时间set in redis缓存1.2 查到数据时重新设置过期时间redisUtil.expire —>缓存读延期2 缓存击穿 缓存 阅读全文
posted @ 2022-11-26 11:58 NingShare 阅读(316) 评论(0) 推荐(0)
摘要:1 网关概念 Gateway是在spring生态系统之上构建的API网关服务,网关是外网进入内网的入口,对内网服务起保护作用。 2 网关作用 (1)反向代理:为保护内网服务的安全,通常不会暴露内网服务ip,而是通过暴露网关ip,通过网关ip代理内网服务ip。(2)流量控制:当系统处于高峰期时,为防止 阅读全文
posted @ 2022-11-25 12:13 NingShare 阅读(100) 评论(0) 推荐(0)
摘要:1 什么是二叉树 二叉树(Binary Tree)是指每个节点最多只有两个分支的树结构,即不存在分支大于 2 的节点。二叉树每个结点的度不大于2(即每个结点最多只有两个子结点),且子树有左右之分,不可随意颠倒顺序。 特征:左边的节点比右边的节点小,右边的子节点比父节点大。先向上对比,比节点小走左边, 阅读全文
posted @ 2022-11-25 10:12 NingShare 阅读(1905) 评论(0) 推荐(0)
摘要:1 什么是log4j https://www.jianshu.com/p/6d91c352b4e9 Log4j是一个由Java编写可靠、灵活的日志框架,是Apache旗下的一个开源项目;现如今,Log4j已经被移植到了C、C++、Python等语言中,服务更多的Developer; 使用Log4j, 阅读全文
posted @ 2022-11-24 16:46 NingShare 阅读(2127) 评论(0) 推荐(0)
摘要:1 kafka简单介绍 kafka是一款分布式、支持分区的、多副本,基于zookeeper协调的分布式消息系统。最大的特性就是可以实时处理大量数据来满足需求。特点是生产者消费者模式,先进先出(FIFO)保证顺序,自己不丢数据,默认每隔7天清理数据。 https://blog.csdn.net/hyj 阅读全文
posted @ 2022-11-24 10:03 NingShare 阅读(127) 评论(0) 推荐(0)
摘要:1 八种数据类型 1、 整型:byte、short、int、long 2、字符型:char 3、浮点型:float、double 4、布尔型:boolean 2 用法 byte (-128 ~ 127),8位、有符号的以二进制补码表示的整数。包装类:Byte short(-32768 ~ 32767 阅读全文
posted @ 2022-11-23 11:05 NingShare 阅读(68) 评论(0) 推荐(0)
摘要:首先理解事务,提供一种“要么什么都不做,要么做全套(All or Nothing)”的机制,她有ACID四大特性(原子性,一致性,隔离性,持久性) 1 分布式事务 分布式事务顾名思义就是要在分布式系统中实现事务,它其实是由多个本地事务组合而成。 对于分布式事务而言几乎满足不了 ACID,其实对于单机 阅读全文
posted @ 2022-11-22 21:47 NingShare 阅读(73) 评论(0) 推荐(0)
摘要:Redis有三种集群方式:主从复制,哨兵模式和集群。 1 主从复制 在主从复制中,数据库分为俩类,主数据库(master)和从数据库(slave)。其中主从复制有如下特点: 主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库 从数据库一般都是只读的,并且接收主数据库同步过来 阅读全文
posted @ 2022-11-22 21:01 NingShare 阅读(81) 评论(0) 推荐(0)
摘要:1 选取最适用的字段属性 数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。 另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOTNULL,这样在将来执行查询的时候,数据库不用去比较NULL值。 2 事务 设 阅读全文
posted @ 2022-11-22 20:21 NingShare 阅读(49) 评论(0) 推荐(0)
摘要:1 什么是分布式锁? 分布式锁,即分布式系统中的锁。在单体应用中我们通过锁解决的是控制共享资源访问的问题,而分布式锁,就是解决了分布式系统中控制共享资源访问的问题。与单体应用不同的是,分布式系统中竞争共享资源的最小粒度从线程升级成了进程。相对应的是线程锁、进程锁。 线程锁(单体同一个数据库):主要用 阅读全文
posted @ 2022-11-22 19:52 NingShare 阅读(227) 评论(0) 推荐(0)
摘要:1 什么是CAS CAS是compare and swap的缩写,中文可以翻译成:比较并交换。CAS操作来源于底层硬件领域。因为CAS能够极大地提高并发效率,因此在硬件设计领域,CAS这种操作就是存在的。 synchronized这种独占锁属于悲观锁,乐观锁最常见的就是CAS。 CAS的思想本质上就 阅读全文
posted @ 2022-11-22 19:23 NingShare 阅读(69) 评论(0) 推荐(0)
摘要:1 什么是事务? 事务(Transaction)是数据库区别于文件系统的重要特性之一。目前国际认可的数据库设计原则是ACID特性,用以保证数据库事务的正确执行。Mysql的innodb引擎中的事务就完全符合ACID特性。 2 事务的ACID特性 • 原子性(Atomicity):一个事务必须被视为一 阅读全文
posted @ 2022-11-22 17:57 NingShare 阅读(38) 评论(0) 推荐(0)
摘要:设计模式的七大原则 开闭原则:对扩展开放、对修改关闭。 单一指责原则:一个类只做一件事。 依赖倒转原则:类似于ioc,采用接口编程。 迪米特原则:高内聚,低耦合。 接口隔离原则:应该使用多个接口,而不是用单一的总接口。 合成复用原则:尽量使用对象组合,而不是继承来达到复用目的。 里氏替换原则:子类可 阅读全文
posted @ 2022-11-22 10:02 NingShare 阅读(3689) 评论(0) 推荐(0)
摘要:1. ZooKeeper 是什么? ZooKeeper 是一个分布式协调服务 ,由 Apache 进行维护。ZooKeeper 可以视为一个高可用的文件系统。ZooKeeper 可以用于发布/订阅、负载均衡、命令服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能 。2. 阅读全文
posted @ 2022-11-21 19:30 NingShare 阅读(82) 评论(0) 推荐(0)
摘要:MyBatis 面试题 1、什么是 Mybatis?答:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Ja 阅读全文
posted @ 2022-11-21 19:24 NingShare 阅读(88) 评论(0) 推荐(0)
摘要:1 什么是敏捷开发? 阅读全文
posted @ 2022-11-21 18:51 NingShare 阅读(26) 评论(0) 推荐(0)
摘要:1 什么是jvm? https://blog.csdn.net/a111042555/article/details/126284746 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。jvm包含一套字节码 阅读全文
posted @ 2022-11-21 17:20 NingShare 阅读(49) 评论(0) 推荐(0)
摘要:1 redis是什么 https://www.cnblogs.com/qqflying/p/9192331.html redis - Remote Dictionary Server(即远程字典服务),是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。 阅读全文
posted @ 2022-11-21 16:39 NingShare 阅读(37) 评论(0) 推荐(0)
摘要:1 什么是SpringCloud Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。 2 SpringCloud 五大组件 springcloud五大组件 阅读全文
posted @ 2022-11-21 15:59 NingShare 阅读(55) 评论(0) 推荐(0)
摘要:1 Spring 框架 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。 Spring 自带 IoC(Inverse of Control:控制反转) 和 AOP(Aspect-Oriented Programming:面向 阅读全文
posted @ 2022-11-21 15:18 NingShare 阅读(68) 评论(0) 推荐(0)
摘要:1 什么是高并发 1.1 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。1.2 高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Que 阅读全文
posted @ 2022-11-21 12:25 NingShare 阅读(535) 评论(0) 推荐(0)
摘要:1 jdbc是什么? Java DateBase connectivity,java数据库连接,java语言连接数据库JDBC本质:sun公司定义了一套操作所有关系型数据库的规则(接口),各个数据库厂商去实现这套数据库,提供数据库驱动jar包我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动 阅读全文
posted @ 2022-11-21 09:57 NingShare 阅读(28) 评论(0) 推荐(0)
摘要:1 基本类型使用优化 1.1 尽量重用对象 特别是对于String对象的使用,如需拼接字符串,使用如下例子: //拼接字符串,不重视效率的写法 String str1 = "aaa"; str1 = str1 + "bbb"; //拼接字符串,效率高的写法 StringBuilder sb = ne 阅读全文
posted @ 2022-11-20 23:02 NingShare 阅读(141) 评论(0) 推荐(0)
摘要:1 SQL基本优化规则(Oracle) 1.1 SQL 语句尽量用大写的,因为 oracle 总是先解析 SQL 语句,把小写的字母转换成大写的再执行。 1.2 使用表的别名,当在 SQL 语句中连接多个表时, 尽量使用表的别名并把别名前缀于每个列上。减少解析的时间并减少那些由列歧义引起的语法错误。 阅读全文
posted @ 2022-11-20 22:03 NingShare 阅读(104) 评论(0) 推荐(0)
摘要:SQL语句常用命令 1 表设计 https://blog.csdn.net/weixin_50906078/article/details/123922652 1.1 创建表 create table 表名 (字段 字段类型);单列主键示例(Oracle):CREATE TABLE TB_PK_EX 阅读全文
posted @ 2022-11-20 18:13 NingShare 阅读(70) 评论(0) 推荐(0)
摘要:1 MongoDB介绍 MongoDB 是免费开源的跨平台 NoSQL 数据库,命名源于英文单词 humongous,意思是「巨大无比」,可见开发组对 MongoDB 的定位。与关系型数据库不同,MongoDB 的数据以类似于 JSON 格式的二进制文档存储: { name: "Angeladady 阅读全文
posted @ 2022-11-20 17:21 NingShare 阅读(269) 评论(0) 推荐(0)
摘要:1. Mysql介绍 • MySQL是一款开源的关系型数据库管理系统,由瑞典MySQL AB公司1995年研发 • 2008年被Sun公司收购,2009年Sun公司被Oracle公司收购.之后因担心有闭源的分险,由开发了MySQL的分支Maria DB • MySQL6.x版本之后分为社区版和商业版 阅读全文
posted @ 2022-11-20 16:08 NingShare 阅读(2749) 评论(0) 推荐(0)
摘要:1. Oracle数据库介绍 Oracle Database,又名 Oracle RDBMS,简称 Oracle。Oracle 数据库系统是美国 Oracle 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(client/server)或B/S体系结构的数据库之一 阅读全文
posted @ 2022-11-20 15:37 NingShare 阅读(279) 评论(0) 推荐(0)
摘要:1. Struts2介绍 struts2 是一个框架,属于属于表现层,需要我们基于这个框架下进行开发。 特点:可读性 可维护性 可拓展性。javaEE 开发根据职责的纵向划分:表现层 业务层 持久层。也就所说的javaEE的三大框架(ssh)。 V表现层:负责处理与界面交互的相关操作。(struts 阅读全文
posted @ 2022-11-20 15:20 NingShare 阅读(111) 评论(0) 推荐(0)
摘要:1. JSP介绍 JSP的全称是Java Server Pages,即Java的服务器页面 JSP的主要作用是代替Servlet程序回传HTML页面的数据 JSP页面本质上是一个Servlet程序,第一次访问JSP页面时(运行Tomcat服务器后在浏览器地址栏输入路径),Tomcat服务器会将此JS 阅读全文
posted @ 2022-11-20 15:04 NingShare 阅读(46) 评论(0) 推荐(0)
摘要:1. AJAX定义 AJAX:async javascript and XML(异步JavaScript和XML)。Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。而传统的 阅读全文
posted @ 2022-11-20 14:54 NingShare 阅读(26) 评论(0) 推荐(0)
摘要:jQuery介绍 JQuery 是一个javaScript库,是一个轻量级的"写的少,做的多"的JavaScript库。 jQuery 极大地简化javaScript编程 jQuery是一个JavaScript库(框架),它通过封装原生的JavaScript函数得到一整套定义好的方法。它的作者是Jo 阅读全文
posted @ 2022-11-20 14:45 NingShare 阅读(45) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/uuqaz/article/details/123502779 「Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernat 阅读全文
posted @ 2022-11-19 09:19 NingShare 阅读(31) 评论(0) 推荐(0)