• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

2019年03月的内容

数据库中间件详解 | 珍藏版

 1 数据库拆分过程及挑战        互联网当下的数据库拆分过程基本遵循的顺序是:垂直拆分、读写分离、分库分表(水平拆分)。每个拆分过程都能解决业务上的一些问题,但同时也面临了一些挑战。 1.1 垂直拆分对于一个刚上线的互联网项目来说,由于前期活跃用户数量并不多,并发量也相对较小,所以此时企业一般都会选择将所有数据存放在一个数据库……

千万级负载神器 LVS、Nginx及HAProxy工作原理大图详解!

当前大多数的互联网系统都使用了服务器集群技术,集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是 Web 应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等。在实际应用中,在 Web 服务器集群之前总会有一台负载均衡服务器,负载均衡设备的任务就是作为 Web 服务器流量的入口,挑选最合适……

如何在Tomcat中做TLS客户端认证

 常见的https网站做的是服务端认证(server authentication),浏览器通过证书判断你所访问的 https://baidu.com是否真的是百度,而不是其他人伪造的网站。同时还对流量加密,防止别人窃听你的流量。tls还可以做客户端认证(client authentication),即服务端判断客户端是否为其所信任的客户端。……

拜托,面试官别问我「布隆」了

题目描述一个网站有 100 亿 url 存在一个黑名单中,每条 url 平均 64 字节。这个黑名单要怎么存?若此时随便输入一个 url,你如何快速判断该 url 是否在这个黑名单中?题目解析这是一道经常在面试中出现的算法题。凭借着题目极其容易描述,电面的时候也出现过。不考虑细节的话,此题就是一个简单的查找问题。对于查找问题而言,使用散列……

“搜索”的原理,架构,实现,实践,面试不用再怕了(值得收藏)!!!

可能99%的同学不做搜索引擎,但99%的同学一定实现过检索功能。搜索,检索,这里面到底包含哪些技术的东西,希望本文能够给大家一些启示。 全网搜索引擎架构与流程如何?全网搜索引擎的宏观架构如上图,核心子系统主要分为三部分(粉色部分):(1)spider爬虫系统;(2)search&index建立索引与查询索引系统,这个系统又主要……

面试官:给我说说你平时是如何优化MySQL的?

# 1、EXPLAIN做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据。type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式……

「Jenkins+Git+Maven+Shell+Tomcat持续集成」经典教程

Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变得可能。现在软件开发追求的是效率以及质量,Jenkins使得自动化成为可能!亮点1.采用shell自定义脚本,控制集成部署环境更加方便灵活2.精简war包中的lib包,常驻tomcat里,减少war包传输时间3.Jenkins 用户权限管理,不让淘气鬼……

@RequestParam等参数绑定注解是怎么实现的?自定义参数绑定注解的妙用

介绍SpringMVC参数绑定的注解有很多,如@RequestParam,@RequestBody,@PathVariable,@RequestHeader,@CookieValue等。这些注解的实现方式很类似,都是有一个对应的解析器,解析完返回一个对象,放在方法的参数上。对参数绑定注解不熟悉的看推荐阅读如@RequestParam的解析……

【Java并发】锁优化

锁的四种状态锁的状态总共有四种:无锁状态、偏向锁、轻量级锁和重量级锁。随着锁的竞争,锁可以从偏向锁升级到轻量级锁,再升级的重量级锁。但是不可以降级。重量级锁sychronized就是重量级锁。Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实……

208道高频 Java面试题答案2

容器18. java 容器都有哪些? 常用容器的图录:19. Collection 和 Collections 有什么区别?java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collectio……

208道高频 Java面试题答案1

目前市面上的面试题存在两大问题:第一,题目太旧好久没有更新了,还都停留在 2010 年之前的状态;第二,近几年 JDK 更新和发布都很快,Java 的用法也变了不少,加上 Java 技术栈也加入了很多新的框架,比如 Spring Boot、Spring Cloud 等,但类似的面试题却极少。相比与这些问题,我的这 208 道面试题具备以下优点……

208道 Java 高频面试题答案4

