6 麦田里守望者_

尚未进行身份认证

暂无相关简介

等级
TA的排名 3w+

MyBatis多租户隔离插件开发

在SASS的大潮流下,相信依然存在很多使用一个数据库为多个租户提供服务的场景,这个情况下一般是多个租户共用同一套表通过sql语句级别来隔离不同租户的资源,比如设置一个租户标识字段,每次查询的时候在后面附加一个筛选条件:TenantId=xxx。这样能低代价、简单地实现多租户服务,但是每次执行sql的时候需要附加字段隔离,否则会出现数据错乱。此隔离过程应该自动标识完成,所以我今天借助于My...

2019-12-28 12:22:32

spring-data-redis用配置类连接时,抛异常Cannot get Jedis connection; nested exception is java.lang.NullPointerEx

前提:redis服务器已经运行,且端口号,服务器地址都已经配置正常,但任然抛出无法获取连接异常原来的代码如下:@Bean public JedisConnectionFactory connectionFactory(){ JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFact...

2019-11-28 19:48:59

ELK环境搭建

1.ELK版本下载路径:https://www.elastic.co/downloads/past-releases, 必须版本一致,不然会出现不兼容情况2.下载ELK的包:下载地址:https://www.elastic.co/downloads下载最新版的、linux服务器能使用的。右键复制链接地址,wget就可以下载,如:wgethttps://artifacts.elast...

2019-11-01 11:16:40

JAVA面试

面试题模块介绍说了这么多,下面进入我们本文的主题,我们这份面试题,包含的内容了十九了模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所...

2019-10-27 18:13:06

SQL进行优化

一、为什么要对SQL进行优化我们开发项目上线初期,由于业务数据量相对较少,一些SQL的执行效率对程序运行效率的影响不太明显,而开发和运维人员也无法判断SQL对程序的运行效率有多大,故很少针对SQL进行专门的优化,而随着时间的积累,业务数据量的增多,SQL的执行效率对程序的运行效率的影响逐渐增大,此时对SQL的优化就很有必要。二、SQL优化的一些方法1.对查询进行优化,应尽量避免全表扫描...

2019-10-27 11:56:48

SPRINGBOOT启动流程及其原理

Spring Boot、Spring MVC 和 Spring 有什么区别?分别描述各自的特征:Spring框架就像一个家族,有众多衍生产品例如boot、security、jpa等等;但他们的基础都是Spring 的ioc和 aop,ioc提供了依赖注入的容器,aop解决了面向切面编程,然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MV...

2019-10-24 09:48:23

海量数据处理

何谓海量数据处理?所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导致无法一次性装入内存。那解决办法呢?针对时间,我们可以采用巧妙的算法搭配合适的数据结构,如Bloom filter/Hash/bit-map/堆/数据库或倒排索引/trie树,针对空间,无非就一个办法:大而化小,分而治...

2019-10-14 20:35:33

微信红包的设计实现

红包功能的设计实现是一个很有趣的话题,主要的功能是P个人抢总金额M的N个红包,满足先抢的N个人能抢到红包。如果这是一个leetcode的算法题目难度应该是easy,只要保证Ni抢到的金额区间在[0.01,2倍剩余金额平均值)就能ac。将算法带入到真实的工程实现,问题就要复杂得多,如果达到微信的量级,明显要考虑的有以下几点。拆红包 高并发读 并发写 网络流量峰值 对账 降级 ...

2019-08-29 14:21:03

JAVA头条、百度面经

头条面经一面(60分钟)Redis 里的有序列表底层实现 Redis 集群、哨兵机制 消息中间件的选型问题,为什么要用 MQ Linux 中能否删除一个正在运行的文件 Linux 常用的命令,如何排查 bug JVM 垃圾回收如何解决对象循环引用的问题,垃圾回收算法 TCP 的四次挥手的详细过程,为什么会有 CLOSE_WAIT 和 TIME_WAIT 输入一个 url...

2019-08-13 08:56:03

数据排序算法

冒泡排序要点冒泡排序是一种交换排序。什么是交换排序呢?交换排序:两两比较待排序的关键字,并交换不满足次序要求的那对数,直到整个表都满足次序要求为止。算法思想它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到...

2019-08-02 15:00:56

JAVA架构学习

面试资料:链接在这:链接:https://pan.baidu.com/s/1oc12C5FnETfGc5JW49Uz9w提取码:jpj6鲁班学院Java高级课程大纲(VIP)https://www.processon.com/view/link/5c88be8fe4b0afc744100f33#map并发编程专题JAVA内存模型(JMM)java当中的线程...

2019-07-03 09:16:30

逃逸分析

什么是逃逸分析?关于 Java 逃逸分析的定义:逃逸分析(Escape Analysis)简单来讲就是,Java Hotspot 虚拟机可以分析新创建对象的使用范围,并决定是否在 Java 堆上分配内存的一项技术。逃逸分析的 JVM 参数如下: 开启逃逸分析:-XX:+DoEscapeAnalysis 关闭逃逸分析:-XX:-DoEscapeAnalysis ...

2019-06-21 10:12:41

秒杀系统的设计

什么是秒杀秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到。对于电商网站中一些稀缺或者特价商品,电商网站一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大量用户前来抢购,并且会在约定的时间点同时在秒杀页面进行抢购。秒杀系统场景特点秒杀时大量用户会在同一时间同时进行抢购,网站瞬时访问流量激增。 秒杀一般是访问请求数量远远大于库存数量,只有少部分...

2019-06-19 19:53:11

JAVA试题

作者:享学课堂 Java架构链接:https://zhuanlan.zhihu.com/p/66941420来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。JAVA基础JAVA中的几种基本数据类型是什么,各自占用多少字节。 String类能被继承吗,为什么。 String,Stringbuffer,StringBuilder的区别。 Array...

2019-06-03 17:45:08

Java实现堆排序(大根堆)

  堆排序是一种树形选择排序方法,它的特点是:在排序的过程中,将array[0,...,n-1]看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲节点和孩子结点之间的内在关系,在当前无序区中选择关键字最大(最小)的元素。1. 若array[0,...,n-1]表示一颗完全二叉树的顺序存储模式,则双亲节点指针和孩子结点指针之间的内在关系如下:  任意一节点指针 i:父节点:i==...

2019-05-31 16:24:04

关于链表的面试问题(判断一个单链表中是否有环)

上个月去CVTE面试安卓工程师时,面试官问了一道关于链表的算法问题,判断一个单链表中是否有环,当时我没仔细思考,没考虑到可能有子环的。首先链表结点声明如下:struct ListNode{ int key; ListNode * next;};思路:如果一个单链表中有环,用一个指针去遍历,永远不会结束,所以可以用两个指针,一个指针一次走一步,另一个指针...

2019-05-31 14:51:01

idea推送工程到github

IDEA配置GIT注:此方法可用于配置gitlab也可用于配置github1.在github中创建一个账号:https://github.com/join?source=header-home2.下载并安装git:https://git-scm.com/downloads3.安装成功后打开Git Bash,输入下列命令,设置git全局用户名和邮箱4.在IDEA中设置Git,...

2019-05-16 10:48:10

eclipse Web工程导入IDEA

相信很多同学在工作中都会遇到将一个Eclipse的Web项目导入IDEA的情景,这里浅谈一下具体的操作流程一:Import Project,选择要导入的项目二:选择以Eclipse模型的方式导入一路向西,哦,不,一路向下~:选择JDK的版本,我这里之前已经配置好了,如果没有,可以在左侧点击+进行配置可以看到,项目已经导入到IDEA中了,这里的 .idea, .iml 都是ID...

2019-05-07 14:18:14

判断一个树是否为二叉查找树

一开始还以为这个问题很简单,平时练习的时候也没有多在意,直到。。。百度二面后一个算法加面以及字节跳动视频面都出现了这个问题,才发现并不是想象中的那么简单。找了别人的几篇博客看了看,发现别人好像都有过总结。。就有点尴尬,想来想去还是记录下来吧,敲一遍印象更深。。。【我只是代码的搬运工】———————————————– 我是正文分割线————————————————–1. 二叉查找树定义?...

2019-04-28 15:55:18

Java面试

Java多线程线程池的原理,为什么要创建线程池? 线程的生命周期,什么时候会出现僵死进程; 什么实现线程安全,如何实现线程安全; 创建线程池有哪几个核心参数? 如何合理配置线程池的大小? synchronized、volatile区别、synchronized锁粒度、模拟死锁场景、原子性与可见性;JVM相关JVM内存模型,GC机制和原理;GC分哪两种;什么时候会触发Ful...

2019-04-22 14:18:05

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。