10个艰难的Java面试题与答案

2019-08-03
阅读 20 分钟
17.6k
这是我收集的10个较难回答的 Java 面试题。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。这些问题都是容易在各种 Java 面试中被问到的。

Java 线程执行与变量可见性的 happen-before 关系

2019-07-31
阅读 2 分钟
1.9k
Happens-before 定义程序中所有操作的部分排序。为了保证执行操作Y的线程可以看到操作X的结果(X和Y是否出现在不同的线程中),X和Y之间必然存在一个先发生的关系。在没有happen-before 排序的情况下在两个操作之间,JVM可以根据需要自由重新排序(JIT编译器优化)。

Tomcat 7 类加载器是如何实现的

2019-06-13
阅读 4 分钟
2.7k
与许多服务器应用程序一样,Tomcat安装了各种类加载器(即实现的类java.lang.ClassLoader),以允许容器的不同部分和容器上运行的Web应用程序访问可用类和资源的不同存储库。此机制用于提供Servlet规范2.4版中定义的功能 - 特别是9.4和9.6节。

清除CentOS 6或CentOS 7上的磁盘空间

2019-05-21
阅读 2 分钟
17.3k
清除CentOS 6或CentOS 7上的磁盘空间 以下是清除CentOS 6或CentOS 7服务器上的磁盘空间的快速命令。首先需要安装yum-utils包: {代码...} 1.修剪日志文件 {代码...} 这将截断*.log卷/var上超过7天且超过50M或超过30天的所有文件。 也有一些文件是*.log.gz扩展名, 或*.journal之类, 可以参考的方式: {代码...} 2.清理YUM...

如何在Ubuntu 18.04上添加交换空间

2019-05-20
阅读 4 分钟
2.4k
防范应用程序内存不足错误的最简单方法之一是为服务器添加一些交换空间。在本指南中,我们将介绍如何将交换文件添加到 Ubuntu 18.04服务器。

nginx 对同一 ip 访问请求速率限制

2019-05-02
阅读 2 分钟
5.5k
所述ngx_http_limit_req_module模块(0.7.21)用于限制每一个定义的键值的请求的处理速率,特别是从一个单一的IP地址的请求的处理速率。使用“漏桶”方法进行限制。

k8s 证书配置大全

2019-04-25
阅读 4 分钟
5.2k
cfssl 是 CloudFlare 开源的一款PKI/TLS工具。 CFSSL 包含一个命令行工具(cfssl, cfssljson)用于签名,验证并且捆绑TLS证书的 HTTP API 服务。 使用Go语言编写。与 OpenSSL 相比,cfssl 使用起来更简单。

NumPy 基本切片和索引

2019-04-24
阅读 8 分钟
3.7k
ndarrays可以使用标准Python x[obj]语法对其进行索引 ,其中x是数组,obj是选择方式。有三种可用的索引:字段访问,基本切片,高级索引。究竟是哪一个取决于obj。

Java 作者谈克隆方法的实现

2019-03-22
阅读 2 分钟
2.7k
“克隆”不应该被覆盖, 属坏味道, 阻断型错误约书亚•布洛赫表示,许多人在 Java 中对 clone 方法 和 Cloneable 接口存在误解,很大程度上是因为重写 clone 方法的规则很棘手, 且出错难以纠正。Object 的 clone 方法非常棘手。它基于属性复制,而且是“超语言”。它创建一个对象而不调用构造函数。无法保证它保留构造函数创建...

Curator: ZooKeeper的使用配方

2019-02-23
阅读 2 分钟
3.1k
ZooKeeper 作为分布式的存储方式, 有很多种使用场景, 把典型的使用场景提取出来, 成为"配方", 方便用户参考. Curator 作为这些典型场景的具体实现框架, 进一步简化了用户的使用成本.

Spring Cloud Netflix Eureka - 隐藏手册

2019-02-19
阅读 6 分钟
3k
Spring Cloud Netflix 是通过自动配置, Spring 环境以加上其他 Spring 编程模型习惯用法的一个对Netflix OSS 开源软件进行集成的 Spring Boot 应用程序。

coredns 排错记

