Hexsmith's blog

业精于勤荒于嬉,行成于思毁于随!

0%

背景

我们公司在使用HBASE时,存入的业务数据是一些对象实例的序列化数据,为了降低存储空间,计划对数据进行压缩

阅读全文 »

MySQL性能优化建议

下面会从3个不同方面给出一些优化建议。但请等等,还有一句忠告要先送给大家:纸上得来终觉浅,绝知此事要躬行。不要听信你看到的关于优化的“绝对真理”,包括本文所讨论的内容,而应该是在实际的业务场景下通过测试来验证你关于执行计划以及响应时间的假设。

阅读全文 »

stream-api

Java8新增的功能中,要数lambda表达式和流API最为重要了.这篇文章主要介绍流API的基础,也是流API系列的第一篇文章,话不多说,直奔主题.

阅读全文 »

Java通过代码模拟高并发可以以最快的方式发现我们系统中潜在的线程安全性问题,此处使用Semaphore(信号量)和 CountDownLatch(闭锁)搭配ExecutorService(线程池)来进行模拟

阅读全文 »

前言

学习JVM,阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。

既然如此,那么在IDE的控制台打印GC日志是必不可少的了。现在就告诉你怎么打印。

阅读全文 »

1、本地仓库

配置环境变量GRADLE_USER_HOME,并指向你的一个本地目录,用来保存Gradle下载的依赖包。通常我们配置成和Maven同一个本地路径

gradle本地仓库

阅读全文 »

设计模式简介

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。本章我们会以理论与实践相结合的方式来进行本章的学习,希望广大程序爱好者,学好设计模式,做一个优秀的软件工程师!

阅读全文 »

1.单例模式

  • 单例模式限制了一个类的实例化,并确保java虚拟机中只存在一个类的实例。
  • 单例类必须提供一个全局访问点来获取类的实例。
  • 单例模式用于日志记录,驱动程序对象,缓存和线程池。
  • Singleton设计模式也用于其他设计模式,如Abstract Factory,Builder,Prototype,Facade等。
阅读全文 »

题目

2015 携程的 JAVA 工程师的面试题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class Base {

private String baseName = "base";

public Base() {
callName();
}

public void callName() {
System.out.println(baseName);
}

static class Sub extends Base{

private String baseName = "sub";

public void callName() {
System.out.println(baseName);
}
}


/**
* @param args
*/
public static void main(String[] args) {
Base base = new Sub();
}

}

求这段程序的输出值?

阅读全文 »