1.myeclipse 2015 stable 1.0 è¿ä¸äºmarketplace
2.OSGIç书ç±
3.OSGI学习参考资料
myeclipse 2015 stable 1.0 è¿ä¸äºmarketplace
çæMyEclipse8.5注åç çjavaæºç çæMyEclipse8.5注åç çjavaæºç MyEclipseKeyGen MyEclipse8.5注åæº MyEclipse8.5注åç çæ MyEclipse8.5注åæºæºç
[java] view plaincopyprint?
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class MyEclipseKeyGen {
private static final String LL = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section of the DMCA, penalties range up to a $, fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself.";
public String getSerial(String userId, String licenseNum) {
java.util.Calendar cal = java.util.Calendar.getInstance();
cal.add(1, 3);
cal.add(6, -1);
java.text.NumberFormat nf = new java.text.DecimalFormat("");
licenseNum = nf.format(Integer.valueOf(licenseNum));
String verTime = new StringBuilder("-").append(
new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime()))
.append("0").toString();
String type = "YE3MP-";
String need = new StringBuilder(userId.substring(0, 1)).append(type)
.append("").append(licenseNum).append(verTime).toString();
String dx = new StringBuilder(need).append(LL).append(userId)
.toString();
int suf = this.decode(dx);
String code = new StringBuilder(need).append(String.valueOf(suf))
.toString();
return this.change(code);
}
private int decode(String s) {
int i;
char[] ac;
int j;
int k;
i = 0;
ac = s.toCharArray();
j = 0;
k = ac.length;
while (j < k) {
i = ( * i) + ac[j];
j++;
}
return Math.abs(i);
}
private String change(String s) {
byte[] abyte0;
char[] ac;
int i;
int k;
int j;
abyte0 = s.getBytes();
ac = new char[s.length()];
i = 0;
k = abyte0.length;
while (i < k) {
j = abyte0[i];
if ((j >= ) && (j <= )) {
j = (((j - ) + 5) % ) + ;
} else if ((j >= ) && (j <= )) {
j = (((j - ) + ) % ) + ;
} else if ((j >= ) && (j <= )) {
j = (((j - ) + ) % ) + ;
}
ac[i] = (char) j;
i++;
}
return String.valueOf(ac);
}
public MyEclipseKeyGen() {
super();
}
public static void main(String[] args) {
try {
System.out.println("please input register name:");
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
String userId = null;
userId = reader.readLine();
MyEclipseKeyGen myeclipsekeygen = new MyEclipseKeyGen();
String res = myeclipsekeygen.getSerial(userId, "5");
System.out.println("Serial:" + res);
reader.readLine();
} catch (IOException ex) {
}
}
}
OSGIç书ç±
1.ãæ·±å ¥ç解OSGi:Equinoxåçãåºç¨ä¸æä½³å®è·µãä½è ï¼å¨å¿æ & è°¢å°æï¼åºçæ¶é´ï¼-2-1.
å 容ç®ä»ï¼æ¬ä¹¦å ±ç« ï¼å4个é¨åã第ä¸é¨åï¼ç¬¬1ç« ï¼ï¼èµ°è¿OSGiï¼ä¸»è¦ä»ç»äºä»ä¹æ¯OSGi以å为ä»ä¹è¦ä½¿ç¨OSGiã第äºé¨åï¼ç¬¬2ï½4ç« ï¼ï¼OSGiè§èä¸åçï¼å¯¹ææ°çOSGi R5.0ä¸çæ ¸å¿è§èè¿è¡äºå ¨é¢ç解读ï¼é¦å 讲解äºOSGi模åç建ç«ãæè¿°ãä¾èµå ³ç³»çå¤çï¼ç¶å讲解äºBundleçå¯å¨åçåè°åº¦ç®¡çï¼æå讲解äºä¸æ¬å°åè¿ç¨æå¡ç¸å ³çå 容ã第ä¸é¨åï¼OSGiæå¡ä¸Equinoxåºç¨å®è·µï¼ç¬¬5ï½ç« ï¼ï¼ä¸ä» 详ç»è®²è§£äºOSGiæå¡çº²è¦è§èåä¼ä¸çº§è§èä¸æ常ç¨çå 个åè§èåæå¡çææ¯ç»èï¼è¿éè¿ä¸ä¸ªåºäºEquinoxçBBSæ¡ä¾æ¼ç¤ºäºEquinoxç使ç¨æ¹æ³ï¼æéè¦çæ¯è¿éè¿æºç åæäºEquinoxå ³é®åè½çå®ç°æºå¶ååçã第åé¨åï¼æä½³å®è·µï¼ç¬¬ï½ç« ï¼ï¼æ»ç»äºå¤§éå ³äºOSGiçæä½³å®è·µï¼å æ¬ä»Bundleå¦ä½å½åã模åååãä¾èµå ³ç³»å¤çå°ä¿æOSGiå¨ææ§ã管çç¨åºå¯å¨é¡ºåºã使ç¨APIåºçº¿ç®¡ç模åçæ¬çåæ¹é¢çå®è·µæå·§ï¼æ¤å¤è¿ä»ç»äºSpring DMçåç以åå¦ä½å¨OSGiç¯èä¸è¿è¡ç¨åºæµè¯ã
2.ãEclipse RCPä¸Spring OSGi:ææ¯è¯¦è§£ä¸æä½³å®è·µã
ä½è ï¼éé³ï¼åºçæ¶é´ï¼-1-1.
å 容ç®ä»ï¼å ¨ä¹¦å ±å3个é¨åï¼åºç¡ç¯ï¼ç¬¬1~5ç« ï¼è¯¦ç»ä»ç»äºä¸Eclipse RCPç¸å ³çä¸ç³»åæ ¸å¿æ¦å¿µãEclipse RCPå¼åç¯å¢çæ建ï¼ä»¥åSWTãJFaceãFormsãNebulaåWindowBuilderçEclipse RCPå¼åæ常ç¨ççé¢ç¼ç¨ææ¯ï¼é«çº§ç¯ï¼ç¬¬6~ç« ï¼ç³»ç»è®²è§£äºEclipse RCPåºç¨å¼åçåºç¡ç¥è¯ãEclipse RCP软件产åå个ç»æé¨åçæ建æ¹æ³ï¼ä»¥åEclipse RCPæ©å±ç使ç¨åæ©å±ç¹çå¼åï¼ææ¡è¿äºææ¯ç¥è¯ç读è å°è½æ建ä¸ä¸ªç»æå®æ´çEclipse RCP软件ï¼å¹¶è§£å³è½¯ä»¶å¼åè¿ç¨ä¸éå°çæ éï¼å®æç¯ï¼ç¬¬~ç« ï¼è¯¦ç»è®²è§£äºEclipse RCPä¸Spring OSGiæ¡æ¶ãHibernate ORMæ¡æ¶ãJPAè§èãMavenå·¥å ·çæ´åï¼ä»¥åå®ä¸Javaç模åå设计ã
3.osgiä¸æ社åº
ç®ä»ï¼ç±å京大å¦è½¯ä»¶å·¥ç¨å½å®¶å·¥ç¨ç 究ä¸å¿â软件ååç åæ¯æææ¯âç»ç»´æ¤çä¸ä¸ªæ¨¡ååå¨æåå¼åææ¯çå ¬ç社åºãåå¦è ãè¿é¶è å大çé½å¯ä»¥å¨è¿éå享ææ¯åç»éªï¼èªç±ç交æµåå¦ä¹ ï¼å¨è´¡ç®åæ¶è·ä¸å å®èªå·±ã为æ´å¤çå¦çãç 究è åä»ä¸è æä¾æ´å¹¿éç交æµå¹³å°ã
OSGI学习参考资料
对于想要深入学习OSGi技术,这里有两本极具参考价值的书籍: 第一本书是《深入理解OSGi: Equinox原理、应用与最佳实践》[2],由周志明和谢小明编写,出版于年2月1日。nvr 源码该书共章,前端满屏特效源码分为四大部分。第一部分介绍了OSGi的基本概念,阐述了其重要性和使用场景。第二部分详述了OSGi规范与核心原理,包括模块构建、依赖管理、Bundle启动机制以及本地和远程服务的clip模型源码复现相关内容。第三部分,以基于Equinox的BBS案例,讲解了OSGi服务和企业级规范的实践应用,通过源码分析揭示了关键功能的星球40级源码实现细节。最后,第四部分总结了丰富的最佳实践,涵盖了Bundle命名、模块划分、树洞留言网站源码依赖处理等实用技巧,还讨论了Spring DM在OSGi中的应用和测试方法。 另一本推荐书籍是《Eclipse RCP与Spring OSGi:技术详解与最佳实践》[3],作者陆阳于年1月1日发布。全书分为三部分:基础篇涵盖了Eclipse RCP的基本概念、开发环境搭建及常用界面编程技术;高级篇讲解了Eclipse RCP应用开发的深入知识,包括构建方法和扩展点开发;实战篇则聚焦于Eclipse RCP与Spring OSGi、Hibernate ORM等框架的集成,以及Java模块化设计的实践应用。这本书对Eclipse RCP的全面理解和发展实战具有重要指导意义。扩展资料
OSGi(Open Service Gateway Initiative)技术是面向Java的动态模型系统。OSGi服务平台向Java提供服务,这些服务使Java成为软件集成和软件开发的首选环境。Java提供在多个平台支持产品的可移植性。OSGi技术提供允许应用程序使用精炼、可重用和可协作的组件构建的标准化原语。这些组件能够组装进一个应用和部署中。