原创 數據庫概念模型和邏輯模型及物理模型

概念模型 什麼是概念模型? 概念模型是面向用戶、面向現實世界的數據模型,與DBMS無關。採用概念模型,數據設計 人員可以把主要精力用於瞭解和描述現實世界上,而把涉及DBMS的一些技術性問題推遲 到設計階段解決。 如何設計概念模

原创 Java反射異常:java.lang.IllegalArgumentException: wrong number of arguments

在用反射調用Hello.java的main方法時報了一個異常 java.lang.IllegalArgumentException: wrong number of arguments Hello.java package cl

原创 java元註解詳解及自定義註解的方法

什麼是註解 註解相當於一種標記,開發工具、編譯器、JVM可以通過反射來了解類和元素有沒有註解, 然後去做出相應的操作。 例如 重寫方法時加上@Override註解,編譯器就會檢查該方法有沒有正確的覆蓋方法 修飾註解的註解:元註

原创 Spring學習筆記:使用代理實現AOP

AOP基礎知識 Spring AOP 即 Aspect-oriented programming,面向切面編程,是作爲面向對象編程的一種補充,專門用於處理系統中分佈於各個模塊(不同方法)中的交叉關注點的問題。簡單地說,就是一個攔截

原创 Spring學習筆記:IOC容器

理論基礎 IoC是什麼 Ioc—Inversion of Control,即“控制反轉”,它不是什麼技術,而是一種設計思想。在 Java 開發中, Ioc 意味着將你設計好的對象交給容器控制,而不是傳統的在你的對象內部直接控制。如

原创 Spring學習筆記:使用Pointcut 和Advisor實現AOP

基礎知識 在 Spring AOP 中,有 3 個常用的概念,Advices 、 Pointcut 、 Advisor ,解釋如下: Advices :表示一個 method 執行前或執行後的動作。 Pointcut :表示根據

原创 導入搜狗實驗室新聞語料庫

在搜狗實驗室下載的新聞語料庫中存儲的一條新聞的數據格式是 <doc> <url></url> <docno></docno> <contenttitle></contenttitle> <conte

原创 使用jmap查看堆和對象的信息

jmap概述 jmap工具提供了一系列有用的選項來查看堆的使用情況和新生代、老年代中對象的情況。 通過制定 -heap選項和運行java應用的jvm進程的pid(獲取java應用的pid,可以使用 jps工具。),就能輸出響應

原创 java垃圾收集與內存分配策略筆記

什麼是垃圾收集(Garbage Colletion)? 程序員不必手動回收不用的對象,而是由JVM自動回收不再使用的對象,清除它們佔用的 內存。 gc需要解決的3個問題: * 那些內存需要回收? * 什麼時候需要回收?

原创 Integer.valueOf和Integer.parseInt及new Integer()的區別

題目 1.System.out.println(127==127); //true , 值比較 2.System.out.println(new Integer(127) == new Integer(127)); //false

原创 Spring學習筆記: Spring概述

Spring是什麼? Spring 是一個開源的輕量級 Java SE( Java 標準版本)/Java EE( Java 企業版本)開發應用框架,其目的是用於簡化企業級應用程序開發。在傳統應用程序開發中,一個完整的應用是由一組相

原创 java泛型類型擦除

概念 類型擦除指的是在源碼中的類型信息在編譯成字節碼的過程中被去除。字節碼中的容器 類存儲的對象都是java.lang.Object類型的對象。 爲什麼java要進行類型擦除? 由於jvm運行字節碼時不支持類型檢查,因此java

原创 Java併發之Exchanger類

應用場景 如果兩個線程在運行過程中需要交換彼此的信息,可以使用Exchanger這個類。 Exchanger爲線程交換信息提供了非常方便的途徑,它可以作爲兩個線程交換對象的同步點,只有當每個線程都在進入 exchange ()

原创 java類加載器與反射學習筆記

概要: java類加載機制 Java類加載器除了根類加載器外,其他累加器都是使用Java語言編寫的,因此程序員完全可以開發自己的類加載器,通過使用自定義類 加載器 ,可以完成一些特定的功能。 java反射機制 重點介紹j

原创 CyclicBarrier與CountDownLatch區別

阻塞與喚醒方式的區別 CountDownLatch計數方式 CountDownLatch是減計數。調用await()後線程阻塞。調用countDown()方法後計數減一,當計數爲零時,調用await()的線程被喚醒。 CountD