随笔分类 -  面面俱到

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要:并发编程的优缺点 为什么要使用并发编程(并发编程的优点) 充分利用多核CPU的计算能力 方便进行业务拆分,提升系统并发能力和性能 并发编程的缺点 并发编程的目的就是为了能提高程序的执行效率,提高程序运行速度,但是并发编程并不总是能提高程序运行速度的,而且并发编程可能会遇到很多问题,比如:内存泄漏、上 阅读全文
posted @ 2023-03-28 13:52 残城碎梦 阅读(33) 评论(0) 推荐(0) 编辑
摘要:什么是RPC RPC(Remote Procedure Call) 即远程过程调用,通过名字我们就能看出 RPC 关注的是远程调用而非本地调用。 为什么要 RPC?因为两个不同的服务器上的服务提供的方法不在一个内存空间,所以需要通过网络编程才能传递方法调用所需要的参数。并且方法调用的结果也需要通过网 阅读全文
posted @ 2023-03-27 17:10 残城碎梦 阅读(152) 评论(0) 推荐(0) 编辑
摘要:toString()方法可能会抛空指针异常 这种使用方法中,因为java.lang.Object类里已有public方法.toString(),所以java对象都可以调用此方法。但在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。采用这种方法 阅读全文
posted @ 2023-03-27 17:09 残城碎梦 阅读(46) 评论(0) 推荐(0) 编辑
摘要:什么是Elasticsearch Elasticsearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎,每个字段都被索引并可被搜索,可以快速存储、搜索、分析海量的数据。 全文检索是指对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当查询时,根据事先建立的索引进行查 阅读全文
posted @ 2023-03-27 15:20 残城碎梦 阅读(106) 评论(0) 推荐(0) 编辑
摘要:当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储IP地址,而不是使用字符串。 相对字符串存储,使用无符号整数来存储有如下的好处: 节省空间,不管是数据存储空间,还是索引存储空间 便于使用范围查询(BETWEEN...AND),且效率更高 通常,在保存IPv4地址时, 阅读全文
posted @ 2023-03-27 15:10 残城碎梦 阅读(272) 评论(0) 推荐(0) 编辑
摘要:为什么会出现这种session共享的解决方案? 随着互联网公司的项目在微服务和分布式的环境下进行的搭建,导致一个项目可能分别部署在几个甚至很多的服务器集群下,此时就会出现一个问题: 当用户进行一个session会话的时候,比如一个用户去登录项目,一般的大公司的项目都是有Nginx进行反向代理的, N 阅读全文
posted @ 2023-03-27 14:52 残城碎梦 阅读(89) 评论(0) 推荐(0) 编辑
摘要:kafka的IO效率这么高的原因: (1)kafka是顺序写入数据的(数据都是追加到文件末尾),把普通的那种随机IO变成了顺序IO,这样的话写入数据的速度就比较快 (2)kafka读取数据时是基于sendfile实现Zero Copy 磁盘的特性:快速顺序读写、慢速随机读写。因为磁盘是典型的IO块设 阅读全文
posted @ 2023-03-27 10:14 残城碎梦 阅读(41) 评论(0) 推荐(0) 编辑
摘要:服务器采用了负载均衡,有两台服务器,部署的代码一样,所以里面的定时任务在某一时间会被同时执行,这就导致了很多其他意外的发生,想要解决的问题基本就三个:单点执行,故障转移,服务状态。 默认固定执行定时任务的服务 在某一台服务上面执行定时任务,其他服务关闭定时任务,或者在定时任务前加判断指定ip,缺点指 阅读全文
posted @ 2023-03-27 09:55 残城碎梦 阅读(285) 评论(0) 推荐(0) 编辑
摘要:Java序列化与反序列化是什么? Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程。 什么情况下需要用到序列化 把内存中的对象状态保存到一个文件中或者数据库中时候; 使用套接字在网络上传送对象的时候; 通过RMI传输对象的时候; 总之一句 阅读全文
posted @ 2023-03-27 08:52 残城碎梦 阅读(958) 评论(0) 推荐(1) 编辑
摘要:新生代回收器 Serial ParNew parallel 老年代回收器 Serial Old CMS Parallel Old 新生代和老年代回收器 G1 基本概念 Stop-the-world 它是指 JVM 由于要执行 GC 而停止了应用程序的执行,并且这种情形会在任何一种 GC 算法中发生。 阅读全文
posted @ 2023-03-26 21:42 残城碎梦 阅读(57) 评论(0) 推荐(0) 编辑
摘要:@Transactional注解简介 @Transactional是spring中声明式事务管理的注解配置方式。@Transactional注解可以帮助我们把事务开启、提交或者回滚的操作,通过aop的方式进行管理。 通过@Transactional注解就能让spring为我们管理事务,免去了重复的事 阅读全文
posted @ 2023-03-26 21:38 残城碎梦 阅读(81) 评论(0) 推荐(0) 编辑
摘要:共享锁(S锁)又称为读锁,可以查看但无法修改和删除的一种数据锁。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排它锁。获准共享锁的事务只能读数据,不能修改数据。 共享锁下其它用户可以并发读取,查询数据。但不能修改,增加,删除数据。资源共享. 排它锁(X锁)又称为写锁、独占锁,若 阅读全文
posted @ 2023-03-26 17:58 残城碎梦 阅读(233) 评论(0) 推荐(0) 编辑
摘要:Nacos架构: Provider APP:服务提供者 Consumer APP:服务消费者 Name Server:通过VIP(Virtual IP)或DNS的方式实现Nacos高可用集群的服务路由 Nacos Server:Nacos服务提供者,里面包含的Open API是功能访问入口,Coni 阅读全文
posted @ 2023-03-26 17:42 残城碎梦 阅读(121) 评论(0) 推荐(0) 编辑
摘要:Spring将管理的一个个的依赖对象称之为Bean。 Spring IOC容器就好像一个生产产品的流水线上的机器,Spring创建出来的Bean就好像是流水线的终点生产出来的一个个精美绝伦的产品。既然是机器,总要先启动,Spring也不例外。因此Bean的一生从总体上来说可以分为两个阶段: 容器启动 阅读全文
posted @ 2023-03-26 11:30 残城碎梦 阅读(101) 评论(0) 推荐(0) 编辑
摘要:数据丢失的情况 异步复制同步丢失 集群产生脑裂数据丢失 异步复制丢失 对于Redis主节点与从节点之间的数据复制,是异步复制的,当客户端发送写请求给master节点的时候,客户端会返回OK,然后同步到各个slave节点中。 如果此时master还没来得及同步给slave节点时发生宕机,那么maste 阅读全文
posted @ 2023-03-26 08:20 残城碎梦 阅读(183) 评论(0) 推荐(0) 编辑
摘要:首先回顾一下自动装箱。对于下面这行代码: Integer a = 1; 变量a为Integer类型,而1为int类型,且Integer和int之间并无继承关系,按照Java的一般处理方法,这行代码应该报错。 但因为自动装箱机制的存在,在为Integer类型的变量赋int类型值时,Java会自动将in 阅读全文
posted @ 2023-03-26 08:13 残城碎梦 阅读(110) 评论(0) 推荐(0) 编辑
摘要:什么是主从复制? 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。 主从复制的作用(好处,或者说为什么要做主从) 做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。 架构的扩展。业务量越来越大,I/O访 阅读全文
posted @ 2023-03-26 08:05 残城碎梦 阅读(24) 评论(0) 推荐(0) 编辑
摘要:一面二面面试官 (一面面试官一般是小组负责人或是团队负责人,二面面试官可能是部门负责人): 如果不清楚他们是做什么的,可以问问他们主要是做什么的,主要负责哪块? 团队规模有多大,移动端有多少人、Android端有多少人、测试怎么测等? 如果我入职了,可能会负责哪块,主要做什么? 团队以后想扩大到多少 阅读全文
posted @ 2023-03-26 07:58 残城碎梦 阅读(93) 评论(0) 推荐(0) 编辑
摘要:实际项目开发中,如果涉及到多张表操作时,为了保证业务数据的一致性,大家一般都会采用事务机制。此篇文章给大家整理了一下常见Spring事务失效的场景。 常见的失效场景: 注解@Transactional配置的方法非public权限修饰; 注解@Transactional所在类非Spring容器管理的b 阅读全文
posted @ 2023-03-25 21:41 残城碎梦 阅读(49) 评论(0) 推荐(0) 编辑
摘要:Mybatis是什么? MyBatis框架是一个开源的数据持久层框架。 它的内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询、存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索。 MyBatis作为持久层框架,其主要思想是将程序中的大量SQL语句剥离出来,配 阅读全文
posted @ 2023-03-25 21:40 残城碎梦 阅读(77) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
点击右上角即可分享
微信分享提示