反射57. 什么是反射? 反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力Java反射:在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。……

10分钟掌握ConcurrentHashMap 3分钟清楚和HashMap、Hashtable的区别

 ConcurrentHashMap顾名思义就是同步的HashMap,也就是线程安全的HashMap,所以本篇介绍的ConcurrentHashMap和HashMap有着很重要的关系,所以建议之前没有了解过HashMap的可以先看看这篇关于HashMap的原理分析《HashMap从认识到源码分析》,本篇继续以JDK1.8版本的源码进行分析,……

阿里面试题:为什么Map桶中个数超过8才转为红黑树

这是笔者一个好友面试阿里时,被问及的一个问题,应该不少人看到这个问题都会一面懵逼。因为,大部分的文章都是分析链表是怎么转换成红黑树的,但是并没有说明为什么当链表长度为8的时候才做转换动作。笔者第一反应也是一样,只能初略的猜测是因为时间和空间的权衡。要弄明白这个问题,我们首先要明白为什么要转换,这个问题比较简单,因为Map中桶的元素初始化是链……

208道Java 高频面试题答案5

Java Web64. jsp 和 servlet 有什么区别? jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。Servlet中没……

208道高频 Java面试题答案3

多线程35. 并行和并发有什么区别? 并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群。所以并发编程的目标是充分的利用处理器的每……

多线程复习之多线程面试题

1. 什么是线程以及进程进程是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间)。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。2. Calla……

2019年全栈工程师技术指南和趋势!

这是一个2019年你成为前端,后端或全栈开发者的进阶指南:1、你不需要学习所有的技术成为一个web开发者2、这个指南只是通过简单分类列出了技术选项3、我将从我的经验和参考中给出建议4、首选我们会介绍通用的知识, 最后介绍2019年的Web的一些趋势1、基础前端开发者1.1 HTML & CSS最基础的知识:语义化的H……

六千字干货文:到底要怎么去学算法?

前言此文对我影响很大,分享出来给大家,愿大家早日成为大神。1)不要完美主义!我观察到的大多数同学犯得最最最最大的“错误”,就是在学习上“完美主义”。乃至后续很多其他的问题,在我看来都和这个问题是直接相关的。举个最经典的例子,也是我经常举的例子,背英语单词(在这里我们先不聊背英语单词是不是好的英语学习方法,我们只看如果我们想要背英语单词的……

金三银四背后,一个JAVA程序员的面试心得

阿里面试题 多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁?JAVA的AQS是否了解,它是干嘛的?除了synchronized关键字之外,你是怎么来保障线程安全的?Tomcat本身的参数你一般会怎么调整?你有没有用过Spring的AOP? 是用来干嘛的? 大概……

你还在 Select * 吗?

应用程序慢如牛,原因多多,可能是网络的原因、可能是系统架构的原因,还有可能是数据库的原因。那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们也有莫大的关系。程序中嵌入的一行行的SQL语句,如果使用了一些优化小技巧,定能达到事半功倍的效果。技巧1  比较运算符能用 “=”……

如何阅读Java源码?

阅读Java源码的前提条件:1、技术基础在阅读源码之前,我们要有一定程度的技术基础的支持。假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃《Core Java》,那样是很难有收获的,尤其是《深入Java虚拟机》这类书,或许别人觉得好,但是未必适合现在的你。比如设计模式,许多Java源码当中都会涉及到。再比如阅读Sp……

多线程复习之并发容器、框架、工具类

一.并发容器1. 队列如果要实现一个线程安全的队列有两种方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,非阻塞的实现方式则可以使用循环CAS的方式来实现。1.1 非阻塞的方式(ConcurrentLinkedQueue)入队:线程入队时必须先获取尾节……

全文搜索引擎选ElasticSearch还是Solr?

 “ 最近项目组安排了一个任务,项目中用到了基于 Solr 的全文搜索,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步。 而且它还是其他团队在维护,依赖性太强,导致 Solr 服务一出问题,我们的项目也基本瘫痪,因为所有的依赖查询都无结果数据了。所以考虑开发一……

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00