【跟着我们学Golang】之面向对象

2019-05-13
阅读 12 分钟
2.7k
万物皆对象。学过Java编程的都知道Java是一门面向对象的语言,它拥有封装、继承和多态的特性。那可不可以说,拥有封装、继承和多态这一特性的语言就是面向对象的语言呢?仔细想来,也确实是这样的,因为封装、继承和多态这三个特征,并不是Java语言的特征,而是面向对象的三大特征。总结来看,所有包含封装、继承和多态...

【跟着我们学Golang】流程控制

2019-05-13
阅读 7 分钟
2.2k
作为一门高级语言,Go同样提供了流程控制的支持。在了解了基础结构之后,继续学习Go的流程控制,里面涉及到的基础结构的内容还能对其有更多的了解。

【跟着我们学Golang】基础结构

2019-04-22
阅读 9 分钟
2.5k
鉴于上篇文章我们已经讲过Go语言环境的安装,现在我们已经有了一个可以运行Go程序的环境,而且,我们还运行了'Hello World'跑出了我们的第一个Go程序。这节我们就以'Hello World为例,讲解Go的基础结构,详细的解释一下Hello World中的每一行都代表了什么。

【跟着我们学Golang】Go语言全平台安装

2019-04-15
阅读 4 分钟
3k
学习Go语言的第一步当然是要先安装Go语言的环境,毕竟,没有这个环境咱们什么都做不了。但是在安装环境之前咱们先了解一下Go涉及到的环境变量。这里介绍几个比较常用的Go语言环境变量。

【推荐】最新200篇:技术文章整理

2019-04-13
阅读 4 分钟
6.3k
作为面试官,我是如何甄别应聘者的包装程度Go语言和Java、python等其他语言的对比分析Redis和MySQLRedis:主从复制的原理详解Redis:RDB 和 AOF 持久化的原理是什么?Redis:面试中经常被问到的 Redis 持久化与恢复Redis:实现故障恢复自动化:详解Redis哨兵技术Redis:查漏补缺:最易错过的技术要点大扫盲MySQL:意外宕...

跟着我们学Golang

2019-04-11
阅读 1 分钟
2.3k
「搜云库技术团队」从事于Java相关领域多年,拥有Java语言技术丰富的从业经验,涉猎AI、Python、Java、Android、iOS、Golang、前端、后端、大数据、人工智能等,我们的目标也是致力于营造一个覆盖全栈的学习分享的技术社群。区块链、云计算以及微服务等技术近年来风靡全球,现如今如果说不知道区块链是什么的人,在这个...

RDB 和 AOF 持久化的原理是什么?我应该用哪一个?它们的优缺点?

2019-03-05
阅读 4 分钟
7k
Redis 提供了 RDB 和 AOF 两种持久化方案: RDB:生成指定时间间隔内的 Redis 内存中数据快照,是一个二进制文件 dumpr.rdb AOF:记录 Redis 除了查询以外的所有写命令,并在Redis 服务启动时,通过重新执行这些命令来还原数据。 RDB 持久化 默认 Redis 会以 RDB 快照的形式将一段时间内的数据持久化到硬盘,保存成一个 ...

为年后跳槽准备的133 道 Java 面试题及答案

2019-01-17
阅读 18 分钟
6.7k
Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入。 在我初入职场的时候,类似于 Vector 与 Array 的区别、HashMap 与 Hashtable 的区别是最流行的问题,只需要记住它们,就能在面试中获得更好...

Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等

2019-01-04
阅读 8 分钟
9.6k
Java 中15种锁的介绍 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁 / 非公平锁 可重入锁 / 不可重入锁 独享锁 / 共享锁 互斥锁 / 读写锁 乐观锁 / 悲观锁 分段锁 偏向锁 / 轻量级锁 / 重量级锁 自旋锁 上面是很多锁的名词,这些分类并不是全是指锁的...

墙裂推荐:搜云库技术团队,面试必备的技术干货

2018-11-23
阅读 3 分钟
12.7k
今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。

全新 Dubbo Admin 安装(开发版-Dubbo OPS)

2018-11-13
阅读 3 分钟
4.6k
这是正在研发的Dubbo Admin,这一版Dubbo Admin名称改成了Dubbo OPS,目前功能简陋,不建议使用(2018/11月)。架构上使用了前后端分离。前端使用Vue实现,后端使用Spring Boot实现。在安装之前你需要先安装Node和NPM用于运行前端项目。成功安装后长这样:

Redis集群环境下的-RedLock(真分布式锁) 实践

2018-11-11
阅读 4 分钟
17.5k
在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。 有很多三方库和文章描述如何用Redis实现一个分布式锁管理器,但是这些库实现的方式差别很大,而且很多简单的实现其实只需采用稍微增加一点复杂的设计就可以获得更好的可靠性。 这篇文章的目的就是尝试提出一种官方权威的用Redis实现分布式锁管...

Oracle发布开源的轻量级 Java 微服务框架 Helidon

2018-10-16
阅读 7 分钟
3.6k
近日,Oracle推出了一个新的开源框架Helidon,该项目是一个用于创建基于微服务的应用程序的Java库集合。和Payara Micro、Thorntail(之前的WildFly Swarm)、OpenLiberty、TomEE等项目一样,该项目也加入了MicroProfile家族。

还没用上 JDK 11吧,JDK 12 早期访问构建版使用

2018-09-27
阅读 4 分钟
2.9k
本周Java的最大新闻可能是JDK 11的正式发布。不过在 6 月底,JDK 11 就已经进入了 Rampdown Phase One 阶段,这意味着该版本所有新的功能特性被冻结,不会再加入更多的 JEP,然而,另一个令人兴奋的发展是JDK 12 Early Access Build 12(2018年9月20日)的发布。

