1.安卓开发需要学习什么
2.androidç³»ç»å¼åè¦ç¨åªäºç¥è¯ï¼
3.大å¦java课ç¨
4.LevelDB 源码剖析1 -- 原理
安卓开发需要学习什么
学习分三个阶段:1,源码Android基础阶段:平台架构特性(JAVA/C) Market/应用程序组件 环境搭建与部署/打包与发布 AVD/DDMS/AAPT 调试与测试 相关资源访问/资源制作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及深层实现
2,剖析Android进阶初级:组件Widget/ 菜单Menu/ 布局Layout 详解 Xml解析(Pull/Dom/Sax)/JNI 解析SQL数据库原理,源码。
SQLite /SharedPreferences/File详解 多媒体Audio/Video/Camera 详解
3,剖析Android进阶高级:蓝牙/WIFI SMS/MMS 应用实现 深层次解析GPS原理。源码
实现LocationManager/LocationProvider 进行定位/跟踪/查找/趋近警告以及Geocoder正逆向编解码等技术细节 2D图形库(Graphics/View)详解 SDCARD/传感器/手势 应用实现
扩展资料:
知识体系
1、剖析AutoHotkey破解源码Unix/Linux平台技术:基本命令,源码Linux下的剖析开发环境
2、企业级数据库技术:SQL语言、源码SQL语句调优、剖析Oracle数据库技术
3、源码Java 语言核心技术:Java语言基础、剖析Java面向对象编程、源码JDK核心API、剖析stickercamera源码Java集合框架、源码Java网络编 程、JavaI/O编程、Java多线程编程、Java异常机制、Java安全、JDBC、XML
4、软件工程和设计模式:软件工程概述、配置管理及SVN、UML、基本设计模式
5、Android应用开发基础:Android开发平台、ocrphp源码Eclipse+ADT开发环境、AVD及传感模拟器调试、Android核心组件、Android常用组件、Android高级组件、文件及网络访问、SQLite数据库编程、后台服务编程
6、互联网核心技术: HTML、CSS、JavaScript、JQuery、Ajax应用
7、smobiler 源码Android高级应用开发:音频\视频\摄像头、互联网应用、GPS和位置服务、Google Map、2D\3D绘制、传感器开发、游戏开发、电话及SMS服务、网络\Bluetooth\Wi-Fi等。
8、Android系统级开发:移植、驱动、NDK(C方向)。dbutile源码
9、JavaEE核心技术:Servlet核心技术、JSP核心技术、Struts、Spring、Hibernate框架。
参考资料:
androidç³»ç»å¼åè¦ç¨åªäºç¥è¯ï¼
android ææ¯å å¹ç³»ç»å·
第1ç« åå¤å·¥ä½ /1 1.1 æ·±å ¥è®¤è¯android /2 1.1.1 androidçç³»ç»ææ¶ /2 1.1.2 androidçåå§åæµç¨ /5 1.1.3 å个å±æ¬¡ä¹é´çç¸äºå ³ç³» /8 1.1.4 androidç³»ç»å¼åï¼ç§»æ¤ï¼ååºç¨å¼å / 1.2 è·ååç¼è¯androidçæºç / 1.2.1 ç¯å¢é ç½® / 1.2.2 è·åandroidæºç / 1.2.3 ç¼è¯androidçæºç åå ¶å·¥å ·å / 1.2.4 è¿è¡androidç³»ç» / 1.3 å¼åç¯å¢æ建 / 1.3.1 åºç¨å¼åç¯å¢æ建 / 1.3.2 æºç å¼åç¯å¢æ建 / 1.4 androidæºç ç»æ / 1.5 å°ç» / 第2ç« androidçå æ ¸æºå¶åç»æåæ / 2.1 linuxä¸androidçå ³ç³» / .2.1.1 为ä»ä¹ä¼éæ©linux / 2.1.2 androidä¸æ¯linux / 2.2 android对linuxå æ ¸çæ¹å¨ / 2.2.1 goldfish / 2.2.2 yaffs2 / 2.2.3 èç / 2.2.4 è°åº¦å¨ï¼schedulerï¼/ 2.2.5 androidæ°å¢çé©±å¨ / 2.2.6 çµæºç®¡ç / 2.2.7 æ项 / 2.3 android对linuxå æ ¸çå¢å¼º / 2.3.1 alarmï¼ç¡¬ä»¶æ¶éï¼/ 2.3.2 ashmemï¼å¿åå åå ±äº«ï¼/ 2.3.3 low memory killerï¼ä½å å管çï¼/ 2.3.4 loggerï¼æ¥å¿è®¾å¤ï¼/ 2.3.5 android pmem / 2.3.6 switch / 2.3.7 timed gpio / 2.3.8 android ram console / 2.4 å°ç» / 第3ç« androidçipcæºå¶--binder / 3.1 binderæ¦è¿° / 3.1.1 为ä»ä¹éæ©binder / 3.1.2 åè¯binder / 3.2 binder驱å¨çåçåå®ç° / 3.2.1 binder驱å¨çåç / 3.2.2 binder驱å¨çå®ç° / 3.3 binderçææ¶ä¸å®ç° / 3.3.1 binderçç³»ç»ææ¶ / 3.3.2 binderçæºå¶ååç / 3.4 å°ç» / 第4ç« çµæºç®¡ç / 4.1 çµæºç®¡çæ¦è¿° / 4.2 çµæºç®¡çç»æ / 4.3 androidççµæºç®¡çæºå¶ / 4.4 androidçµæºç®¡çæºå¶çå®ç° / 4.5 å°ç» / 第5ç« é©±å¨çå·¥ä½åçåå®ç°æºå¶ / 5.1 æ¾ç¤ºé©±å¨ï¼framebufferï¼/ 5.1.1 framebufferçå·¥ä½åç / 5.1.2 framebufferçææ¶ / 5.1.3 framebuffer驱å¨çå®ç°æºå¶ / 5.2 è§é¢é©±å¨ï¼v4låv4l2ï¼/ 5.2.1 v4l2ä»ç» / 5.2.2 v4l2çåçåææ¶ / 5.2.3 v4l2çå®ç° / 5.3 é³é¢é©±å¨ï¼ossåalsaï¼/ 5.3.1 ossä¸alsaä»ç» / 5.3.2 ossçææ¶ä¸å®ç° / 5.3.3 alsaçææ¶ä¸å®ç° / 5.4 mtdé©±å¨ / 5.4.1 mtd驱å¨çåè½ / 5.4.2 mtd驱å¨çææ¶ / 5.4.3 mtd驱å¨çåçåå®ç° / 5.5 eventè¾å ¥è®¾å¤é©±å¨ / 5.5.1 inputçç³»ç»ææ¶ / 5.5.2 eventè¾å ¥é©±å¨çææ¶ / 5.5.3 eventè¾å ¥é©±å¨çåç / 5.5.4 eventè¾å ¥é©±å¨çå®ç° / 5.6 èç驱å¨ï¼bluetoothï¼/ 5.6.1 bluetooth驱å¨çææ¶ / 5.6.2 bluezçåçåå®ç° / 5.7 wlan驱å¨ï¼wi-fiï¼/ 5.7.1 wlanææ¶ / 5.7.2 wi-fi驱å¨çå®ç°åç / 5.8 å°ç» / 第6ç« åçåºçåçåå®ç° / 6.1 ç³»ç»cåºï¼bionic libcï¼/ 6.1.1 bionic libcåè½æ¦è¿° / 6.1.2 bionic libcå®ç°åç / 6.2 åè½åº / 6.2.1 webkitææ¶ä¸å®ç° / 6.2.2 å¤åªä½æ¡æ¶ä¸å®ç° / 6.2.3 android sqliteæ¡æ¶ååç / 6.3 æ©å±åº / 6.3.1 skiaåºå±åºåæ / 6.3.2 openglåºå±åºåæ / 6.3.3 android-opensslå®ç°åè¿ç¨ / 6.3.4 freetypeåfont engine manager / 6.3.5 freetypeç»æä½ç³»å渲ææµç¨ / 6.4 åçæå¡ / 6.4.1 audioflingerå®ç° / 6.4.2 surfaceflingerå®ç° / 6.5 å°ç» / 第7ç« ç¡¬ä»¶æ½è±¡å±çåçä¸å®ç° / 7.1 硬件æ½è±¡å±çå®ç°åç / 7.1.1 android halææ¶ / 7.1.2 android halçå®ç° / 7.2 android overlayææ¶ä¸å®ç° / 7.2.1 android overlayç³»ç»ææ¶ / 7.2.2 overlay halæ¡æ¶ä¸å®ç° / 7.2.3 overlayä¸surfacefinger / 7.3 android camera ææ¶ä¸å®ç° / 7.3.1 android cameraç³»ç»ææ¶ / 7.3.2 camera halæ¡æ¶ä¸å®ç° / 7.3.3 cameraæ¬å°å®ç° / 7.4 android audio halå®ç° / 7.4.1 audio halæ¡æ¶ / 7.4.2 androidé»è®¤çaudio halå®ç° / 7.4.3 dumpåè½çaudio halå®ç° / 7.4.4 åºäºa2dpçèçé³é¢è®¾å¤halå®ç° / 7.4.5 模æå¨ä¸çaudio halå®ç° / 7.5 android rilå®ç° / 7.5.1 android rilææ¶ / 7.5.2 radiooptiongså®ç° / 7.5.3 librilåºå®ç° / 7.5.4 reference-rilåºå®ç° / 7.5.5 rildå®æ¤è¿ç¨å®ç° / 7.5.6 requestæµç¨åæ / 7.5.7 responseæµç¨åæ / 7.6 android sensor halå®ç° / 7.6.1 android sensoræ建 / 7.6.2 sensor halæ¥å£ / 7.6.3 sensor halå®ç° / 7.7 android wifi halå®ç° / 7.7.1 android wifiç³»ç»ææ¶ / 7.7.2 wpa_supplicantæ¡æ¶ / 7.7.3 wifi halå®ç° / 7.8 androidèçæ¬å°å®ç° / 7.8.1 androidèçææ¶ / 7.8.2 bluezç»æä½ç³» / 7.8.3 bluezéé å± / 7.9 android å®ä½å®ç° / 7.9.1 å®ä½ç³»ç»ææ¶ / 7.9.2 gps halå®ç° / 7. android power halå®ç° / 7. android vibrator halå®ç° / 7. å°ç» / 第8ç« dalvikèææºçææ¶ãåçä¸å®ç° / 8.1 dalvikèææºæ¦è¿° / 8.1.1 ä»ä¹æ¯dalvikèææº / 8.1.2 dalvikèææºçåè½ / 8.1.3 dalvikèææºä¸javaèææºçåºå« / 8.2 dalvikææ¶ä¸å®ç° / 8.2.1 dalvikç³»ç»ææ¶ / 8.2.2 dxådexdumpå·¥å · / 8.2.3 .dexæä»¶æ ¼å¼è§£æ / 8.2.4 dalvikå é¨æºå¶ / 8.2.5 dalvikè¿ç¨ç®¡ç / 8.2.6 dalvikå å管ç / 8.2.7 dalvikå è½½å¨ / 8.2.8 dalvik解éå¨ / 8.2.9 dalvik jit / 8.3 jniçææ¶ä¸å®ç° / 8.3.1 jniææ¶ / 8.3.2 jniå®ç° / 8.4 å°ç» / 第9ç« android æ ¸å¿åº / 9.1 androidæ ¸å¿åºç®ä» / 9.2 androidç³»ç»api / 9.2.1 androidå / 9.2.2 androidèµæºå / 9.2.3 apicheckæºå¶ / 9.3 å°ç» / åè®° /
大å¦java课ç¨
ä¸ javaæ¯å±äºå¤§å¦ç课ç¨å
é¢å对象ç¨åºè®¾è®¡ï¼å¤§å¦è¯¾ç¨ï¼ä¸è¿åä¸ä¸ãä¿¡æ¯è½¯ä»¶ç±»ç
äº javaä¸ä¸è¯¾ç¨é½æåªäº
è¿ä¸ªé®é¢ççå¾ä¸ä½ãJavaæ¯å¾é«çº§è¯è¨ï¼åä¸æ¯å¤§å¦çæ个ä¸ä¸ï¼åªæä¸ä¸è¯¾è¿ä¸è¯´ãåå¦æä½ æ³é®Javaå¼åéçè¦å¦ä»ä¹ï¼é£ä¹ä½ å¾å¦J2SEï¼jsp, servlet, , js , ssh, s *** , sqlçï¼Javaä¸è¬é½ç¨äºç½ç»æ¹é¢ç¼ç¨ï¼ä¸éåæ¡é¢ç¨åºï¼ä¸ªäººè®¤ä¸ºä¹ä¸éååææºåºç¨ï¼å®åï¼
ä¸ æ³å¦JAVAè¦å¦å¤§å¦è¯¾ç¨éé¢çåªäº
æ³å¦Javaåºç¡åªééè¦å¦å¤§å¦çä»ä¹è¯¾ç¨ï¼ç°å¨å¤§å¦ï¼æ¶é´å 足ï¼å¯ä»¥ç´æ¥å å ¥æä¸æ¬è®²Javaåºç¡çå 书ï¼ä¸ªäººå®¹æè§ï¼ä¸æ¨èãç¯çJava讲ä¹ãè¿æ¬ä¹¦ï¼æ³¨ææ¯ä¸æ¨èï¼ï¼ï¼ï¼ï¼å¤ªåï¼å®¹æ让人失å»å ´è¶£ãæ¾ä¸æ¬èä¸ç¹çï¼ç¥è¯ç¹å 容æJavaåºæ¬è¯æ³ã循ç¯ãé¢å对象ã *** ã线ç¨ãI/Oçï¼è¿ææ°æ®åºçåºç¡ï¼ææ¶é´ç®æ³ä¹å¯ä»¥ç 究ä¸ä¸ãä¹ååæ¥å¹è®çï¼å¦èµ·æ¥å°±ç®åå¤äº
å å½å 大å¦é½ç¨ä»ä¹java课æ¬
æ们çæ¯å¤æï¼ä»ç»æ们æä¾çæææ¯ï¼
deitelå ¬å¸çjava大å¦æç¨ï¼çµåå·¥ä¸åºç社ã
åçå¾å¥½ï¼å¾è¯¦ç»ï¼éåæ°æ
äº å¤§å¦éæjavaè¿é¨è¯¾ç¨å
å¦æä½ çä¸ä¸æ¯ä¸è®¡ç®æºç¸å ³çï¼æ¯å¦è®¡ç®æºç§å¦ä¸ææ¯ãä¿¡æ¯ææ¯ã软件工ç¨ãåè¡å·¥ç¨çç¸å ³ä¸ä¸é½ä¼å¼java课ç¨çã
å¦æä½ æ¯é计ç®æºç¸å ³ä¸ä¸çï¼ä¸è¬æ¯ä¸ä¼å¼è®¾çï¼é¤éä½ æjavaå为èªå·±çé修课ï¼ä½é£ä¹è¦çæ¯å¦æjavaçéä¿®ã
å å¦ä¹ Javaæåªäºè¯¾ç¨å
Javaå¦ä¹ ä¸è¬æä¸ä¸å 容
1ãJavaå¼åï¼æ好Javaè¯è¨åºç¡ï¼æ·±å ¥ç解Javaé¢åå¯¹è±¡æ ¸å¿ææ³ï¼ææ¡Java *** ä¸æ¡æ¶ãå¤çº¿ç¨ãå±IOãç½ç»ç¼ç¨ä»¥åJ2SE8.0æ°ç¹å¾
2ãWebå移å¨å端页é¢ãJava Webå¼åææ¯ãjQuery+AJAXãMySQLæ°æ®åºãwebåºç¨å¼åå®æ
3ãSpringMVCæ¡æ¶ãMyBatisæ¡æ¶ãSpringæ¡æ¶æ´åãHibernateæ¡æ¶ãStruts2.0æ¡æ¶ãä¼ä¸å¼åæ¡æ¶å®æ
4ãJava常ç¨ç»ä»¶ãMaven项ç®æ建ãSVN\GIãTæºç 管çãLinuxå ¥é¨ãOracleæ°æ®åºãNOSQLãé«å并æ¶æä½ç³»
5ãä¼ä¸å¼åå®æï¼çå®ä¼ä¸é¡¹ç®æ¡ä¾é项å®æï¼ææ¡éæ±åæãæ°æ®åºè®¾è®¡ã详ç»è®¾è®¡ãå¢éåä½ã
ä¸ éè¿å¤§å¦çJava课ç¨è½å¦å¥½Javaå
ä¸è½ 大å¦java课ç¨å¤ªç®åäºï¼ITjob Java 课ç¨ï¼
第ä¸é¶æ®µ Java SE (1-6å¨ï¼å ±6å¨)
第äºé¶æ®µ Webå端åºç¡ç¯âHTML4+CSS2+JavaScript+jQuery(7-8å¨ï¼å ±2å¨)
第ä¸é¶æ®µ JavaEEåºç¡ç¯âServlet+JSP+AJAX(9-å¨ï¼å ±3å¨)
第åé¶æ®µ æ°æ®åºç¯ââOracle(-å¨,å ±2å¨)
第äºé¶æ®µ MVCââSpringMVC+Mybatis(-å¨,å ±2å¨)
第å é¶æ®µ 项ç®å®æ(-å¨ï¼å ±3å¨)
å « 大å¦éçjava课ç¨ç¨çæ¯åªæ¬ææå ³äºåªæ¬ææ说çå ·ä½ç¹ï¼æ³ä¹°äºèªå¦ï¼è°¢è°¢ï¼
èªå¦çè¯ï¼
æç»ä½ è¿ä¸ªç¥ä¹çç½åï¼å ¨æ¯è¯åé«çææï¼
è¿æ ä¸å½å¤§å¦MOOC éä¹æ大é大å¦æç¨ï¼åç§å±æ¬¡çé½æ
//hu/question//answer/
ä¸å½å¤§å¦MOOC:
//icourse/course/index?utm_source=Half_Featured&utm_medium=email&utm_campaign=Half_Featured&utm_content=more#/c
å¸æå¯¹ä½ æç¨
ä¹ å¤§å¦è®¡ç®æºä¸ä¸JAVA课ç¨å¦çé½æä»ä¹
å¦ä¹ JAVA以å®è®è¯¾ç¨ä¸ºä¸»
第ä¸é¶æ®µï¼ä»¥T-ELT E-Learningè¯æµç³»ç»ä¸ºé©±å¨ï¼
Unixå¼åç¯å¢
Unixç³»ç»åçãUnixå¼åç¯å¢ãUnix常ç¨å½ä»¤ã
çç»ææ¡Unix常ç¨å½ä»¤ï¼çç»æ建Unixä¸çJavaå¼åç¯å¢ã
Javaè¯è¨åºç¡
ç®æ³åºç¡ã常ç¨æ°æ®ç»æãä¼ä¸ç¼ç¨è§èã
ææ¡å¸¸è§çæ°æ®ç»æåå®ç¨ç®æ³ï¼å¹å »è¯å¥½çä¼ä¸çº§ç¼ç¨ä¹ æ¯ã
Javaé¢å对象
é¢å对象ç¹æ§ï¼å°è£ ã继æ¿ãå¤æçã
ææ¡é¢å对象çåºæ¬åå以åå¨ç¼ç¨å®è·µä¸çæä¹ï¼ææ¡Javaé¢å对象ç¼ç¨åºæ¬å®ç°åçã
JDKæ ¸å¿API
è¯è¨æ ¸å¿å ãå¼å¸¸å¤çã常ç¨å·¥å ·å ã *** æ¡æ¶
çç»ææ¡JDKæ ¸å¿APIç¼ç¨ææ¯ï¼ç解API设计ååï¼å ·å¤çç»çé 读APIææ¡£çè½åï¼ä¸ºåç»ç课ç¨å¦ä¹ æä¸åå®çè¯è¨åºç¡ã
T-ELT项ç®å¼å
第äºé¶æ®µï¼ä»¥T-3GABS èªç©ºå ¬å¸3Gè¥ä¸ç³»ç»é©±å¨ï¼
SQLè¯è¨
SQLè¯å¥åºç¡åæé«ãSQLè¯å¥è°ä¼ã
çç»çææ¡SQLè¯å¥ï¼ææ¡ä¸å®çæ°æ®åºæ¥è¯¢æå·§åSQLè¯å¥ä¼åæå·§ã
Oracleæ°æ®åºå¼å
OrOracleä½ç³»ç»æåç³»ç»ç®¡çãOracleæ°æ®åºé«çº§ç¼ç¨ãæ°æ®åºè®¾è®¡åºç¡ã
ææ¡Oracleä½ç³»ç»æåæ ¸å¿ç¼ç¨ææ¯
JavaSEæ ¸å¿
å¼ å¼å¸¸å¤çãå¤çº¿ç¨åºç¡ãIOç³»ç»ãç½ç»ç¼ç¨ãSwingç»ä»¶ãJVMæ§è½è°ä¼ï¼JVMå åç»æåæãGCåæåè°ä¼ãJVMå ååæ°ä¼åï¼ãJavaæ³åãJDKæ°ç¹æ§ã
çç»ææ¡JavaSEæ ¸å¿å 容ï¼ç¹å«æ¯IOåå¤çº¿ç¨ï¼åæ¥å ·å¤é¢å对象设计åç¼ç¨çè½åï¼ææ¡åºæ¬çJVMä¼åçç¥ã
XML
XMLè¯æ³ãXML解æï¼SAXãDOMï¼ãDom4jç»ä»¶ãDigesterç»ä»¶ã
çç»ææ¡XMLè¯æ³è§åï¼ç解DOM模åï¼çæJava对XMLçåç§è§£ææ¹å¼ã
JDBC
JDBCæ ¸å¿APIï¼ConnectionãStatementãResultSetï¼ãJDBCä¼åææ¯ï¼ç¼åææ¯ãæ¹å¤çææ¯ãè¿æ¥æ± ææ¯ï¼ã
ç解JDBCä½ä¸ºè§èç设计ååï¼çç»ææ¡JDBC APIï¼å ·å¤ä½¿ç¨JDBC对æ°æ®åºè¿è¡é«æ访é®çè½åã
软件工ç¨åºç¡
软件è¿ç¨å软件活å¨ï¼éæ±è®¾è®¡ãæ¦è¦è®¾è®¡ã详ç»è®¾è®¡åºæ¬åååææ¡£è§èï¼é 置管ççåºæ¬æ¦å¿µåå¿ è¦æ§ï¼CVSåºæ¬æä½ï¼Antç®ä»
ç解软件è¿ç¨çæ®éæ¦å¿µååºæ¬ç软件活å¨ï¼ç解è¿ä»£çæä¹ï¼ææ¡AntãCVSç常ç¨é 置管çåé¨ç½²å·¥å ·ã
OOADå设计模å¼
é¢å对象åºæ¬è®¾è®¡ååãå·¥å模 å¼ãçç¥æ¨¡å¼ãéé å¨æ¨¡å¼ã 代ç模å¼çãé¨é¢æ¨¡å¼ã
ç解é¢å对象设计ç ä¸è¬ååï¼ç解éç¨çæä¹ï¼ææ¡å¸¸è§ç设计模å¼
Androidåºç¡
3G Androidæ ¸å¿æ¦å¿µãAndroid SDKã Android GUI æ¶æåå¼å模å¼
ææ¡Androidå¼åç¯å¢æ建ï¼çç»ææ¡Android SDKï¼å ·å¤Androidå¼ååºç¡ã
Androidåºç¨å¼å
Androidç»ä»¶å®è·µãSQLiteæ°æ®åºä¸ContentProvidersãAndroidç½ç»åºç¨å®è·µ
ææ¡Android常ç¨ç»ä»¶å¼åå设计模å¼ï¼ææ¡Androidæ°æ®åºç¼ç¨åç½ç»ç¼ç¨æå·§ã
T-ABS 项ç®å¼å
第ä¸é¶æ®µï¼ä»¥T-GWAP éç¨çµååå¡å¹³å°ä¸ºé©±å¨ï¼
HTML/CSS
HTMLåºæ¬ææ¡£ç»æãææ¡CSSåºç¡è¯æ³ãå ³äºHTMLææ¡£åãé¾æ¥ãå表ãè¡¨æ ¼ã表åç
ææ¡HTMLåºæ¬åçï¼ææ¡CSSåç§éæ©å¨å常è§æ ·å¼è®¾ç½®ï¼çç»ä½¿ç¨HTML常ç¨å ç´ ã
JavaScriptæ ¸å¿
JavaScriptè¯è¨åºç¡ï¼æ°æ®ç±»åãå½æ°ã对象ãéå ï¼ãJava DOMç¼ç¨ãäºä»¶æ¨¡åãJavaScripté¢å对象ç¼ç¨ã
æ·±å ¥ç解JavaScriptè¯è¨åçï¼çç»ç使ç¨JavaScript对HTMLDOMè¿è¡ç¼ç¨ï¼çç»ææ¡JavaScript对象对象å°è£ æå·§ï¼ä¸ºåç»çJavaScriptå¦ä¹ æä¸åå®çåºç¡ã
Servlet/JSP
Se Servletçå½å¨æåServletæå¡å¨ãTomcaté¨ç½²é ç½®ãJSPè¯æ³ã èªå®ä¹æ è®°ãJSTLåEL表达å¼ãJSP æ°ç¹æ§ãJava Web 设计模å¼ã
éå½»ç解Servletæ ¸å¿åçï¼çç»ææ¡Servlet APIï¼éå½»ç解JSPå¼æå·¥ä½åçï¼éå½»ç解æ è®°åºåçï¼çæ常è§çJava Web设计模å¼ï¼ä¸ºåç»çJava Webå¼åæä¸åå®çç论åºç¡ã
Ajax
Ajaxåºç¡ãXHR对象ãAjax设计模å¼ãJSONææ¯
ææ¡Ajaxçåºæ¬éä¿¡åçï¼ææ¡åºäºXMLåJSONçAjaxæ°æ®è§åã
JavaScriptæ¡æ¶
JQueryãJQueryæ件ãDWRã
ææ¡JQueryæ ¸å¿APIï¼äºè§£JQueryåºæ¬è®¾è®¡ååï¼äºè§£å¤ç§JQueryæ件ï¼ææ¡DWRçåºæ¬åçååºç¨æå·§ã
T-GWAP 项ç®å¼å
第åé¶æ®µï¼ 以T-GLMS GPSç©æµç®¡çç³»ç»é©±å¨ï¼
Struts 2.1.6
Struts2æ ¸å¿æ§å¶æµç¨ãOgnlãActionãInterceptorãResultãFreeMarkerãStruts2æ è®°åºãStruts2æ©å±ãStruts2åºç¨æå·§ï¼è¾å ¥éªè¯ãæ¶æ¯å½é åãæ件ä¸ä¼ åä¸è½½ãé²æ¢éå¤æ交çï¼ã
çç»ææ¡Struts2æ ¸å¿è¦ä»¶ï¼ç¹å«æ¯InterceptoråResultï¼ææ¡åºäºæ¨¡æ¿ææ¯çStruts2 UIç»ä»¶ï¼ææ¡åºäºOgnlçæ°æ®å ±äº«æ¹å¼ãææ¡Struts2åç§å®å¶åæ©å±æ¹å¼ï¼çç»ææ¡åºäºStruts2çWebå¼åæå·§ã
å 大å¦è®¡ç®æºä¸ä¸è¯¾ç¨æjavaå
ç°å¨é½æ¯cè¯è¨åc++å¨å¤§å¦éæ¯è¾å¹¿å§ï¼javaä¸ä¸å®ä¼å¦ï¼
LevelDB 源码剖析1 -- 原理
LSM-Tree,全称Log-Structured Merge Tree,被广泛应用于数据库系统中,如HBase、Cassandra、LevelDB和SQLite,甚至MongoDB 3.0也引入了可选的LSM-Tree引擎。这种数据结构旨在提供优于传统B+树或ISAM(Indexed Sequential Access Method)方法的写入吞吐量,通过避免随机的本地更新操作实现。
LSM-Tree的核心思想基于磁盘性能的特性:随机访问速度远低于顺序访问,三个数量级的差距。因此,简单地将数据附加至文件尾部(日志或堆文件策略)可以提供接近理论极限的写入吞吐量。尽管这种方法足够简单且性能良好,但它有一个明显的缺点:从日志中随机读取数据需要花费更多时间,因为需要按时间顺序从近及远扫描日志直至找到所需键。因此,日志策略仅适用于简单的数据访问场景。
为了应对更复杂的读取需求,如基于键的搜索、范围搜索等,LSM-Tree引入了一种改进策略,通过创建一系列排序文件来存储数据,每次写入都会生成一个新的文件,同时保留了日志系统优秀的写性能。在读取数据时,系统会检查所有文件,并定期合并文件以减少文件数量,从而提高读取性能。
在LSM-Tree的基本算法中,写入数据按照顺序保存到一组较小的排序文件中。每个文件代表了一段时间内的数据变更,且在写入前进行排序。内存表作为写入数据的缓冲区,用于保持键值的顺序。当内存表填满后,已排序的数据刷新到磁盘上的新文件。系统会周期性地执行合并操作,选择一些文件进行合并,以减少文件数量和删除冗余数据,同时维持读取性能。
读取数据时,系统首先检查内存缓冲区,若未找到目标键,则以反向时间顺序检查各个文件,直到找到目标键。合并操作通过定期将文件合并在一起,控制文件数量和读取性能,即使文件数量增加,读取性能仍可保持在可接受范围内。通过使用内存中保存的页索引,可以优化读取操作,尤其是在文件末尾保留索引块,这通常比直接二进制搜索更高效。
为了减少读取操作时访问的文件数量,新实现采用了分级合并(Leveled Compaction),即基于级别的文件合并策略。这不仅减少了最坏情况下需要访问的文件数量,还减少了单次压缩的副作用,同时提供更好的读取性能。分级合并与基本合并的主要区别在于文件合并的策略,这使得工作负载扩展合并的影响更高效,同时减少总空间需求。