- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 ElasticSearch Java API
package com.zcc.elasticsearch;import com.fasterxml.jackson.databind.ObjectMapper;import com.sun.org.apache.bcel.internal.generic.NEW;import org.apache.http.HttpHost;import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;import org.el
2021-12-19 17:23:18
1577
原创 网络编程综合案例
网络编程综合案例上传文件文件上传原理文件上传分析图解基本实现文件上传优化分析模拟B/S服务器需求分析上传文件文件上传原理文件上传分析图解【客户端】输入流,从硬盘读取文件数据到程序中。【客户端】输出流,写出文件数据到服务端。【服务端】输入流,读取文件数据到服务端程序。【服务端】输出流,写出文件数据到服务器硬盘中。【服务端】获取输出流,回写数据。【客户端】获取输入流,解析回写数据。基本实现客户端实现public class TCPClient { public stati
2021-12-06 20:40:43
391
原创 Socket的输入流InputStream阻塞问题
项目场景:使用Socket中的输入流InputStream的时候,用了while循环判断当读出数据等于-1时停止循环。InputStream inputStream = socket.getInputStream();byte[] b = new byte[1024];int len=0;while((len=inputStream.read(b))!=-1){ System.out.println(new String(b,0,len));}原因分析:Socket中的输入流Inp
2021-12-06 16:38:13
2581
原创 Zookeeper面试题
这里写目录标题1.Zookeeper是什么?2.Zookeeper的应用场景。3.Zookeeper的常用命令4.Zookeeper的持久化机制(对比Redis)5.Zookeeper分布式锁的实现原理1.Zookeeper是什么?Zookeeper是一种分布式协调服务,它在中间件处于鼻祖的地位,在很早分布式概念提出来的时候,Zookeeper里面就有一些非常精彩的设计,比如说分布式锁,集群选举,崩溃恢复,数据同步,以至于之后的很多中间件,比如说redis,dubbo的注册中心,kafka也需要用到zo
2021-11-25 16:10:14
265
原创 Zookeeper客户端连接服务器慢的原因
问题描述:zookeeper客户端连接到zookeeper节点有20秒的延迟,而且每次都是20秒。自己编写客户端进行测试,通过日志看到在某个环节上会出现阻塞,导致延迟。原因分析:zookeeper默认使用了ZooKeeperSaslClient,而这个过程中调用了getHostName方法,从而造成程序阻塞。解决方案:所以可以通过在hosts文件添加上zookeeper的ip地址,使得getHostName可以直接使用hosts里面的dns结果。在/etc/hosts文件中添加记录,记录格式如下
2021-11-23 17:56:49
2438
原创 整合dubbo的时候配置文件中duubo.xsd下载失败问题
问题描述:整合dubbo的时候Spring配置文件需要添加dubbon标签的命名空间。添加完之后老是爆红。原因分析:原因是http://code.alibabatech.com/schema/dubbo/dubbo.xsd文件无法加载(阿里的开源网站http://code.alibabatech.com已经挂掉)。解决方案:找到maven的本地仓库,然后找com/alibaba/dubbo文件夹下dubbo的jar包。在下载的dubbo-2.6.2.jar包中存在一个文件dubbo.xsd,
2021-11-14 01:43:51
1549
原创 tomcat控制台中文乱码解决
找到tomcat的conf目录下的logging.properties配置文件其中控制台编码由UTF-8改成GBK即可java.util.logging.ConsoleHandler.encoding = GBK
2021-11-12 21:22:27
62
原创 19.算法
算法1.冒泡排序2.二分查找法3.插入排序4.选择排序5.数据里有{1,2,3,4,5,6,7,8,9},请随机打乱顺序,生成一个新的数组(请以代码实现)6.一个问题的最优解是什么意思7.如何不用额外变量交换两个数8.一个数组中只有一个出现了奇数次的数,找出这个数9.提取整形数最右侧的110.一个数组中出现奇数次的两个数,其它数都是偶数次。11.统计一个数的二进制里有多少个112.红黑树的性质:13.手写双向链表14.手写一个ArrayList1.冒泡排序//1.冒泡排序public static i
2021-10-07 22:29:45
248
原创 18.JVM面试题
JVM面试题运行时数据区1.说一下JVM的内存模型吧,有哪些区?分别干什么的?运行时数据区1.说一下JVM的内存模型吧,有哪些区?分别干什么的?
2021-10-07 22:10:28
342
原创 17.设计模式
设计模式1.玩转单例八种模式1.玩转单例八种模式(1)饿汉式(静态变量方式)优缺点:实现简单,但是没有达到lazy loading效果。可用但可能造成内存浪费。public class Singleton01 { private Singleton01(){ System.out.println("调用了构造方法"); } private static final Singleton01 INSTANCE=new Singleton01(); publ
2021-10-07 20:53:14
118
原创 16.Docker面试题
Docker面试题1.Docker相关命令1.Docker相关命令Docker进程相关命令命令作用systemctl start docker启动Docker服务systemctl stop docker停止Docker服务systemctl restart docker重启Docker服务systemctl status docker查看Docker服务状态systemctl enable docker开启自启动docker镜像相关命令
2021-10-07 17:27:35
127
原创 15.linux总结
linux面试题1.查看文件有哪些命令2.移动文件用哪个命令?改名用哪个命令?复制文件用哪个命令,如果连同文件夹一起复制呢?如果需要有提示功能呢?删除文件用哪个命令,连同文件夹一起删除呢?3.防火墙的命令有哪些?怎么查看开放端口?怎么添加开放端口?4.查看进程的命令5.查看日志6.grep 【专抓日志,grep是必备日志分析命令】7.tar命令(对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压)推荐1.查看文件有哪些命令命
2021-10-07 16:26:22
306
原创 14.JUC面试题
JUC面试题多线程基础1.进程和线程的区别。启动线程的方式有几种?如何保证线程安全的?2.线程生命周期3.yield(),join(),sleep()方法各自有什么作用4.notify()和notifyAll()有什么区别?5.并行、并发、串行有什么区别?6.synchronized和Lock的区别?使用Lock有什么好处7.为什么有了Runnable接口还要出现Callable接口?8.手写生产者和消费者Volatile1.谈谈你对Volatile的理解。它跟Synchronized有什么区别?DCL单例
2021-10-07 14:43:48
1299
原创 11.RabbitMQ面试题
RabbitMQ面试题1.Rabbitmq基本概念2.为什么要使用Rabbitmq?3.消息怎么路由?交换机有哪几种?4.Rabbitmq的工作模式5.消息基于什么传输?为什么要采用这种运输?6.如何保证消息的可靠性投递7.如何避免消息重复投递或重复消费?8.消息在什么时候会变成死信?9.设置过期消息有哪两种方法10.延时队列怎么使用?1.Rabbitmq基本概念Rabbitmq是一款开源的,Erlang编写的,基于AMQP协议的消息中间件Broker(Server): 简单来说就是消息队列服务器实体
2021-10-07 13:46:15
246
原创 10.Redis面试题
Redis面试题1.redis的优缺点2.redis是单线程还是多线程的?为什么?3、redis持久化机制是什么?各自的优缺点4.缓存失效问题及解决方案5.Redis实现分布式锁6.Redis事务保证原子性吗,支持隔离性吗?支持回滚吗?7.Redis的并发竞争问题如何解决,了解Redis事务的CAS操作吗?8.redis的默认内存是多少?在哪里查看?如何设置修改最大内存?一般生产上如何配置?如果redis使用超出最大值会怎样?9.redis的过期键的删除策略10.Redis的内存淘汰策略有哪些?怎么设置内存
2021-10-07 11:46:19
262
原创 4.Spring面试题
4.Spring面试题1.什么是控制反转IOC?什么是依赖注入DI?2.SpringIOC创建bean对象的生命周期3.什么是Spring的AOP?4.说下SpringAOP里面的几个名词5.什么是Spring的自动装配?spring自动装配bean有哪些方式6.Spring中的bean的初始化方式有几种?有什么区别?7.@Autowired和@Resource的匹配规则8.Spring IoC 的实现机制。8.spring 提供了哪些配置方式?9.Spring开启\和\的区别10.Spring中有多少个模
2021-10-02 10:57:06
219
原创 3.javaweb与前端基础面试题
javaweb与前端基础面试题javaweb1.Cookie 和 Session 的区别2.http 常见的状态码有哪些?3.token是什么htmlcss1.HTML中嵌入CSS的三种方式?常用的CSS选择器有哪些?选择器优先级?javascript1.HTML中嵌入javascript的三种方式2.javascript中创建方法和定义类的方法有哪些?3.javascript中的\==和\===有什么区别?null,undefined,NaN有什么区别?4.跳转页面的多种方式5.什么是跨域?跨域的流程是什
2021-10-02 10:04:44
340
原创 2.MySQL面试题
2.MySQL面试题MySQL语法1.drop、delete与truncate的区别2.SQL 语言包括哪几部分?每部分都有哪些操作关键3.mysql中UNION与UNION ALL的区别?4.mysql中char和varchar的区别5.varchar(50)中50的含义,int(20)中20的含义6.数据库的三大范式是什么MySQL存储引擎7.mysql存储引擎MyISAM和InnoDB区别MySQL事务8.事务的四大特性介绍一下9.什么是脏读?不可重复读?幻读?10.mysql的事务的隔离级别是什么?
2021-10-02 09:20:58
540
原创 1.java基础面试题
1.java基础面试题java概述1.JDK,JRE,JVM的关系java基础语法2.instanceof关键字的作用3.java关键字instanceof用法,判断的原理4.java关键字break ,continue ,return 的区别及作用5.泛型方法中的\有什么用6.java变量和对象的作用域7.System.arraycopy()方法和Arrays.copyOf()的使用java面向对象8.重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?java
2021-09-30 23:33:11
415
原创 MySQL性能优化
MySQL性能优化一、Explain分析执行计划一、Explain分析执行计划1.explain是什么?使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是结构的性能瓶颈。2.explain有什么用?从explain执行计划中可以获取以下信息表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索引被实际使用表之间的引用每张表有多少行被优化器查询3.怎么用explain?Explain+SQL语句mysql>
2021-09-27 16:58:41
554
原创 MySQL基本命令
MySQL基本命令一、连接MySQL二、MySQL用户操作三、MySQL权限管理四、数据库操作五、数据表操作一、连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。C:\Users\pc>mysql -uroot -pEnter password: ****2、连接到远程主机上的MYSQL。假设远程主机的IP为:192.168.50.46,用户名为root,密码为root。则键入以下命令:C:\Users\pc>mysql -
2021-09-24 23:34:16
409
原创 8.SpringCloud面试题
SpringCloud面试题什么是微服务?单体架构,分布式架构,微服务区别是什么?SpringCloud是什么?SpringCloud常用的组件有哪些?什么是微服务?微服务是一种经过良好架构设计的分布式架构方案,它将单体的应用程序围绕业务能力拆分成多个小的服务。微服务的拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免业务重复开发。每个服务运行在其独立的进程中,服务和服务间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API)。这些服务可以使用不同的编程语言
2021-09-24 12:43:33
101
原创 nacos搭建集群出现的bug
问题发现搭建好nacos后,设置好商品服务的server-addr后,启动报错spring: cloud: nacos: discovery: server-addr: 192.168.50.46报异常NacosExceptioncom.alibaba.nacos.api.exception.NacosException: failed to req API:/api//nacos/v1/ns/instance解决方案直接删除nacos集群每个节点的d
2021-09-23 11:50:28
133
转载 浅谈集群和分布式的区别和联系
浅谈集群和分布式的区别和联系分布式和集群的概念分布式和集群的区别和联系集群部署的作用总结举例说明分布式和集群的概念分布式:分布式就是将一个复杂的业务系统,拆分成多个子业务系统,将其部署在每个不同的服务器上面,通过网络将其连接起来,通过交换信息协作共同完成一个业务。集群:集群就是同一个子业务系统复制成多份,将其分别部署在多台服务器上,这多台服务器将其安装在同一个位置的物理空间之内,形成一个集合的群体,就叫做集群。 分布式和集群的区别和联系区别:从概念上看, 两者是完全不同的,分布式
2021-09-21 20:25:27
189
原创 7.SpringBoot面试题
SpringBoot面试题1. Spring Boot 自动配置原理是什么?2.开启 Spring Boot 特性有哪几种方式?3.Springboot如何解决跨域问题1. Spring Boot 自动配置原理是什么?在springboot的启动类中使用了注解@SpringBootApplication注解,里面的@EnableAutoConfiguration注解是自动配置的核心,注解内部使用@Import(AutoConfigurationImportSelector.class)(class文件
2021-09-21 00:35:07
238
原创 6.Mybatis面试题
Mybatis面试题1.什么是Mybatis?为什么说Mybatis是半自动的ORM框架?2.Mybatis中mapper文件书写sql语句的时候#和$的区别。3.通常一个mapper.xml文件,都会对应一个Dao接口,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?4.Mybatis都有哪些Executor执行器?它们之间的区别是什么?Mybatis中如何指定使用哪一种Executor执行器?5.Mybatis中的一级缓存和二级缓存。6.Mybatis如何开启二级缓存?二级
2021-09-20 00:27:55
782
原创 Mybatis使用关联查询由于表名字段重复导致的问题
项目场景:Mybatis使用关联查询由于表名字段重复导致的问题问题描述:下面代码可以看出Brand和Category表中有了重复的name字段。当我们进行关联查询时,发现category的name属性竟然赋予了外边brand的name的值。@Datapublic class Brand { private Long brandId; private String name; private String descript; private Category cat
2021-09-19 23:17:31
2193
原创 5.SpringMVC面试题
SpringMVC面试题1.请说一下SpringMVC 的执行流程2.如何解决get请求、post请求、返回字符串中文乱码问题?三级目录1.请说一下SpringMVC 的执行流程1.向服务器发送HTTP请求,请求被前端控制器DispatchServlet捕获2.DispatcherServlet调用处理器映射器HandlerMapping3.HandlerMapping根据请求url找到具体的处理器handler,最后以处理器执行链HandlerExecutionChain(生成处理器拦截器+处理器
2021-09-18 16:35:24
186
原创 用普通的maven工程创建web项目遇到的问题
#mermaid-svg-JbQ7JYO8UQjpv18L .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-JbQ7JYO8UQjpv18L .label text{fill:#333}#mermaid-svg-JbQ7JYO8UQjpv18L .node rect,#mermaid-svg-JbQ7JYO8UQ
2021-09-18 15:12:09
294
原创 13.git面试题
git面试题1.什么是git?为什么要使用git?集中化版本控制系统和分布式版本控制系统的区别。2.列举工作中常用的git命令3.git的分支命令4.git的远程仓库命令5.git pull和git fetch的区别6.代码出现bug,是如何解决的?7.rebase(变基)命令和应用场景8.git merge和git rebase的区别9.如何做代码的review,谁来做代码的review10.github常用词含义11.github高级搜索1.什么是git?为什么要使用git?集中化版本控制系统和分布式
2021-09-18 00:52:05
6411
2
原创 12.Mave面试题
Mave面试题1.Maven仓库2.Maven的常用命令。package,install,deploy命令的区别。3.什么是Maven的坐标?4.Maven中的packaging5.Maven的依赖范围有哪些(在scope中指定)?6.Maven工程之间的关系1.Maven仓库本地仓库: 默认为users.pc.m2.repository远程仓库: 分为中央仓库和本地私服仓库 默认远程仓库使用Apache提供的中央仓库,一般我们要在配置文件里配置使用阿里元提供的镜像仓库。2.Maven的常用命
2021-09-18 00:23:41
352
原创 nginx常用的命令
nginx常用的命令全局块全局块user用于配置运行Nginx服务器的worker进程的用户和用户组。work processmaster_process:用来指定是否开启工作进程。此命令生效必须先关闭nginx,再启动nginx.重启无效worker_processes:用于配置Nginx生成工作进程的数量,这个是Nginx服务器实现并发处理服务的关键所在。理论上来说workder process的值越大,可以支持的并发处理量也越多,但事实上这个值的设定是需要受到来自服务器自身的限
2021-09-17 17:35:30
4479
原创 9.nginx面试题
nginx总结1.谈谈你对nginx的理解2.反向代理和正向代理有什么区别?反向代理的优点是什么。3.nginx常用的命令4.nginx的master进程和worker进程分别是什么?1.谈谈你对nginx的理解nginx是什么?nginx是一个轻量级的高性能的反向代理web服务器,可以用于HTTP、HTTPS、SMTP、POP3和IMAP协议。它主要是用来做反向代理,负载均衡,动静分离的。为什么要用nginx?nginx的优点是跨平台、配置简单,高并发连接:官方监测能支持5万并发、内存消耗小:开
2021-09-17 16:19:05
167
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人