Java并发:分布式应用限流 Redis + Lua 实践

2018-08-16
阅读 9 分钟
10.2k
任何限流都不是漫无目的的,也不是一个开关就可以解决的问题,常用的限流算法有:令牌桶,漏桶。在之前的文章中,也讲到过,但是那是基于单机场景来写。

接口限流算法:漏桶算法&令牌桶算法

2018-08-11
阅读 4 分钟
45.3k
工作中对外提供的API 接口设计都要考虑限流,如果不考虑限流,会成系统的连锁反应,轻者响应缓慢,重者系统宕机,整个业务线崩溃,如何应对这种情况呢,我们可以对请求进行引流或者直接拒绝等操作,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机。

Java并发基础:了解无锁CAS就从源码分析

2018-08-04
阅读 11 分钟
8.2k
CAS的全称为Compare And Swap,直译就是比较交换。是一条CPU的原子指令,其作用是让CPU先进行比较两个值是否相等,然后原子地更新某个位置的值,其实现方式是基于硬件平台的汇编指令,在intel的CPU中,使用的是cmpxchg指令,就是说CAS是靠硬件实现的,从而在硬件层面提升效率。

MySQL/InnoDB中,乐观锁、悲观锁、共享锁、排它锁、行锁、表锁、死锁概念的理解

2018-07-30
阅读 4 分钟
14k
MySQL/InnoDB的加锁,一直是一个面试中常问的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?我在工作过程中,也会经常用到,乐观锁,排它锁,等。于是今天就对这几个概念进行学习,屡屡思路,记录一下。

Dubbo 整合 Pinpoint 做分布式服务请求跟踪

2018-07-26
阅读 5 分钟
2.5k
在使用Dubbo进行服务化或者整合应用后,假设某个服务后台日志显示有异常,这个服务又被多个应用调用的情况下,我们通常很难判断是哪个应用调用的,问题的起因是什么,因此我们需要一套分布式跟踪系统来快速定位问题,Pinpoint可以帮助我们快速定位问题(当然,解决方案也不止这一种)。

Dubbo服务消费者调用过程

2018-06-14
阅读 7 分钟
10.4k
首先通过ReferenceConfig类的private void init()方法会先检查初始化所有的配置信息后,调用private T createProxy(Map<String, String> map)创建代理,消费者最终得到的是服务的代理, 在createProxy接着调用Protocol 接口实现的<T> Invoker<T> refer(Class<T> type, URL url)方法生成Invoker...

Dubbo服务提供者发布过程

2018-06-13
阅读 9 分钟
3.4k
首先ServiceConfig类拿到对外提供服务的实际类ref(如:HelloServiceImpl),然后通过ProxyFactory类的getInvoker方法使用ref生成一个AbstractProxyInvoker实例,到这一步就完成具体服务到Invoker的转化。接下来就是Invoker转换到Exporter的过程。

给网站配置免费的HTTS证书

2018-06-08
阅读 3 分钟
3.7k
最近看到网上说 https 的网站 Google 会优先收录,所以就抽时间记录下配置博客的过程。 ACME 使用 LetEncrypt 证书作为博客的 https 实现方式。 acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书. github [链接] 主要步骤: 安装 acme.sh 生成证书 copy 证书到 nginx/apache 或者其他服务 更新证书 更新 acm...

Mysql InnoDB B+树索引和哈希索引的区别? MongoDB 为什么使用B-树?

2018-04-04
阅读 3 分钟
6.2k
B+树是为磁盘及其他存储辅助设备而设计一种平衡查找树(不是二叉树)。B+树中,所有记录的节点按大小顺序存放在同一层的叶节点中,各叶节点用指针进行连接。

Redis持久化RDB和AOF优缺点是什么,怎么实现的?我应该用哪一个?

2018-03-24
阅读 3 分钟
8.5k
Redis是一种高级key-value数据库。数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。

MySql常用30种SQL查询语句优化方法

2018-03-23
阅读 3 分钟
6.9k
2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描。如:

想进大厂?50个多线程面试题,你会多少?【后25题】(二)

2018-03-21
阅读 22 分钟
11.5k
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的Java面试中, 面...

为Java程序员金三银四精心挑选的300余道Java面试题与答案

2018-03-21
阅读 6 分钟
11.5k
为Java程序员金三银四精心挑选的300余道Java面试题与答案,欢迎大家向我推荐你在面试过程中遇到的问题,我会把大家推荐的问题添加到下面的常用面试题清单中供大家参考。

Spring 常见的一些面试题整理

2018-03-21
阅读 15 分钟
17.1k
本人收集了一些在大家在面试时被经常问及的关于Spring的主要问题,这些问题有可能在你下次面试时就会被问到。对于本文中未提及的Spring其他模块,我会单独分享面试的问题和答案。欢迎大家向我推荐你在面试过程中遇到关于Spring的问题。我会把大家推荐的问题添加到下面的Spring常用面试题清单中供大家参考。

想进大厂?50个多线程面试题,你会多少?(一)

2018-03-18
阅读 33 分钟
22.6k
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的Java面试中, 面...

什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?

2018-03-14
阅读 5 分钟
5k
什么是阻塞队列? 阻塞队列是一个在队列基础上又支持了两个附加操作的队列。 2个附加操作: 支持阻塞的插入方法:队列满时,队列会阻塞插入元素的线程,直到队列不满。 支持阻塞的移除方法:队列空时,获取元素的线程会等待队列变为非空。 阻塞队列的应用场景 阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加...