2019-02-10
阅读 4 分钟
4.8k
核心链接 [链接] CoreDNS 安装 {代码...} 在master结点上执行 {代码...} 主要修改文件 nodes结点上的/etc/resolv.conf {代码...} 打印每个pods上的出错日志 {代码...} 用busybox 检验coredns解析效果 {代码...} 因为结点上的search 域的设定,等于 {代码...} 这里 redis-master 是布署在 middleware 命名空间下的一个pod...

Postfix 邮件服务器的配置

2019-01-23
阅读 3 分钟
8.4k
请注意,CentOS 5中的默认MTA 是sendmail。如果您不将默认MTA作为后缀,更新后缀可能会导致默认MTA恢复为sendmail。

Java Lock示例 - ReentrantLock

2018-12-31
阅读 4 分钟
5.4k
大多数情况下,用 synchronized 关键字就足够了,但它也有一些缺点, 所以在 Java Concurrency 包中引入了 Lock API 。从Java 1.5版开始在 java.util.concurrent.locks 包中提供了处理并发的 Concurrency API 的 Lock 锁接口和一些实现类来改进 Object 锁定机制。

Java 中断异常的正确处理方式

2018-12-22
阅读 7 分钟
7.1k
这个故事可能很熟悉:你正在写一个测试程序,你需要暂停某个线程一段时间,所以你调用 Thread.sleep()。然后编译器或 IDE 就会抱怨说 InterruptedException 没有抛出声明或捕获。什么是 InterruptedException,你为什么要处理它?

Java 几种线程状态之间的相互关系

2018-12-20
阅读 2 分钟
2.4k
Java Thread 可能处在以下几种状态 Java Doc 里通过一个枚举类型 Enum<Thread.State> 来定义。 线程可以处于以下状态之一: NEW 尚未启动的线程处于此状态。 RUNNABLE 在Java虚拟机中执行的线程处于此状态。 BLOCKED 被阻塞等待监视器锁定的线程处于此状态。 WAITING 无限期等待另一个线程执行特定操作的线程处于...

Java中断异常 InterruptedException 的正确处理方式

2018-12-09
阅读 2 分钟
9.2k
首先,需要了解为一个方法为啥会 throws InterruptedException, 是这个方法抛出中断异常作为方法签名的一部分以及调用正在调用的方法的可能结果。因此,首先要接受一个事实,InterruptedException 是这个方法调用的完全有效的结果。

MySQL 大对象的多版本并发控制

2018-10-30
阅读 5 分钟
2.5k
在本文中,我将解释MySQL InnoDB存储引擎中大对象(LOB)设计的多版本并发控制(MVCC) 。 MySQL 8.0有一个新功能,允许用户部分更新大型对象,包括JSON文档 。 使用此部分更新功能,当LOB部分更新时,MVCC对LOB的工作方式已发生变化。 对于正常更新(完整更新),MVCC将像以前的版本一样工作。 让我们看一下MVCC在不涉...

使用感知器的Python机器学习简介

2018-09-27
阅读 4 分钟
3.9k
每个熟悉技术的人都听说过机器学习。但都认为必得高智商的数学大师才能搞, 咋也得懂微积分才整机器学习吧。其实没那么难,本文将指导您在没有任何高级数学理论的情况下, 在Python中创建感知器,总计也不到60行代码。

单线程的redis如何实现并发访问?

2018-03-08
阅读 2 分钟
8.9k
在服务器端软件中, 并发和并行性通常被认为是不同的概念。在服务器中, 支持并发 i/o 意味着服务器能够通过执行与那些客户端仅有一个计算单元对应的几个流来为多个客户端提供服务。在这种情况下, 并行性意味着服务器能够同时执行多个操作 (具有多个计算单元), 这是不同的。

ZooKeeper做为应用系统参数配置服务的实践

2018-02-06
阅读 4 分钟
2.6k
当有很多项目需要你来不停的向集成,测试和生产环境发时, 配置文件的差异性会造成很大的困挠.一方面你不希望把敏感信息到处保存. 另一方面会大量的地址信息,url,api-key,username/password需要配置. 每个引入的第三方api都需要配置, 往往不同环境的还都不一样. 一旦搞错了,轻则项目起不来,重则数据搞乱. 总之,头疼得很.