自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RuiDer的博客

我看好自己的认真

  • 博客(145)
  • 收藏
  • 关注

原创 腾讯面经

一面 (时长54分钟)自我介绍说项目,项目问的比较深,我说到算法(正态分布),问到正态分布的细节HashMap原理Hash碰撞的解决方法我说了两个:拉链法,开放定址法(需要看看原理)StringBuilder和StringBuffer的区别我说到了String常量,字符串操作中最慢,之后就是StringBuilder和StringBuffer的线程安全性St...

2019-03-22 10:51:42 16275 45

原创 DataSource数据源简单理解

DataSource数据源简单理解因为热爱,所以拼搏。 –RuiDer什么是数据源 JDBC2.0 提供了javax.sql.DataSource接口,它负责建立与数据库的连接,当在应用程序中访问数据库时 不必编写连接数据库的代码,直接引用DataSource获取数据库的连接对象即可。用于获取操作数据Connection对象。数据源与数...

2018-06-22 11:40:17 69959 9

原创 Linux常用命令(面试题)

Linux常用命令 因为热爱,所以拼搏。 –RuiDer常用指令ls   显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir 创建目录 -p 创建目录,若...

2018-06-13 22:50:46 112857 26

原创 MySQL索引原理

1. 概述如果你有以下疑问,值得往下看:1、业务ID能保证唯一性,是不是可以考虑不使用自增主键?自增主键和业务ID做主键,底层到底有什么区别?2、同样是索引,条件中使用主键索引作为条件和非主键索引作为条件,性能一样吗?3、为什么有人说,对于邮箱地址这种数据比较长的字段,不适合直接创建索引?4、创建独立字段的索引,查询已经很快,为什么我们还需要考虑创建组合索引?什么场景下需要创建组合索引?5、覆盖索引和回表是啥意思?2. 常见问题阅读正文前,建议大家做个小调研,带着这些问题往下看,参考答案在后

2021-06-04 21:52:02 422 1

原创 获取类加载器Java

Java获取类加载器的方式一般有两种:第一种:从Class中获取ClassLoader classLoader = this.getClass().getClassLoader();第二种:从当前线程Thread获取ClassLoader classLoader = Thread.currentThread().getContextClassLoader();

2021-01-21 17:54:10 520

原创 mapper接口与mapper.xml文件之间的字段映射异常解决方案

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘accountNo’ not found在mapper接口对应的方法中加入@Param("")注解,例如:User select (@Param(“userId”) int userId);...

2020-09-05 16:14:38 803

原创 sudo: source: command not found问题解决方案

分析source 命令用于执行被修改的配置文件,使最新配置更新到操作系统通常有如下命令source ~/.profilesource ~/.bash_profilesource /etc/profile遇到sudo: source: command not found问题,主要是因为系统中的很多命令需要声明式配置,才能在终端调用这些命令解决方案(终端执行一下命令):touch ~/.bash_profileopen ~/.bash_profile在~/.bash_profile中配

2020-08-17 20:46:51 18460 3

原创 Java深浅克隆

浅克隆:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型属性,仍指向原有属性所指向的对象的内存地址。深克隆:创建一个新对象,属性中引用的其他对象也会被克隆,不再指向原有对象地址。总之深浅克隆都会在堆中新分配一块区域,区别在于对象属性引用的对象是否需要进行克隆(递归性的)。...

2020-05-23 13:50:51 135

原创 UndoLog、RedoLog、BinLog

UndoLog:对数据进行备份,保证事务的原子性,要们成功,要么失败(提交和回滚)RedoLog:对未提交的数据进行持久化到磁盘,保证事务的持久化,用于服务器宕机后回复服务器数据BinLog:记录提交&&变更数据事务的日志,可用于主从复制...

2020-05-23 13:44:08 112

原创 腾讯笔经面经(微信事业群)

