Java 动态代理入门

文章目录参考文章前言JAVA 原生动态代理例子一:一个只会打印被调用方法的代理步骤一: 创建 Invocation Handler步骤二: 创建 Proxy Instance例子二:可以代理多个接口的 InvocationHandler步骤一: 创建 TimingInvocationHandler...

2019-06-18 09:47:01

阅读数 83

评论数 0

Java 注解如何工作

本文转载自 注解是什么,为什么要使用注解 自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如@Override,@Deprecated这样的注解。这篇文章中,我将向大家讲述到底什么是注解,为什么要引入注解,注解是如何工作的,如何...

2019-06-17 11:10:26

阅读数 19

评论数 0

Paxos 协议:多状态机的一致性解决方案

文章目录问题背景中心化架构带来的单点失败问题 问题背景 在 正确理解二阶段提交(Two-Phase Commit) 的文章中, 笔者解析了二阶段提交协议是如何满足一个分布式原子性提交协议应该具有的性质。 二阶段提交协议(Two-Phase Commit)出现的本质原因是, 分布式系统中不同的结点有...

2019-04-22 11:20:14

阅读数 72

评论数 0

正确理解二阶段提交(Two-Phase Commit)

明确问题 二阶段提交出现的背景是, 当我们使用分布式系统时, 如果分布式系统中的机器发生故障之后, 如何保证事务数据的一致性。 从一个场景入手, 假设一个人要从 A 银行向 B 银行进行跨行转账 100 元。 此时我们需要对 A 银行数据库中该用户的账户,做金额扣减操作( - 100), 同时对 ...

2019-03-07 15:42:56

阅读数 350

评论数 0

面试题之窒息翻译:类加载机制的双亲委派(正解:父委派模型)

致命的翻译(双亲委派模型) JVM 类加载机制也是一道常见的暖场题, 令人感到厌烦的是, 这个类加载机制的翻译就和“套接字”一样令人感到窒息。 大部分的计算机英文术语在命名时, 都会尽可能做到直白易懂, 体现技术概念的本质。 但是中文翻译中往往英文翻译者水平,导致这种信息的丢失, 使得原本直白...

2019-02-26 16:31:22

阅读数 388

评论数 0

Eureka Server 搭建过程中 Dashboard 404 error 解决方案

记录一下用 spring initializer 生成的 gradle 项目 Spring Cloud Eureka Server 搭建过程中, 遇到的问题 : ch.qos.logback.classic.turbo.TurboFilter ClassNotFound 按理说 gradle 会下...

2018-12-11 17:51:06

阅读数 676

评论数 0

从面试暖场题到挖出JDK Bug: 谈谈你对 HashMap, ConcurrentHashMap 的理解

参考文章: Wiki: Hash table java 8 Hashmap深入解析 —— put get 方法源码 What’s Wrong With Hashcode in java.lang.String? JAVA 面试的暖场题 Java 开发中用的比较多的数据结构是有哪些? ...

2018-11-14 15:43:11

阅读数 720

评论数 1

TCP 为什么三次握手而不是两次握手(正解版)

参考文章 Why do we need a 3-way handshake? Why not just 2-way 大部分网络博客的错误解读 首先需要声明的是, 百度搜索到的大部分网络博客关于这个问题的解答都是不清晰或者不准确的。 讨论这个问题的大部分博客都会引用《计算机网络》的内容: ...

2018-09-19 19:10:58

阅读数 9836

评论数 14

T分布:一个被啤酒厂发现的关键统计概念

In this post we will look at two probability distributions you will encounter almost each time you do data science, statistics, or machine learning. ...

2018-08-27 15:44:27

阅读数 3069

评论数 0

Java中的偏向锁,轻量级锁, 重量级锁解析

参考文章 聊聊并发(二)Java SE1.6中的Synchronized Lock Lock Lock: Enter! 5 Things You Didn’t Know About Synchronization in Java and Scala Synchronization and Ob...

2018-08-13 18:39:49

阅读数 6978

评论数 25

wait(),notify() 与 await(), signal(), signalAll() 的区别

