• 关于Java的10个谎言

    2016-09-16
    下面的这些都算是比较高级的问题了,面试中一般也很少问到,因为它们可能会把面试者拒之门外。不过你可以自己找个时间来实践一下。 1. System.exit(0)会跳过finally块的执行 System.set...
  • 了解一段Java程序的生命史

    2016-09-02
    作为一名程序猿 ,我们每天都在写Code,但你真的了解它的生命周期么?今天就来简单聊下它的生命历程,说起一段Java Code,从出生到game over大体分这么几步:编译、类加载、运行、G...
  • Java最伟大的价值

    2016-08-28
    Java最伟大的价值
    为了收集现在对Java生态系统的见解,《DZones Java Ecosystem research guide》将在9月份发表,我们将和熟悉Java生态系统的15个高管对话。 下面就是我们要对话的贵客: Joel Depernet, E.V.P. Global...
  • 降低Java垃圾回收开销的5条建议

    2016-08-18
    保持GC低开销的窍门有哪些? 随着一再拖延而即将发布的 Java9,G1(Garbage First)垃圾回收器将被成为 HotSpot 虚拟机默认的垃圾回收器。从 serial 垃圾回收器到CMS 收集器, JVM 见证了许多 GC 实...
  • Java中关于String类型的10个问题

    2016-08-03
    1. 如何比较两个字符串?用=还是equals 简单来说,==是用来检测俩引用是不是指向内存中的同一个对象,而equals()方法则检测的是两个对象的值是否相等。只要你想检测俩字符串是不是相...
  • 用Java实现一个通用并发对象池

    2016-07-31
    这篇文章里我们主要讨论下如何在Java里实现一个对象池。最近几年,Java虚拟机的性能在各方面都得到了极大的提升,因此对大多数对象而言,已经没有必要通过对象池来提高性能了。...
  • Java 动态代理机制详解

    2016-07-28
    在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的...
  • Java 线程池框架核心代码分析

    2016-07-12
    Java 线程池框架核心代码分析
    前言 多线程编程中,为每个任务分配一个线程是不现实的,线程创建的开销和资源消耗都是很高的。线程池应运而生,成为我们管理线程的利器。Java 通过 Executor 接口,提供了一种标准...
  • Java反射获取类和对象信息全解析

    2016-06-11
    反射可以解决在编译时无法预知对象和类是属于那个类的,要根据程序运行时的信息才能知道该对象和类的信息的问题。 在两个人协作开发时,你只要知道对方的类名就可以进行初步的...
  • Java内存模型深度解读

    2016-05-12
    Java内存模型深度解读
    Java内存模型规范了Java虚拟机与计算机内存是如何协同工作的。Java虚拟机是一个完整的计算机的一个模型,因此这个模型自然也包含一个内存模型又称为Java内存模型。 如果你想设计表...
  • 写好Java代码的30条经验总结

    2016-05-03
    写好Java代码的30条经验总结
    想成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的。下面就让我们来看看代码编写的30条建议吧。 (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应...
  • Java NIO 之缓冲区

    2016-04-30
    Java NIO 之缓冲区
    一个 Buffer 对象是固定数量的数据的容器。通道是 I/O 传输发生时通过的入口,而缓冲区是这些数据传输的来源或目标。 缓冲区基础 所有的缓冲区都具有四个属性来 供关于其所包含的数...
  • Java 8中新的Date和Time类入门详解

    2016-04-28
    这篇文章主要是java8中新的Date和Time API的实战。新的Date和Time类是java开发者社区千呼万唤始出来的。Java8 之前存在的Date类一直都受人诟病,很多人都会选择使用第三方的date库joda-time。...
  • Java应用架构的演化之路

    2016-04-24
    Java应用架构的演化之路
    当我们架设一个系统的时候通常需要考虑到如何与其他系统交互,所以我们首先需要知道各种系统之间是如何交互的,使用何种技术实现。 1. 不同系统不同语言之间的交互 现在我们常...
  • Java中创建不可变的类

    2016-04-23
    相信,学java的人,都应该知道class和object确切表示什么意思。 class :java中class确切的表示为一个类 object :java中object确切的表示为一个对象,也称为类的实例 其实,如果一个类被设计...
  • Java 注解全面解析

    2016-04-22
    1.基本语法 注解定义看起来很像接口的定义。事实上,与其他任何接口一样,注解也将会编译成class文件。 @Target(ElementType.Method) @Retention(RetentionPolicy.RUNTIME) public @interface Test {} 除了@符号...
  • Java程序员需要注意的五大Docker误区

    2016-04-21
    Java程序员需要注意的五大Docker误区
    Docker现在很火,容器技术看上不无所不能,但这实际上是一种误解,不要被炒作出来的泡沫迷住双眼,本文抛去炒作,理性地从Java程序员的角度,列举出Docker目前的五大误区,帮助你更...
  • Java CompletableFuture 详解

    2016-04-19
    Future是Java 5添加的类,用来描述一个异步计算的结果。你可以使用 isDone 方法检查计算是否完成,或者使用 get 阻塞住调用线程,直到计算完成返回结果,你也可以使用 cancel 方法停止任...
  • Java ThreadLocal深度解析

    2016-04-16
    首先, ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个...
  • 深入理解Java之线程池

    2016-04-06
    我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建...
  • 高性能Java解析器实现过程详解

    2016-04-04
    高性能Java解析器实现过程详解
    如果你没有指定数据或语言标准的或开源的Java解析器, 可能经常要用Java实现你自己的数据或语言解析器。或者,可能有很多解析器可选,但是要么太慢,要么太耗内存,或者没有你需...
  • Java四种线程池的用法分析

    2016-03-31
    1、new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub } }).start(); 那你就out太多了,new Thread的弊端如下:...
  • Java 类加载机制详解

    2016-03-13
    Java 类加载机制详解
    一、类加载器 类加载器(ClassLoader),顾名思义,即加载类的东西。在我们使用一个类之前,JVM需要先将该类的字节码文件(.class文件)从磁盘、网络或其他来源加载到内存中,并对字...
  • Java常量池理解与总结

    2016-02-22
    一.相关概念 什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 Class文件中的...
  • 4个理由告诉你Java为何排行第一

    2016-02-21
    Java已经有20年的历史了,甚至更久,而这取决于你所询问的人和你的计算方式。忽略它的年龄不看,Java依然排行第一。它的实用性、性能和向后兼容性都彰显其价值所在。 2016年伊始,...