本文作者是一名拥有多年Java开发经验的程序员,他从经验中得出,并不是所有的Java SE功能/API都值得程序员去使用,比如本文列举的这6个,大家在使用前得慎重对待。以下是对原文的摘译。多年的Java开发经验告诉我,从长远角度来看,以下这些Java SE功能/API,开发者最好停止使用。 ReflectionBytecode manipulation ThreadLocalsClassloadersWeak/Sof...
8年前 (2016-09-02)
阅读(2313)
赞一个 (0)
链接直达
什么是JDBC,在什么时候会用到它?JDBC的全称是JavaDataBaseConnection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。有哪些不同类型的JDBC驱动?有四类JDBC驱动。和数据库进...
8年前 (2016-09-02)
阅读(3077)
赞一个 (1)
链接直达
我最近要处理一套存储历史实时数据的大文件fx market data,我很快便意识到,使用传统的InputStream不能够将它们读取到内存,因为每一个文件都超过了4G。甚至编辑器都不能够打开这些文件。在这种特殊情况下,我可以写一个简单的bash脚本将这些文件分成更小的文件块,然后再读取它。但是我不想这样做,因为二进制格式会使这个方法失效。处理这个问题的方式通常就是使用内存映射文件递增地处理区域的数据。关于内存映射文件的一个好处就是它们...
8年前 (2016-09-02)
阅读(2384)
赞一个 (1)
链接直达
包括web开发人员的Java面试在内的各种面试中,XML面试题在各种编程工作的面试中很常见。XML是一种成熟的技术,经常作为从一个平台到其他平台传输数据的标准。XML面试问题包括用于转换XML文件的XSLT技术,XPATH,XQuery等各种XML技术和XML基础知识,比如DTD或者Schema。本文将看到10道常见的XML面试问答题。这些问题大部分在Java面试中会问到,同时在C,C++,Scala或其他语言的编程面试中同样很有用处。...
8年前 (2016-09-02)
阅读(2177)
赞一个 (2)
链接直达
下面的这些都算是比较高级的问题了,面试中一般也很少问到,因为它们可能会把面试者拒之门外。不过你可以自己找个时间来实践一下。1、System.exit(0)会跳过finally块的执行System.setSecurityManager(new SecurityManager() {
@Override
public&nb...
8年前 (2016-09-02)
阅读(2098)
赞一个 (2)
链接直达
一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选。如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟。1、字符串不变性下面这张图展示了这段代码做了什么 String s = "abcd"; &nb...
8年前 (2016-09-02)
阅读(2233)
赞一个 (0)
链接直达
日志管理工具有 Splunk、Sumo Logic、LogStash、GrayLog、Loggly 和 PaperTrails 等等,数不胜数。日志就像石油,二十多年了我们一直想摆脱它,却一直没有做到。为了处理日益增长的数据,近年来出现了一大批分析和管理日志的工具,开发和管理人员能够借助这些工具来了解增长的数据。在这篇文章中,我将站在开发者的角度,分析一下这些工具的特点。Splunk vs. Sumo Logic vs. LogStas...
8年前 (2016-09-02)
阅读(2976)
赞一个 (0)
链接直达
通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的。下面就以K和V来代表键和值,来说明一下java中关于Map的九大问题。
1、将Map转换为List类型
在java中Map接口提供了三种集合获取方式:Key set,,value set, and key-value set.。它们都可以通过构造方法或者addAll()方法来转换为List类型。下面...
8年前 (2016-09-02)
阅读(2307)
赞一个 (2)
链接直达
总结一下有关Java数组经常用到的方法1、定义一个数组String[] aArray = new String[5];
String[] bArray = {"a", "b", "c", "d", "e"...
8年前 (2016-09-02)
阅读(3189)
赞一个 (0)
链接直达
多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线...
8年前 (2016-09-02)
阅读(2152)
赞一个 (0)
链接直达
今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程。尤其是像.NET、Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码。当然,也有一些商业软件,对其程序进行了混淆加密,这样我们就很难用工具反编译了。1、Java反编译插件 —— JadclipseJadClipse是Jad的Eclipse插件,是一款非...
8年前 (2016-09-02)
阅读(2379)
赞一个 (0)
链接直达
在这个信息相当繁杂的互联网时代,我们已经学会了如何利用搜索引擎这个强大的利器来找寻目标信息,比如你会在Google上搜索情人节如何讨女朋友欢心,你也会在百度上寻找正规的整容医疗机构(尽管有很大一部分广告骗子)。那么如果在你自己开发的网站系统中需要能让用户搜索一些重要的信息,并且能以结构化的结果展现给用户,下面分享的这9款Java搜索引擎框架或许就可以帮助到你了。1、Java 全文搜索引擎框架 Lucene毫无疑问,Lucene...
8年前 (2016-09-02)
阅读(2199)
赞一个 (0)
链接直达