原创 Eclipse中Access restriction: The type ‘XXX’ is not API 解決

報此錯誤只需將jre由jdk路徑下的jre改爲外部的jre即可,具體做法爲: Project -> Properties -> Java Build Path -> Libraries,選中JRE System Library,然後Re

原创 eclipse找不到tools.jar下的內容的解決方法

  今天想在eclipse中通過Ctrl+Shift+T打開JCTree這個類,發現找不到,原來是因爲tools.jar這個包都沒有打進來。   解決方法是:在Project Explorer中點擊右鍵,然後依次選擇Properties

原创 泛型的內部原理:類型擦除以及類型擦除帶來的問題

一、Java泛型的實現方法:類型擦除前面已經說了,Java的泛型是僞泛型。爲什麼說Java的泛型是僞泛型呢?因爲,在編譯期間,所有的泛型信息都會被擦除掉。正確理解泛型概念的首要前提是理解類型擦出(type erasure)。Java中的泛

原创 Dapper,大規模分佈式系統的跟蹤系統

概述 當代的互聯網的服務,通常都是用複雜的、大規模分佈式集羣來實現的。互聯網應用構建在不同的軟件模塊集上,這些軟件模塊,有可能是由不同的團隊開發、可能使用不同的編程語言來實現、有可能布在了幾千臺服務器,橫跨多個不同的數據中心。因此,就

原创 java方法調用之動態調用多態(重寫override)的實現原理——方法表

轉自:http://blog.csdn.net/fan2012huan/article/details/51007517上兩篇篇博文討論了java的重載(overload)與重寫(override)、靜態分派與動態分派,這篇博文討論下動態

原创 從Java文件到字節碼文件

本文涉及的javac編譯器來自openjdk. javac的目錄地址爲:解壓目錄/langtools/src/share/classes/com/sun/tools/javac/ javac編譯器將Java編譯成爲一個有效的字節碼文

原创 JVM方法調用的那些事

轉自:http://www.jianshu.com/p/56a7c4b26b14前言Java具備三種特性:封裝、繼承、多態。Java文件在編譯過程中不會進行傳統編譯的連接步驟,方法調用的目標方法以符號引用的方式存儲在Class文件中,這種

原创 Java中的阻塞隊列

1. 什麼是阻塞隊列?阻塞隊列(BlockingQueue)是一個支持兩個附加操作的隊列。這兩個附加的操作是:在隊列爲空時,獲取元素的線程會等待隊列變爲非空。當隊列滿時,存儲元素的線程會等待隊列可用。阻塞隊列常用於生產者和消費者的場景,生

原创 5. Longest Palindromic Substring(求最長迴文子字符串)

Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. E

原创 2. Add Two Numbers (兩數求和)

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse orde

原创 3. Longest Substring Without Repeating Characters(計算不含重複字符的最長子串的長度)

Given a string, find the length of the longest substring without repeating characters. Examples: Given "abcabcbb",

原创 11. Container With Most Water(求能裝最多水的容器)

Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines ar

原创 git reset soft,hard,mixed之區別深解

GIT reset命令,似乎讓人很迷惑,以至於誤解,誤用。但是事實上不應該如此難以理解,只要你理解到這個命令究竟在幹什麼。 首先我們來看幾個術語 HEAD 這是當前分支版本頂端的別名,也就是在當前分支你最近的一個提交 Index in

原创 Java中的註解是如何工作的?

自Java5.0版本引入註解之後,它就成爲了Java平臺中非常重要的一部分。開發過程中,我們也時常在應用代碼中會看到諸如@Override,@Deprecated這樣的註解。這篇文章中,我將向大家講述到底什麼是註解,爲什麼要引入註解,註

原创 金融級分佈式架構,分佈式系統數據層設計模式

2013 年 5 月,支付寶最後一臺小型機下線,去 “IOE” 取得里程碑進展。支付寶(以及後來的螞蟻金服)走的是一條跟傳統金融行業不同的分佈式架構之路。要基於普通硬件資源實現金融級的性能和可靠性,有不少難題要解決。應用層是無狀態的,藉助