时间:20190831 时长:1小时30分地点:牛客远程视频一分钟自我介绍一、上手code1、手写字符串的反转我的code:public String stringReserve(String inputString) { int length = inputString.length(); if(inputString == null || leng...

2020-05-23 13:43:01 404

原创 二叉树寻找公共父节点

public Node findFatherNode (Node root, int data1, int data2, int data3) { if (root == null) { return null; } if (root.data == data1 || root.data == data2 || root.data ==...

2020-05-23 13:37:47 949

原创 rm命令恢复删除数据

rm -rf命令会彻底删除文件,不可恢复,警惕使用如何实现将该删除的文件先移除到垃圾箱解决方案下载安装rmtrash下载方法是终端执行brew install rmtrash在~/.bash_profile文件替换rm命令,在终端执行vim ~/.bash_profile,在~/.bash_profile文件中增加alias rm='rmtrash'...

2020-05-21 13:45:53 1165

原创 Mac curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused解决方案

问题描述Mac安装HomeBrew时出错curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused解决方案:执行命令vim brew_install.rb将下面文本粘贴到上面的文件中在brew_install.rb所在目录终端执行ruby brew_install.rbbrew_install.rb内容如下:#!/usr/bin/ruby# This script inst

2020-05-21 13:33:36 1080

原创 make命令(适合初次上手者)

按照下面流程处理:一、 安装m4下载http://mirrors.kernel.org/gnu/m4/m4-1.4.14.tar.gz解压该压缩包终端进入该文件,执行./configure --prefix=/usr/local/makesudo make install二、 安装autoconf下载http://mirrors.kernel.org/gnu/autocon...

2020-04-30 15:51:01 502

原创 springboot 有bean(mapper、service)却找不到bean的问题解决方案

解决方案1在service的实现类添加@Service解决方案2在mapper接口添加@Mapper。如果mapper接口使用@Repository,需要在Application中添加@MapperScan(“com.mapper”)解决方案3在项目的maven包中添加一下依赖 <dependency> <groupId>org.myb...

2019-12-13 11:01:27 8591 2

原创 Java实现RPC(源码)

文章目录一、RPC简介二、RPC组成成员三、源码实现四、功能测试五、GitHub源码地址一、RPC简介分布式系统的成员之一,解决服务之间的调用问题。远程调用时,RPC实现了调用远程服务能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。二、RPC组成成员动态代理序列化网络传输调用服务API接口本次RPC搭建使用的接口代理模式、Java默认Serializable序列化以及...

2019-10-22 22:12:36 494

原创 程序员看金融

基本要求借贷记账法的记账规则可以概括为:有借必有贷,借贷必相等。借贷记账法借贷只是一种记录经济业务的符号,不能与生活中的所谓的“借”,“贷”相对比(一)资产类账户的结构在资产类账户中,它的借方记录资产的增加额,贷方记录资产的减少额。在同一会计期间(年、月),借方记录的合计数额称作本期借方发生额,贷方记录的合计数称作本期贷方发生额,在每一会计期间的期末将借贷方发生额相比较,其差额称作期...

2019-09-18 14:31:35 234 4

原创 Java类加载

代码实现父类代码public class StaticTestClassParent { public StaticTestClassParent() { System.out.println("执行父类构造器"); } static { System.out.println("执行父类静态代码块"); } { ...

2019-09-17 20:50:02 137

原创 腾讯笔经面经(微信事业群)

时间:2019/9/10 11:00 ~ 13:30时长两个半小时算法题(1个半小时)题目1对于一棵满二叉排序树深度为K,节点数为 2^K - 1 ;节点值为 1至 (2^K-1)。给出K和任意三个节点的值,输出包含该三个节点的最小子树的根节点值样例输入:4 10 15 13样例输出:12我的代码实现:package NormalTest;import java.ut...

2019-09-10 23:12:42 6438 8

原创 系统大小端测试

一、大小端模式概念Java中命名的数据在系统的内存中的存放方式分为大端、小端模式。如下图:int a = 0x12345678;不同的模式存放方式:三、Java测试系统大小端/** * 测试系统的大小端模式 * 大端模式:数据按照顺序存放在内存字节中 * 小端模式:数据和大端模式存放数据方式相反 * 如int值12345678,占用内存4个字节,...

2019-09-02 20:50:43 345

原创 腾讯笔经面经(微信事业群)

文章目录一、算法二、技术面试题三、总结时长:1小时30分钟时间:2019/8/31一分钟自我介绍一、算法1、手写代码实现字符串反转public String stringReverse (String inputString) { int length = inputString.length(); if (inputString == null || ...

2019-09-01 01:10:46 2302

原创 观察者模式

一、概念观察者模式又称为发布订阅模式,观察者模式定义了一对多的依赖关系,让多个观察者同时监视着被观察者的状态二、简单实现观察者模式被观察者需要继承Observable类观察者需要实现Observer接口,实现upate方法1、被观察者代码:import java.util.Observable;import java.util.Observer;public class Ob...

2019-08-28 16:50:21 257

原创 实现SpringAOP

一、动态代理模式简单理解:动态代理生成一个对象的代理,这个代理对象拥有和原对象的所有属性和行为,而且还多出另外功能。举个例子:现在有一个对象A1,A1有个方法test(),用动态代理生成对等代理对象A2,A2可以像A1调用test()方法,但是A2会在调用过程插入一些额外的操作。二、动态代理(JDK)代理对象接口和实现类,下面代码中的TestService和TestServiceImp...

2019-08-27 22:47:47 141

原创 Java单例模式(面试)

public class Instance1 { private static Instance instance; private Instance () {} public static Instance getInstance () { if (this.instance == null) { instance = new Instacne(); } retur...

2019-08-22 00:43:56 119

原创 分布式事务

一、TCC简介在两阶段提交2PC(2PC,Two Phase Commitment Protocol)过程中,事务管理器和资源管理器是最大功臣资源管理器功能是实现TCC功能,即try、Confirm、cancle三个操作。TCC是一种比较成熟的分布式事务解决方案,可用于解决跨数据库、跨服务业务操作的数据一致性问题;TCC被称为服务化的资源管理器。try:实现资源的检查和预留;confirm...

2019-08-01 23:13:54 410

转载 Mock学习

好文章推荐

2019-07-23 20:21:54 146

原创 分布式事务

一、背景1、分布式架构中,由于后台服务器数量不再是单机,数据库采用分库分表策略,数据库分布在不同的多台服务器上,在单机背景下对数据库的操作ACID已不再适用于分布式系统。在分布式架构中如何保证事务的原子性、一致性、隔离性、持久性成为技术的突破点。2、分布式事务业界还没有开源的产品,主流公司各自研发自己的分布式事务框架。二、解决方案 – CAP理论当我们的单个数据库的性能产生瓶颈的时候...

2019-07-18 19:01:32 168

原创 IDEA快捷键

【idea快捷键】查看类所有方法 【command+7】CTRL+ALT+L  格式化代码CTRL+E      最近更改的代码查看方法在哪被调用:右击find Usages查找路径/关键字 【command+shift+G】方法的使用链【选中方法,在Navigate中选择Call Hierarchy】工程流程图绘制,【选中工程或者类右击选择...

2019-07-18 17:23:39 339

原创 自适应负载均衡(Dubbo)

一张图看懂分布式一、负载均衡分布式负载均衡算法是个老生常谈的问题了,Consumer从来自注册中心的服务列表选择一个合适的服务来执行Consumer相应的方法,一般有选择算法 随机算法,哈希算法,轮训算法,加权轮询算法,加权随机算法,最小连接数算法二、自适应负载均衡背景Provider数量可变,负载均衡技术可动态调整不同的Provider系统配置不同,性能也不同不同的Provi...

2019-07-18 00:27:18 1753

原创 解读你不知道的事务机制

分享好文章

2019-07-11 20:57:47 131

原创 苦苦等待的Java线程池总结终于来了!

执行shutdownvolatile int runState;static final int RUNNING = 0;static final int SHUTDOWN = 1;static final int STOP = 2;static final int TERMINATED = 3;ThreadPoolExecutor对象执行shutdow...

2019-07-10 20:14:28 133

原创 带你搞懂for update 和 for update nowait

for update 功能(锁住表和锁住符合条件的行)select * from TTable1 for update 锁定表的所有行,只能读不能写select * from TTable1 where pkid = 1 for update 只锁定pkid=1的行select * from Table1 a join Table2 b on a.pkid=b.pkid for updat...

2019-07-09 18:35:47 3223

原创 ppt转微课

打开ppt插耳机找到幻灯片放映点击录制幻灯片演示点击从头开始之后你对着一页一页讲就好了一直到最后,会出现保存页面,保存的时候需要注意,按照下面过程保存保存类型需要注意,是Windows Media 视频(*.wmn)...

2019-06-16 23:21:34 574

原创 架构师眼里的分库分表是这样的

数据库单库允许存放的数据量是5000W,超过5000w性能直线下降,解决单库这个瓶颈,可以将多个单库多表拆分到多个库中,最好一库一表,十库十表,百库百表。此过程叫做垂直分库单表承受量一般是500w~1000w,超过区间,性能下降。解决问题途径:根据表子段分类,不常用,数据量大等字段进行拆分,此过程叫做垂直分表;如果垂直分表之后单表数据量依旧很大,依然存在单表瓶颈,解决问题途径:将数据量水平拆分...

2019-06-01 16:51:39 486

原创 腾讯云域名绑定ip

云服务器绑定域名遇到的一些坑

2019-05-25 17:41:15 2881

原创 执行jar包命令java -jar

java -jar XX.jar

2019-05-25 14:09:03 258

原创 Java生产者和消费者(源码)(面试)

本篇文章来自本人实践,生产者和消费者问题在面试中也是经常被问及到,上代码package com.ruider.currentTest;public class ProducerAndConsumer { private static Resource resource = new Resource(); public static void main (String[]...

2019-05-21 10:42:22 279

原创 最长回文子串(LeetCode 5. 最长回文子串)-- 马拉车算法

文章目录出处题目马拉车算法Java实现出处LeetCode 5. 最长回文子串题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"马拉车算法这个马拉车算法Manacher‘s Algorith...

2019-04-18 12:20:11 360

原创 消息队列就改这么学(ActiveMQ)

ActiveMQ介绍MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。MQ的消费-生产者模型的一个典型的代表,一端往消息队列中不断的写入消息,而另一端则可以读取或者订阅队列中的消息。MQ和JMS类似JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用...

2019-04-16 11:13:48 195

原创 git新分支替换master分支步骤

需求现在远程仓库和本地仓库分支同步,分别有master和develop两个分支,需求是master很古旧了,需要使用新的develop替换master步骤如下对master备份(GitHub支持备份)进入setting设置develop为默认仓库本地操作删除远程master分支:git push origin -d master本地仓库删除master分支:git branch...

2019-04-09 11:49:18 5751

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除