参考文章 Oracle 官方文档 Condition Interface How is await() different from wait() ? wait() 和 notify() 的使用方式 wait() 与 notify() 需要搭配 synchronized 关键字使用, 示...

2018-08-07 17:43:21

阅读数 2696

评论数 0

java中synchronized关键字与ReentrantLock对比

参考文章 - Locks in Java - ReentrantLock Example in Java, Difference between synchronized vs ReentrantLock synchronized 关键字的可重入性 - 在 java 中被 synchron...

2018-08-06 15:52:13

阅读数 323

评论数 0

清晰解题: Java 是编译型语言还是解释型语言

Java 的跨平台运行能力的本质原因是, Java 会首先被编译为字节码(bytecode), 然后可以被不同平台的 JVM 解释成对应的机器码,得以运行。 解释和 JIT 编译的区别: 解释: JVM 运行时加载 .class 文件, 逐条读取其中的 bytecode , 将其转换为特定平...

2018-05-05 21:33:13

阅读数 360

评论数 0

TensorFlow官方教程《Neural Networks and Deep Learning》译(第二章)

反向传播算法(BackPropagation algorithm)的工作原理 在上一章节中, 我们看到了神经网络是如何利用梯度下降算法从数据中学习权重值 weights 和 偏倚量值 biases ,完成“学习” 的过程。 但是, 在算法原理的解释中, 有一个环节被跳过了: 我们没有讨论如何计算...

2017-11-26 21:49:57

阅读数 1193

评论数 0

同步/异步,阻塞/非阻塞概念深度解析

IO 概念区分NIO 现在已经是一个耳熟能详的名词了, 好像人人都能对所谓的 NIO ( Non-Blocking IO, 非阻塞 IO ) 发表一些如何如何提高效率的言论。 但很多东西, 追问几句就会难以自圆其说。 四个相关概念: 同步(Synchronous) 异步( Asynchrono...

2017-10-03 13:10:26

阅读数 4087

评论数 7

Java 语言中 Synchronized 关键字的最致命误区

敲地(hei)板前言 synchonized 关键字是 java 中一旦涉及并发, 永远绕不过的一个知识点。 如果让你用自己的话, 解释一下 synchronized 关键字, 如果你说出 “被 sychronized 关键字所修饰的代码或方法块不会在同一时间被多个线程执行” 这种话, 那么恭...

2017-09-23 10:55:29

阅读数 319

评论数 0

详解 xml 文件头部的 xmlns:xsi

Maven 是一个 java 开发人员很难绕过的构建工具, 因为有众多的开源项目都使用 Maven 作为其构建工具。 而阅读 maven 中的 pom 文件, 是了解一个项目依赖关系和构建方式的重要环节。 但是 pom 文件的头部会让初学者感到困惑, 这里对其进行一个清晰易懂的解释

2017-09-09 12:52:11

阅读数 9308

评论数 3

TensorFlow官方教程《Neural Networks and Deep Learning》译(第一章)

– 更新中 译自:Neural Networks and Deep Learning 成果预展示 如果你能坚持阅读完本章, 你可以获得如下的成果: 上图中的命令行窗口输出为: Epoch 0: 9095 / 10000 Epoch 1: 9213 / 10000 Epoch...

2017-07-27 18:16:28

阅读数 7054

评论数 0

中介者模式(Mediator Pattern): 避免对象间错综复杂的相互引用

参考书籍: 《Design Patterns: Elements of Reusable Object-Oriented Software》 设计模式用前须知大部分程序员编写的程序可以分为三类(应用程序、工具包 、框架),使用设计模式的目的是提高代码的可复用性和可扩展性(灵活性), 但是设计模式在...

2017-06-23 14:10:29

阅读数 310

评论数 0

访问者模式(Vistor Pattern)

访问者模式的有两个关键点: - 需要访问的数据结构中包含的元素并不是同一类型的, 而是多个不同类型, 相同目的的访问需要根据元素类型进行不同的操作。 - 被访问的数据结构中所包含的元素类别几乎不怎么改变, 因为使用访问模式以后, 添加一个新的元素类会需要对所有的 Vistor 子类进行修改,...

2017-06-22 16:30:42

阅读数 228

评论数 0

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