标签:递归

Java

面试官:读过 Mybatis源码吗?知道用了那9种设计模式吗?

18

changyuan.xu 发布于 2019-09-20

点击上方“ 搜云库技术团队 ”,选择“ 设为星标 ” 回复“ 1024 ”或 “ 面试题 ” 获取 4T 学习资料 虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入...

阅读(13)评论(0)赞 (0)

Spring

相亲相爱的@Import和@EnableXXX

1

wenming.gapo 发布于 2019-09-20

扫描文末二维码或者微信搜索公众号 菜鸟飞呀飞 ,即可关注微信公众号,阅读更多Spring源码分析文章 1. @Import注解 通过Import注解,我们有三种方式可以向Spring容器中注册Bean。相当于Spring中XML的标签。 1.1 直接注册 例如:@Import(R...

阅读(8)评论(0)赞 (0)

Java

从Java和Haskell一些代码对比中认识函数式编程 – morgenthum.dev

邓龙华 发布于 2019-09-20

很多朋友和同事问我为什么谈论Haskell。在我学习Haskell之前,我总是使用Java,C和C ++等主流语言 – 并且仍然喜欢它们。那么一个命令式的开发人员怎么会变成Haskell粉丝?在本文中,我想解释一下 – 特别是对于函数编程经验较少的开发人员...

阅读(8)评论(0)赞 (0)

Java

Java后端面试经验总结分享(一)

刘莉莉 发布于 2019-09-19

今天下午两点的时候,我去面了一家招Java开发的公司,本人工作经验2年多一丢丢。 跟大部分公司类似,先做一份笔试题,题目都比较简单,基本都写完了。我把题目以及答案列在下面一下,给自己做一下总结的,也分享给一些需要的小伙伴,下面答案是我根据网上的进行总结的。 一.抽象类与接口的区别...

阅读(14)评论(0)赞 (0)

Java

Java的异常处理机制

dulong 发布于 2019-09-19

Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java 的 throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。 Error Error 是 Thro...

阅读(11)评论(0)赞 (0)

Java

Java并发-ReentrantLock

5

xiaoli.wang 发布于 2019-09-19

1.简介 可重入锁ReentrantLock自 JDK 1.5 被引入,功能上与synchronized关键字类似,但是功能上比 synchronized 更强大,除可重入之外,ReentrantLock还具有4个特性: 等待可中断、可实现公平锁、可设置超时、以及锁可以绑定多个条...

阅读(11)评论(0)赞 (0)

Spring

品Spring:真没想到,三十步才能完成一个bean实例的创建

40

yeseng 发布于 2019-09-19

在容器启动快完成时,会把所有的单例bean进行实例化,也可以叫做预先实例化。 这样做的好处之一是,可以及早地发现问题,及早的抛出异常,及早地解决掉。 本文就来看下整个的实例化过程。其实还是比较繁琐的。 一 、从容器中找出所有的bean定义名称 因为不知道谁是单例bean,所以只能...

阅读(13)评论(0)赞 (0)

Java

Java 反序列化工具 gadgetinspector 初窥

31

xiaoli.he 发布于 2019-09-17

作者:Longofo@知道创宇404实验室 时间:2019年9月4日 起因 一开始是听@Badcode师傅说的这个工具,在Black Hat 2018的一个议题提出来的。这是一个基于字节码静态分析的、利用已知技巧自动查找从source到sink的反序列化利用链工具。看了几遍作者在...

阅读(15)评论(0)赞 (0)

编程技术

[图文升级版]这家独角兽旅行服务公司,在用 Go 进行微服务治理

18

小丁 发布于 2019-09-17

本文由 客路 KLOOK 基础架构组高级开发工程师韩金明在 Gopher Meetup 深圳站的演讲整理而成,主要介绍 KLOOK 微服务治理框架的落地实践,包含: 1. 自研配置和注册中心的实现; 2. RPC 落地过程中的实践经验。 No.1 KLOOK 微服务治理实践 简单...

阅读(13)评论(0)赞 (0)

编程技术

递归,上帝的思维方式

4

hellas 发布于 2019-09-17

To iterate is human, to recurse, divine. 人理解迭代,神理解递归。 最近编写一个项目测试脚本,需要使用深度优先搜索算法,该算法又涉及对递归的理解,然后我就深深的陷进去了。 人的思维,一般是 迭代 (iteration)。比如人都是先学习加减...

阅读(15)评论(0)赞 (0)

Java

Java 谜题 2:梦境

xiaoli.wang 发布于 2019-09-16

你有没有从梦中醒来,然后发现你真的还在做梦?如果你醒来,你怎么知道你回到了现实?这个难题实现了该问题的解决方案:当您进入和退出梦想时,您可以计算梦境的递归级别: <b>package</b> sleep; <b>import</b>...

阅读(16)评论(0)赞 (0)

Spring

SpringBoot使用注解的方式构建Elasticsearch查询语句,实现多条件的复杂查询

changyuan.xu 发布于 2019-09-16

背景&痛点 通过ES进行查询,如果需要新增查询条件,则每次都需要进行硬编码,然后实现对应的查询功能。这样不仅开发工作量大,而且如果有多个不同的索引对象需要进行同样的查询,则需要开发多次,代码复用性不高。 想要解决这个问题,那么就需要一种能够模块化、配置化的解决方案。 解决...

阅读(14)评论(0)赞 (0)

Java

浅入浅出 Java 排序算法

9

小丁 发布于 2019-09-15

Java String 源码的排序算法 一、前言 Q:什么是选择问题? 选择问题,是假设一组 N 个数,要确定其中第 K 个最大值者。比如 A 与 B 对象需要哪个更大?又比如:要考虑从一些数组中找出最大项? 解决选择问题,需要对象有个能力,即比较任意两个对象,并确定哪个大,哪个...

阅读(16)评论(0)赞 (0)

Java

Android之Rxjava总结指南

458

hellas 发布于 2019-09-15

ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发,在2012年11月开源,Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,Rx库支持.NE...

阅读(17)评论(0)赞 (0)

Java

java系列之初始虚拟机

2

小丁 发布于 2019-09-15

JVM不单单只支持Java语言,也支持其他语言(Scala、Kotlin、Groovy等等) 区块链2.0–以太坊(比特币是区块链1.0) 中提供了EVM的虚拟机,它的实现和JVM类似,基于栈、生成脚本编译成字节码来执行。知识通用。(理论大于实际) 虚拟机历史 了解即可,无需关注...

阅读(16)评论(0)赞 (0)

Java

java系列之多线程与Android多线程性能优化

10

zhuangli 发布于 2019-09-15

多核心:也指单芯片多处理器( Chip Multiprocessors,简称CMP),CMP是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。这种依靠多个CPU同时并行地运行程序是实现超高速计算的一个重要...

阅读(12)评论(0)赞 (0)