Java学习之路
Java SE
- Java SE: https://docs.oracle.com/javase
- Java Community Process: https://www.jcp.org/
- Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files: https://www.oracle.com/java/technologies/javase-jce-all-downloads.html
Java tutorial
-
Java SE 6 技術手冊: https://github.com/JustinSDK/JavaSE6Tutorial
- 9 Best Practices to Handle Exceptions in Java: https://dzone.com/articles/9-best-practices-to-handle-exceptions-in-java
- API Design with Java 8: https://dzone.com/articles/the-java-8-api-design-principles
- Java Tips and Best practices to avoid NullPointerException in Java Applications: https://javarevisited.blogspot.com/2013/05/ava-tips-and-best-practices-to-avoid-nullpointerexception-program-application.html
- 如何重构“箭头型”代码: http://coolshell.cn/articles/17757.html
-
软件项目“免坑”指南: http://www.cnblogs.com/MeteorSeed/archive/2012/04/08/2427966.html
- 当前各种设计模式主要来源:
- Design Patterns_Elements of Reusable Object-Oriented Software
- Patterns of Enterprise Application Architecture
- https://learn.microsoft.com/en-us/azure/architecture/patterns/ https://github.com/mspnp/cloud-design-patterns
- Java实现单例模式的9种方法:https://blog.csdn.net/qq_35860138/article/details/86477538
- 面向对象设计的SOLID原则: Agile Software Development Principles Patterns and Practices[敏捷软件开发:原则、模式与实践]
- 合成/聚合复用原则+迪米特法则(最小知识原则): Java与模式
- 浅谈命令查询职责分离(CQRS)模式: https://www.cnblogs.com/yangecnu/p/Introduction-CQRS.html
- Shalloway原则+分离构造和使用原则: Essential Skills for the Agile Developer[A Guide to Better Programming and Design][敏捷技能修炼_敏捷软件开发与设计的最佳实践]
- 好莱坞原则: Hear First 设计模式
-
Tell, Don’t Ask: https://pragprog.com/articles/tell-dont-ask
- 变化驱动:正交设计: https://www.jianshu.com/p/d127b8afc8cb
- 正交设计,OO与SOLID: https://www.jianshu.com/p/f7f5813882a1
- 实战正交设计: https://www.jianshu.com/p/a95f67ed714d
- 大陆简中自由软件本地化工作指南: https://repo.anthonos.org/misc/l10n/zh_CN_l10n_1.4.4.pdf
- 为什么称为北向接口、南向接口? https://club.mscbsc.com/t59732p1.html
-
一个程序员能够控制多少行代码: https://www.cnblogs.com/jiangxinnju/p/5516918.html
- java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一: https://blog.csdn.net/s10461/article/details/53941091
- Java 泛型中 <? extends T> 与 <? super T> 的区别: https://www.jianshu.com/p/0808c0029b2d
- Item 11: Always override hashCode when you override equals: Effective Java 3rd Edition
- 在 Java 中初始化 List 的五种方法: https://juejin.im/post/5bddcee3e51d4520b6639663
- 最全的集合干货送给大家:https://blog.csdn.net/javageektech/article/details/102385002
- Java集合ArrayDeque类解读: https://blog.csdn.net/wangyang1354/article/details/57081920
- Jdk1.8中的HashMap实现原理: https://blog.csdn.net/fjse51/article/details/53811465
- Java7/8 中的HashMap 和 ConcurrentHashMap: https://www.jianshu.com/p/39a57484932e
- 图解LinkedHashMap原理: https://www.jianshu.com/p/8f4f58b4b8ab
- Java提高篇(二七)—–TreeMap: https://www.cnblogs.com/chenssy/p/3746600.html
- What is difference between fail safe iterator and fail fast iterator: http://marjavamitjava.com/difference-fail-safe-iterator-fail-fast-iterator/
- Java直接内存与非直接内存性能测试: http://www.cnblogs.com/xing901022/p/5243657.html
- Java直接(堆外)内存使用详解: http://www.cnblogs.com/xing901022/p/5248934.html
- Buffer: https://yddmax.github.io/2017/06/08/Buffer/
- Java引用总结–StrongReference、SoftReference、WeakReference、PhantomReference: https://www.cnblogs.com/skywang12345/p/3154474.html
- 5种必会的Java异步调用转同步的方法你会几种: https://blog.csdn.net/m0_37595562/article/details/81638445
- java 偏向锁、轻量级锁及重量级锁synchronized原理: https://www.cnblogs.com/deltadeblog/p/9559035.html
- Java中Volatile关键字详解: https://www.cnblogs.com/zhengbin/p/5654805.html
- 请别再拿“String s = new String(“xyz”);创建了多少个String实例”来面试了吧: https://www.iteye.com/topic/774673
- 彻底弄懂字符串常量池等相关问题: https://www.cnblogs.com/gxyandwmm/p/9495923.html
- java安全沙箱(四)之安全管理器及Java API: https://www.cnblogs.com/duanxz/p/6108357.html
-
深入浅出Java多线程: https://github.com/RedSpider1/concurrent
- Java Runtime.exec()的使用: http://www.cnblogs.com/mingforyou/p/3551199.html
- 深入理解Java:SimpleDateFormat安全的时间格式化: http://www.cnblogs.com/peida/archive/2013/05/31/3070790.html
- 深入理解Java:注解(Annotation)基本概念: http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html
- Java annotation 自定义注释@interface的用法: http://www.blogjava.net/hao446tian/archive/2011/10/25/361960.html
- [改编]深入equals方法,讨论instanceof的使用!: http://www.blogjava.net/bacoo/archive/2007/12/20/169176.html
- Java自动装箱与拆箱及其陷阱: http://blog.csdn.net/jairuschan/article/details/7513045
- java byte与char互转原理: http://www.cnblogs.com/bluespot/archive/2008/10/23/1318155.html
- Java关键字及其作用:http://blog.csdn.net/hfmbook/article/details/7634385
- java中static{}语句块详解: http://blog.csdn.net/lubiaopan/article/details/4802430
- JAR文件包及jar命令详解: http://www.blogjava.net/liyong/articles/84377.html
- 类加载器基本概念: https://www.ibm.com/developerworks/cn/java/j-lo-classloader/index.html
- Jar包的正确运行方法: http://www.cnblogs.com/jifeng/archive/2012/06/07/2540338.html
- Class热替换与卸载: https://my.oschina.net/xianggao/blog/367822
- Java 类的热替换 —— 概念、设计与实现: https://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/
- Java陷阱之assert关键字: http://lavasoft.blog.51cto.com/62575/43735/
- [System.currentTimeMillis]/[Calendar.getInstance().getTimeInMillis()]/[new Date().getTime()]: https://www.cnblogs.com/jiangxinnju/p/9425411.html
- JAVA调用系统命令或可执行程序:http://wuhongyu.iteye.com/blog/461477/
- 过时date.toLocaleString()的解决方法: http://ldl8818.iteye.com/blog/1492301
- java中Assert的用法:http://lgl669.iteye.com/blog/483271
- FINAL …..FINALLY …… 和FINALIZE ……区别: http://www.cnblogs.com/wl0000-03/p/5961582.html
- Comparable与Comparator的区别:http://blog.csdn.net/mageshuai/article/details/3849143
- 关于toString: http://www.iteye.com/problems/96872
- OpenJDK和SunJDK有啥区别?https://www.zhihu.com/question/19646618
- GetPropertyAction vs System.getProperty in obtaining system variables: http://stackoverflow.com/questions/4954924/getpropertyaction-vs-system-getproperty-in-obtaining-system-variables
-
File.separator vs FileSystem.getSeparator() vs System.getProperty(“file.separator”)?: http://stackoverflow.com/questions/8075373/file-separator-vs-filesystem-getseparator-vs-system-getpropertyfile-separato
- VirtualMachine:http://docs.oracle.com/javase/7/docs/jdk/api/attach/spec/com/sun/tools/attach/VirtualMachine.html
- Java HotSpot VM Options: http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
- Setting Project Facets: http://docs.oracle.com/cd/E13224_01/wlw/docs103/guide/ideuserguide/projects/conFacets.html
- Overriding and Hiding Methods: http://docs.oracle.com/javase/tutorial/java/IandI/override.html
- javac: https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html
- javac的调试选项-g的意义: https://shenzhang722.iteye.com/blog/1824921
- javadoc相关问题: https://www.cnblogs.com/jiangxinnju/p/6091525.html
- JDK自带工具之概览: http://www.rowkey.me/blog/2016/11/03/jdk-tools/
- How to solve the error: The system cannot find the file C:\ProgramData\Oracle\Java\javapath\java.exe:http://stackoverflow.com/questions/26864662/how-to-solve-the-error-the-system-cannot-find-the-file-c-programdata-oracle-ja
- 三个实例演示 Java Thread Dump 日志分析:http://www.cnblogs.com/zhengyun_ustc/archive/2013/01/06/dumpanalysis.html
- 深入 Java 调试体系: https://www.ibm.com/developerworks/cn/views/java/libraryview.jsp?search_by=%E6%B7%B1%E5%85%A5+Java+%E8%B0%83%E8%AF%95%E4%BD%93%E7%B3%BB
- Java Platform Debugger Architecture (JPDA): https://docs.oracle.com/javase/8/docs/technotes/guides/jpda/index.html
- Jps介绍以及解决jps无法查看某个已经启动的java进程问题: http://trinea.iteye.com/blog/1196400
- Java永久代去哪儿了: http://www.infoq.com/cn/articles/Java-PERMGEN-Removed
- Java8内存模型—永久代(PermGen)和元空间(Metaspace): https://www.cnblogs.com/paddix/p/5309550.html
- JVM调优总结(转): https://www.cnblogs.com/jiangxinnju/p/5655535.html
- Java server application troubleshooting using JDK tools: http://java-performance.info/
-
jstack简单使用,定位死循环、线程阻塞、死锁等问题: https://www.cnblogs.com/chenpi/p/5377445.html
- Java代码质量度量工具大阅兵: https://www.cnblogs.com/jiangxinnju/p/10010177.html
- Java杂项: https://www.cnblogs.com/jiangxinnju/p/6582135.html
- Java 理论与实践: http://www.ibm.com/developerworks/cn/java/j-jtp/
- 敏捷开发中高质量 Java 代码开发实践: http://www.ibm.com/developerworks/cn/java/j-lo-agile/
- Java RMI 入门指南: http://www.blogjava.net/zhenyu33154/articles/320245.html
- Java RMI与RPC,JMS的比较:http://visionsky.blog.51cto.com/733317/438693/
- Flatten your objects Discover the secrets of the Java Serialization API: http://www.javaworld.com/article/2076120/java-se/flatten-your-objects.html
- The Java serialization algorithm revealed: http://www.javaworld.com/article/2072752/the-java-serialization-algorithm-revealed.html
- 构建一个文本可视化和分析应用程序: http://www.ibm.com/developerworks/cn/opensource/os-txtviz/
- POJO模式: http://www.cnblogs.com/yezhenhan/archive/2011/11/21/2256642.html
- Java数字图像处理基础知识 - 必读: http://blog.csdn.net/jia20003/article/details/7279667
- Java反序列化时对象注入可以造成代码执行漏洞: http://0day5.com/archives/3572
- Apache和IIS网站Web日志格式详解: http://www.ha97.com/4813.html
- 领域驱动设计系列文章——浅析VO、DTO、DO、PO的概念、区别和用处: http://www.cnblogs.com/qixuejia/p/4390086.html
- PO BO VO DTO POJO DAO DO这些Java中的概念分别指一些什么?: https://www.zhihu.com/question/39651928
- Java bytecode instruction listings: https://en.wikipedia.org/wiki/Java_bytecode_instruction_listings
- Virtual Memory Usage from Java under Linux, too much memory used: http://stackoverflow.com/questions/561245/virtual-memory-usage-from-java-under-linux-too-much-memory-used/561450#561450
- 理解OAuth 2.0: http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
- Need to suppress “Warning: running an XSLT 1.0 stylesheet with an XSLT 2.0 processor” in Tomcat std out log file: http://stackoverflow.com/questions/4445481/need-to-suppress-warning-running-an-xslt-1-0-stylesheet-with-an-xslt-2-0-proce
- Java 授权内幕: http://www.ibm.com/developerworks/cn/java/j-javaauth/
- ServletInputStream的重复读取(多次读取)(转): https://www.cnblogs.com/jiangxinnju/p/5709378.html
- Developing a Service Provider using Java API(Service Provider Interface): http://www.lordofthejars.com/2011/11/en-ti-puedo-ver-la-libertad-tu-me-haces.html
- 驱动模块和桩模块的概念和区别: http://daimajishu.iteye.com/blog/1557295
- 转一个J2EE开发时的包命名规则,养成良好的开发习惯:http://www.blogjava.net/paulwong/archive/2012/04/15/374675.html
- Java调用动态库方法说明: http://www.cnblogs.com/xifanyaoyao/p/3659019.html
-
Servlet容器的匹配过程:http://developer.51cto.com/art/200907/134840.htm
- 测试方面的基础概念: http://javazhou.iteye.com/blog/1727745
- SIT和UAT: http://henry-cong.iteye.com/blog/1460431
- Burp Suite使用介绍(一) (二) (三): http://www.2cto.com/article/201406/310929.html
- http://stackoverflow.com/questions/37697359/jsonpropertyaccess-jsonproperty-access-write-only-not-working
- Ehcache详细解读: http://raychase.iteye.com/blog/1545906
- EhCache介绍: http://chenjumin.iteye.com/blog/684926
- 服务化之-路由: http://mp.weixin.qq.com/s?__biz=MzIzODYyNjkzNw==&mid=2247483732&idx=1&sn=5e3533b6f79823083e567e092a0e65fc&chksm=e9373042de40b95466784930dfc9468a7974ddd1bae05b02f9776c0e8a2074463f2df7ed59e0#rd
- HTTP Keep-Alive详解: http://liuzhigong.blog.163.com/blog/static/1782723752011412551547/
- 定义文档兼容性: https://msdn.microsoft.com/zh-cn/library/cc288325(VS.85).aspx
- 系统吞吐量(TPS)、用户并发量、性能测试概念和公式: http://www.ha97.com/5095.html
- Java 语言的 XPath API: https://www.ibm.com/developerworks/cn/xml/x-javaxpathapi.html
- XMLHttpRequest Living Standard: https://xhr.spec.whatwg.org/
- Servlet 3.1规范[翻译]: http://jinnianshilongnian.iteye.com/category/255452
- MVC,MVP 和 MVVM 的图示: http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html
- 数据库分页Java实现: http://www.cnblogs.com/ITtangtang/archive/2012/04/21/2462385.html
- Atom Authentication: http://www.xml.com/pub/a/2003/12/17/dive.html
- 在AI寻路决策中运用势力图(Influence Map): http://www.aisharing.com/archives/80?replytocom=219
- More Servlets and JavaServer Pages: http://pdf.moreservlets.com/
- UTF-8 encoding table and Unicode characters: http://www.utf8-chartable.de/
- jarFinder: http://www.jarfinder.com/
-
java examples: http://www.javased.com/
- 99%的人都理解错了HTTP中GET与POST的区别: http://web.jobbole.com/88068/
- List of HTTP status codes: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
- html的meta总结,html标签中meta属性使用介绍: http://www.haorooms.com/post/html_meta_ds
- 使用 jQuery.i18n.properties 实现 Web 前端的国际化: https://www.ibm.com/developerworks/cn/web/1305_hezj_jqueryi18n/
- ajax与302响应: http://www.cnblogs.com/dudu/p/ajax_302_found.html
- HTTPS 升级指南: http://www.ruanyifeng.com/blog/2016/08/migrate-from-http-to-https.html
-
HTML中
     
等6种空白空格的区别: https://www.cnblogs.com/chenshihaook/p/6186343.html - javascript CDATA: http://blog.csdn.net/shenyan008/article/details/12222241
- 浅析Web工程目录和tomcat目录: http://blog.csdn.net/ystyaoshengting/article/details/6204886
- CSS3美化有序列表: http://www.w3cplus.com/css3/css3-ordered-list-styles
- 简洁纯净的CSS表单设计实例: http://blog.bingo929.com/clean-and-pure-css-form-design.html
-
DreamweaverCS5+Tomcat环境配置: http://blog.csdn.net/jnqqls/article/details/7024170
- How to make Java 6, which fails SSL connection with “SSL peer shut down incorrectly”, succeed like Java 7?: http://stackoverflow.com/questions/15589880/how-to-make-java-6-which-fails-ssl-connection-with-ssl-peer-shut-down-incorrec
- SEI CERT Oracle Coding Standard for Java: https://wiki.sei.cmu.edu/confluence/display/java/SEI+CERT+Oracle+Coding+Standard+for+Java
- Secure Coding Guidelines for Java SE: https://www.oracle.com/technetwork/java/seccodeguide-139067.html
- CWE/SANS Top 25 Most Dangerous Software Errors: http://cwe.mitre.org/top25/index.html
- STRIDE威胁建模方法讨论: https://www.freebuf.com/articles/es/205984.html
- STRIDE威胁建模漫谈: https://www.secrss.com/articles/3298
- 华为内部的Web安全原则: http://www.ha97.com/5520.html
- Android安全开发之ZIP文件目录遍历: http://www.cnblogs.com/alisecurity/p/5610654.html
- Web安全漏洞之:JDK1.5环境下扫描远程调试端口导致JVM崩溃【JDWP exit error JVMTI_ERROR_NONE(0)】: http://blog.csdn.net/sfdev/article/details/5828509
- 一些安全相关的HTTP响应头: https://imququ.com/post/web-security-and-response-header.html#simple_thread
- SNA (Share Nothing Architecture) Session 解剖: http://blog.csdn.net/lovingprince/article/details/5883473
- 挑战认证机制:《LINUX网络管理员指南(第3版).chm》6.8. Authentication with PPP
- Salted Password Hashing - Doing it Right: https://crackstation.net/hashing-security.htm
- 加盐密码哈希:如何正确使用: http://blog.jobbole.com/61872/
- CMD5(MD5反向查询): http://www.cmd5.com/default.aspx
- 数字证书原理: https://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html
- 彩虹表(Rainbow Tables)原理详解: http://www.ha97.com/4009.html
- 使用浏览器的计算力,对抗密码破解:https://www.cnblogs.com/index-html/p/frontend_kdf.html
- 关于 Token,你应该知道的十件事: http://ju.outofmemory.cn/entry/134189
- 10 Things You Should Know about Tokens: https://auth0.com/blog/ten-things-you-should-know-about-tokens-and-cookies/
- 浅析ReDoS的原理与实践: http://www.freebuf.com/articles/network/124422.html
- 让浏览器不再显示 https 页面中的 http 请求警报: http://www.cnblogs.com/hustskyking/p/upgrade-insecure-requests.html
- 客户端的IP地址伪造、CDN、反向代理、获取的那些事儿: http://www.cnblogs.com/zhengyun_ustc/archive/2012/09/19/getremoteaddr.html
- Threat Modeling: Uncover Security Design Flaws Using The STRIDE Approach: https://docs.microsoft.com/en-us/archive/msdn-magazine/2006/november/uncover-security-design-flaws-using-the-stride-approach
- 双因素认证(2FA)教程: https://ruanyifeng.com/blog/2017/11/2fa-tutorial.html
Java EE
- Jakarta EE: https://en.wikipedia.org/wiki/Jakarta_EE
- Jakarta EE Platform Project: https://jakartaee.github.io/platform/
- Jakarta EE Platform: https://jakarta.ee/specifications/platform/
- Oracle Java SE Support Roadmap: https://www.oracle.com/java/technologies/java-se-support-roadmap.html
- Oracle Java SE Licensing FAQ: https://www.oracle.com/java/technologies/javase/jdk-faqs.html
Spring
- 官网:http://spring.io/
- 文档:https://docs.spring.io/spring-framework/reference/
- Spring Framework 开发参考手册: http://man.lupaworld.com/content/develop/spring_ref/2.0/html/
- Spring Security:https://spring.io/projects/spring-security
-
源码:spring-framework https://github.com/spring-projects/spring-framework/
- Spring Tools:https://spring.io/tools
- Spring 的优秀工具类盘点: https://www.ibm.com/developerworks/cn/java/j-lo-spring-utils1/index.html
- Spring使用Cache: http://elim.iteye.com/blog/2123030
- spring security中限制用户登录次数超过限制的处理: http://jackyrong.iteye.com/blog/2244803
-
Introducing Spring’s Transaction Abstraction: Professional.Java.Development.with.the.Spring.Framework.chm
- Struts2、Spring和Hibernate应用实例: http://871421448.iteye.com/blog/1546058
- spring中注册bean(通过代码动态注册): http://blog.csdn.net/buyaore_wo/article/details/8119577
- Spring框架的反序列化远程代码执行漏洞分析(转): https://www.cnblogs.com/jiangxinnju/p/5697050.html
- Spring “redirect:” EL vulnerability?: http://stackoverflow.com/questions/22917760/spring-redirect-el-vulnerability
- 使用监听器对Spring bean id进行唯一校验: http://chenzhou123520.iteye.com/blog/1774106
- 解决java.lang.IncompatibleClassChangeError: https://my.oschina.net/itblog/blog/528613
Hibernate
- http://hibernate.org/
- http://hibernate.org/orm/documentation
- 源码:匿名可访问地址 http://anonsvn.jboss.org/repos/hibernate
-
源码:开发者访问地址 http://svn.jboss.org/repos/hibernate
- hibernator:https://sourceforge.net/projects/hibernator/
Struts(漏洞多,发展慢,后续使用Spring MVC)
- 官网:http://struts.apache.org/
- Struts 2.0系列: http://www.blogjava.net/max/category/16130.html?Show=All
- Struts2中的零配置与CoC(Convention over Configration): http://andlu.iteye.com/blog/112675
- struts2采用convention-plugin实现零配置: http://javeye.iteye.com/blog/358744
- struts2关于A web application created a ThreadLocal with key of type 异常解决办法: http://cooliron.blog.163.com/blog/static/12470313820111235248426/
- 修改Struts2的struts.xml配置文件位置:http://blog.csdn.net/zht666/article/details/8980451
模板引擎与表达式语言
- template engine: https://en.wikipedia.org/wiki/Template_processor
- freemarker: http://freemarker.org/ https://freemarker.apache.org/docs/index.html
- Velocity: http://velocity.apache.org/engine/devel/
- EL: https://en.wikipedia.org/wiki/Jakarta_Expression_Language
- OGNL(Object Graph Navigation Library): http://commons.apache.org/proper/commons-ognl/
- MVEL: https://github.com/mvel/mvel
- MVEL: https://en.wikisource.org/wiki/MVEL_Language_Guide
WebService
- Restlet:http://restlet.com/
- Apache CXF(开始叫XFire): http://cxf.apache.org/
- axis2: http://axis.apache.org/axis2/java/core/
- Jersey: https://eclipse-ee4j.github.io/jersey/
- Style of WebService: REST vs. SOAP: http://cenwenchu.iteye.com/blog/316717
- RESTful API 编写指南: http://www.cnblogs.com/chinajava/p/5871310.html
- principles of good restful api design(中文): http://blog.csdn.net/qq_35799003/article/details/52316705
- Principles of good RESTful API Design: https://codeplanet.io/principles-good-restful-api-design/
- 用 Java 技术创建 RESTful Web 服务: http://www.ibm.com/developerworks/cn/web/wa-jaxrs/index.html
- REST, Web services, REST-ful services: http://www.ibm.com/developerworks/webservices/library/ws-RESTservices/index.html
- JAX-RS HTTP Headers: https://cwiki.apache.org/confluence/display/WINK/JAX-RS+HTTP+Headers
- Web Service描述语言 WSDL 详解: http://www.blogjava.net/libin2722/articles/159469.html
- WebService之WSDL和SOAP实例(基于JAVA): http://di201yao.iteye.com/blog/310292
- java 利用JAX-RS快速开发RESTful 服务(以JBoss为容器):http://www.cnblogs.com/yjmyzz/p/javaee-jax-rs-tutorial.html
- RESTful API 利器 Swagger: http://www.razorer.com/2016/10/16/swagger-intro/
- 改写Restful2ActionMapper让Struts2支持REST风格的URL映射: http://andlu.iteye.com/blog/110934
- Build a RESTful Web service using Jersey and Apache Tomcat: https://developer.ibm.com/articles/wa-aj-tomcat/
- Axis2创建WebService实例: http://clq9761.iteye.com/blog/976029/
- Axis2中使用模块: http://zhangjunhd.blog.51cto.com/113473/25593/
- SOAPUI: https://www.soapui.org/
- WizTools.org RESTClient(RESTful webservices测试工具): https://github.com/wiztools/rest-client
- Automating SoapUI using Groovy – A Walk Through: http://www.codeproject.com/Articles/820414/Automating-SoapUI-using-Groovy-A-Walk-Through
- tcpmon: https://github.com/robertbachmann/tcpmon
- JMeter: https://jmeter.apache.org/
- JAX-WS error on WSDL file: “Error resolving component ‘s:schema’”: http://stackoverflow.com/questions/13499860/jax-ws-error-on-wsdl-file-error-resolving-component-sschema
- JAX-WS Maven Plugin: http://www.mojohaus.org/jaxws-maven-plugin/
常用第三方webservice
IDE
RxJava
- RxJava: Reactive Extensions for the JVM: https://github.com/ReactiveX/RxJava
Vert.x
- Vert.x(Eclipse Vert.x Reactive applications on the JVM): https://vertx.io/
UML
- AmaterasUML: https://github.com/takezoe/amateras-modeler
- Green UML: http://green.sourceforge.net/index.html
ModelGoon UML4Java: https://github.com/riana/ModelGoon-UML4Java- StarUML: https://staruml.io/
- Astah(JUDE): https://astah.net/
- UML关系(泛化,实现,依赖,关联(聚合,组合)):http://justsee.iteye.com/blog/808799
- 解析UML箭头、线条代表的意义:https://www.51cto.com/article/206134.html
OSGI
- OSGI: https://www.osgi.org/
- Java 9, OSGi and the Future of Modularity (Part 1): https://www.infoq.com/articles/java9-osgi-future-modularity/
- Java 9, OSGi and the Future of Modularity (Part 2): https://www.infoq.com/articles/java9-osgi-future-modularity-part-2/
- OSGi and C++: http://blog.cppmicroservices.org/2012/03/29/osgi-and-c++/
Tomcat
- Apache Tomcat: https://tomcat.apache.org/
- Security Considerations: https://tomcat.apache.org/tomcat-8.0-doc/security-howto.html
- SSL/TLS Configuration HOW-TO: https://tomcat.apache.org/tomcat-8.0-doc/ssl-howto.html
- Tomcat配置JNDI全局数据源: http://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html
- Tomcat配置JNDI局部数据源: http://blog.csdn.net/u011686226/article/details/51858488
- Tomcat Cannot assign requested address: JVM_Bind 非端口占用冲突:http://jameswsz.iteye.com/blog/1976489
- Tomcat中的Session小结: http://www.cnblogs.com/chenpi/p/5434537.html
- Tomcat7启动报Error listenerStart错误: http://www.cnblogs.com/nayitian/p/3439336.html
- How do I prevent people from shutting down my Tomcat?: http://www.avajava.com/tutorials/lessons/how-do-i-prevent-people-from-shutting-down-my-tomcat.html
- tomcat startup.sh/shutdown.sh/setclasspath.sh/catalina.sh分析:http://vekergu.blog.51cto.com/9966832/d-2
- SSL/TLS, ciphers, perfect forward secrecy and Tomcat: https://blog.eveoh.nl/2014/02/tls-ssl-ciphers-pfs-tomcat/
- web.xml配置详解: http://twb.iteye.com/blog/196733
- web.xml 详细介绍: http://mianhuaman.iteye.com/blog/1105522
- Web.xml配置详解之context-param: http://blog.csdn.net/liaoxiaohua1981/article/details/6759206
- 监控Tomcat解决方案(监控应用服务器系列文章): http://blog.csdn.net/yunzhu666/article/details/8662045
- CATALINA_BASE与CATALINA_HOME的区别: http://blog.csdn.net/keda8997110/article/details/21400455
- 同一个服务器部署多个tomcat: http://www.cnblogs.com/sj521/p/5974562.html
- Does Tomcat require JDK or JRE?:https://stackoverflow.com/questions/16726897/does-tomcat-require-jdk-or-jre
AWT/Swing/SWT/Jface/JavaFX
- SWT、Swing 或 AWT:哪个更适合您? https://www.ibm.com/developerworks/cn/opensource/os-swingswt/
- OpenSwing: http://oswing.sourceforge.net/setup.html
- FlatLaf: https://github.com/JFormDesigner/FlatLaf
- Darcula: https://github.com/bulenkov/Darcula
- beautyeye: https://github.com/JackJiang2011/beautyeye
- JavaFX/JavaFX Scene Builder: https://docs.oracle.com/javase/8/javase-books.htm
IBM JDK
IBM Development Package for Eclipse: https://www.ibm.com/support/pages/java-sdk-downloads-eclipseIBM JDK: https://www.ibm.com/support/pages/java-sdk-downloads-version-80
持续集成
- Jenkins: https://jenkins-ci.org/
Hudson: http://hudson-ci.org/- Atlassian Bamboo: https://www.atlassian.com/software/bamboo/
- TeamCity: https://www.jetbrains.com/teamcity/
DbUnit
JMockit
- JMockit:http://jmockit.github.io/
- jMock: http://jmock.org/
- EasyMock: http://easymock.org/
- mockito: https://github.com/mockito/mockito
- Mock测试工具比较:https://blog.csdn.net/l947069962/article/details/77543016
Fuzz
- fuzz实战之libfuzzer: https://www.secpulse.com/archives/71898.html
- 浅析Peach Fuzz: http://blog.nsfocus.net/peach-fuzz/
- Syzkaller:Linux内核模糊测试工具分享: https://www.freebuf.com/sectool/142969.html
JUnit
- http://junit.org/
- JUnit4 详解:http://www.cnblogs.com/eggbucket/archive/2012/02/02/2335697.html
- Easy way of running the same junit test over and over? http://stackoverflow.com/questions/1492856/easy-way-of-running-the-same-junit-test-over-and-over
- Testing for expected exceptions in JUnit: http://www.shaunabram.com/testing-for-expected-exceptions-in-junit/
TestNG
TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use.
- 项目地址:https://testng.org/
ReportNG
ReportNG is a simple HTML reporting plug-in for the TestNG unit-testing framework. It is intended as a replacement for the default TestNG HTML report. The default report is comprehensive but is not so easy to understand at-a-glance. ReportNG provides a simple, colour-coded view of the test results.
SLF4J
The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time.
Logback
Logback is intended as a successor to the popular log4j project, picking up where log4j leaves off.
- 官方网址:http://logback.qos.ch/
- Java程序员修炼之道 之 Logging(1/3) - Logback 配置:http://www.blogjava.net/justfly/archive/2014/08/10/416768.html
- Java程序员修炼之道 之 Logging(2/3) - 怎么写Log:http://www.blogjava.net/justfly/archive/2014/08/13/416925.html
- Java程序员修炼之道 之 Logging(3/3) - 怎么分析Log:http://www.blogjava.net/justfly/archive/2014/09/17/418034.html
Log4j
- http://logging.apache.org/log4j/2.x/
- http://logging.apache.org/log4j/1.2/
- jdk-logging、log4j、logback日志介绍及原理: https://my.oschina.net/pingpangkuangmo/blog/406618
- jcl 与 jul、log4j1、log4j2、logback 的集成原理: https://my.oschina.net/pingpangkuangmo/blog/407895
- slf4j 与 jul、log4j1、log4j2、logback 的集成原理: https://my.oschina.net/pingpangkuangmo/blog/408382
- slf4j、jcl、jul、log4j1、log4j2、logback 大总结: https://my.oschina.net/pingpangkuangmo/blog/410224
- 热切换Log4j级别配置: https://www.cnblogs.com/jiangxinnju/p/6848472.html
- log4j:ERROR Attempted to append to closed appender named: http://blog.csdn.net/xvshu/article/details/51028644
Log4E
Log4E is an Eclipse Plugin which helps you to use your logger easily in Java Projects.The Plugin Log4E is not bound to any special logging framework. Thus you might be able to adapt to your own logger by defining your own templates using the preferences. It has active support for Log4j, Log4j 2, SLF4J, Commons Logging and JDK 1.4 logging.
代码评审
- Jupiter: http://csdl.ics.hawaii.edu/research/jupiter/
- Effective Code Reviews Without the Pain: http://www.developer.com/tech/article.php/3579756/Effective-Code-Reviews-Without-the-Pain.htm
guava
- 项目地址:https://github.com/google/guava
- (流控、流量控制)Guava RateLimiter在Web应用中的使用: http://blog.csdn.net/cloud_ll/article/details/43602325
jga
jga is a functors library: the intent is to explore and exploit functors as a design and implementation tool to reduce boilerplate coding. A functor is an object that encapsulates a function or expression: it can take arguments and produce results, as can any method, expression, or function (in other languages that support functions). Unlike an expression, as an object it can be passed as an argument without being executed; it can be persisted to a database or file; it can be serialized and passed from client to server (and back); and it can be instantiated at runtime based on information unavailable at compile-time.
Java Class Dependency Analyzer
- Class Dependency Analyzer (CDA): http://www.dependency-analyzer.org/
- Classycle: Analysing Tools for Java Class and Package Dependencies: http://classycle.sourceforge.net/
- STAN(Structure Analysis for Java): http://stan4j.com/
- nWire, Code Exploration for Eclipse(not free): http://www.nwiresoftware.com/
OW2
OW2 is an independent, global, open-source software community. The mission of OW2 is to a) promote the development of open-source middleware, generic business applications, cloud computing platforms and b) foster a vibrant community and business ecosystem.
- ASM: http://asm.ow2.org/index.html
- JOTM: http://jotm.ow2.org/xwiki/bin/view/Main/WebHome
- XAPool: http://xapool.ow2.org/
ForgeRock
apache
- http://www.apache.org/
- Apache Software Foundation Distribution Directory: http://www.apache.org/dist/
- The Apache Attic: http://attic.apache.org/
Apache Commons
Apache Commons is an Apache project focused on all aspects of reusable Java components.
- Apache Commons: http://commons.apache.org/
- commons-beanutils: https://commons.apache.org/proper/commons-beanutils/
- commons-collections: https://commons.apache.org/proper/commons-collections/
- commons-configuration: https://commons.apache.org/proper/commons-configuration/
- commons-io: https://commons.apache.org/proper/commons-io/
- commons-lang: https://commons.apache.org/proper/commons-lang/
- commons-logging: https://commons.apache.org/proper/commons-logging/
sandbox中的项目无法直接通过maven进行依赖,必须通过svn下载源码,部署到本地maven仓库中。例如对于sandbox中的classscan项目:
# 项目地址:<http://commons.apache.org/sandbox/commons-classscan/>
svn checkout http://svn.apache.org/repos/asf/commons/sandbox/classscan classscan
cd classscan
# 当install带有parent的maven项目时,如果没有把parent一并install,其它项目引用时会出现
# mvn install--Failed to read artifact descriptor for org.apache.maven.plugins:maven-source-plugin:jar:2.1.2
cd parent (classscan/parent)
mvn clean package install -DskipTests
cd ../api (classscan/api)
mvn clean package install -DskipTests
cd ../bcel (classscan/bcel)
mvn clean package install -DskipTests
在pom.xml中添加依赖
```xml
<dependency>
<groupId>org.apache.commons.classscan</groupId>
<artifactId>bcel</artifactId>
<version>0.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.commons.classscan</groupId>
<artifactId>api</artifactId>
<version>0.2-SNAPSHOT</version>
</dependency>
Eclipse中Update Project
,选择Force Update of Snapshots/Releases
Apache HttpComponents
- http://hc.apache.org/
- httpcomponents-core-4.4.x.chm
- httpcomponents-httpclient-4.5.chm
Maven
- Maven项目地址:http://maven.apache.org/
- Maven Central Repository: https://maven.apache.org/repository/index.html
- POM Reference: http://maven.apache.org/pom.html
- Settings Reference: http://maven.apache.org/settings.html
- Introduction to Repositories: http://maven.apache.org/guides/introduction/introduction-to-repositories.html
- Using Mirrors for Repositories: http://maven.apache.org/guides/mini/guide-mirror-settings.html
- Core Plug-ins List: http://maven.apache.org/plugins/index.html
- overlays: http://maven.apache.org/plugins/maven-war-plugin/overlays.html
- http://www.mojohaus.org/
- Maven Ant Tasks: http://maven.apache.org/ant-tasks/
- 阿里云云效 Maven: https://developer.aliyun.com/mvn/guide
- Maven插件maven-antrun-plugin的使用: https://www.cnblogs.com/EasonJim/p/6819338.html
- 如何用Maven创建web项目(具体步骤):http://blog.csdn.net/chuyuqing/article/details/28879477
- maven依赖总结: http://blog.csdn.net/lastsweetop/article/details/8493475
- maven2 up to maven3的’version’ contains an expression but should be a constant: http://www.cnblogs.com/beiyeren/p/4275032.html
- MavenMNG-4715 version expression constant: https://issues.apache.org/jira/browse/MNG-4715
- 解决Maven报Plugin execution not covered by lifecycle configuration: http://blog.csdn.net/xxd851116/article/details/25197373
- Maven编译jar出现:无法确定 T 的类型参数的异常的原因和处理方案: http://www.cnblogs.com/peida/p/4218210.html
- Hosting a Maven repository on github: https://stackoverflow.com/questions/14013644/hosting-a-maven-repository-on-github/14013645
- Working with the Apache Maven registry: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry
- 如何发布Maven依赖到中央仓库: https://www.cnblogs.com/jiangxinnju/p/9903517.html
- 20分钟理清Maven构建中的测试相关工具的关系: https://www.cnblogs.com/jiangxinnju/p/13549735.html
- Maven添加本地依赖: http://blog.csdn.net/xwl617756974/article/details/7832882
- Maven常用插件: http://iffiffj.iteye.com/blog/1661936
- How to Publish Maven Site Docs to BitBucket or GitHub Pages: http://www.ensor.cc/2013/01/how-to-publish-maven-site-docs-to.html
- Maven Enforcer Plugin: http://maven.apache.org/enforcer/maven-enforcer-plugin/
-
templating-maven-plugin: http://www.mojohaus.org/templating-maven-plugin/
- 开发自己的Maven插件之一:hello world: https://blog.csdn.net/csfreebird/article/details/7709109
- 开发自己的Maven插件之二:利用创建向导简化工作: https://blog.csdn.net/csfreebird/article/details/7709611
- 开发自己的Maven插件之三:使用插件: https://blog.csdn.net/csfreebird/article/details/7709738
- 开发自己的Maven插件之四:基本概念: https://blog.csdn.net/csfreebird/article/details/7711117
- 开发自己的Maven插件之五:创建简单的report plugin: https://blog.csdn.net/csfreebird/article/details/7711398
- 开发自己的Maven插件之六:使用自己的report-plugin: https://blog.csdn.net/csfreebird/article/details/7712077
- 开发自己的Maven插件之七:开发jslint4java-report plugin: https://blog.csdn.net/csfreebird/article/details/7714833
-
开发自己的Maven插件之八:使用jslint4java-report plugin: https://blog.csdn.net/csfreebird/article/details/7714868
- http://mvnrepository.com/ (搜索)
- https://search.maven.org/ (搜索)
https://bintray.com/bintray/jcenter- JitPack: https://jitpack.io/
- https://maven.aliyun.com/mvn/search (搜索)
- https://www.ebi.ac.uk/intact/maven/nexus/content/repositories/
- https://repo1.maven.org/maven2/
- http://repository.sonatype.org/content/groups/public/
maven快速下载某个jar包依赖的所有jar
经常碰到这种事情:在一些非maven工程中(由于某种原因这种工程还是手工添加依赖的),需要用到某个新的类库(假设这个类库发布在maven库中),而这个类库又间接依赖很多其他类库,如果依赖路径非常复杂的话,一个个检查手动下载是很麻烦的事.下面给出一个便捷的办法,创建一个新目录里面建一个maven pom文件, 添加需要依赖的类库:
<?xml version="1.0"?>
<project xmlns="<http://maven.apache.org/POM/4.0.0>" xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>" xsi:schemaLocation="<http://maven.apache.org/POM/4.0.0> <http://maven.apache.org/xsd/maven-4.0.0.xsd>">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dep.download</groupId>
<artifactId>dep-download</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.xx.xxx</groupId>
<artifactId>yy-yyy</artifactId>
<version>x.y.z</version>
<scope/>
</dependency>
</dependencies>
</project>
在这个目录下运行命令,所有跟这个类库相关的直接和间接依赖的jar包都会下载到 ./target/dependency/下
`mvn -f download-dep-pom.xml dependency:copy-dependencies`
杂项
间接依赖的jar包能否直接使用
如果工程依赖A.jar,并用maven设置好依赖,同时A.jar会依赖B.jar,所以maven在下载A.jar的同时会下载B.jar,这时如果项目发现需要使用B.jar中的一些内容,在maven中不必从新设置依赖,可以在工程中直接使用。
把某个本地jar包安装到本地仓库中
mvn install:install-file -DgroupId=”edu.jiangxin” -DartifactId=”gcu” -Dversion=”1.0.0”
-Dpackaging=”jar” -Dfile=”D:\CS\J2EE\lib\edu.jiangxin.gcu-1.0.0.jar”
把某个本地jar包部署到某个远程仓库中
mvn deploy:deploy-file -DgroupId=”edu.jiangxin” -DartifactId=”gcu” -Dversion=”1.0.0”
-Dpackaging=”jar” -Dfile=”D:\CS\J2EE\lib\edu.jiangxin.gcu-1.0.0.jar” -Durl=http://yourlocalrepository:8888/archiva/repository/internal
-DrepositoryId=internal
bintray
Ant
- http://ant.apache.org/
- Ivy(Apache Ant项目的一个子项目,一个可传递的依赖项管理器): http://ant.apache.org/ivy/
- 使用Ant脚本执行bat文件: http://lyj86.iteye.com/blog/1838713
Clover(收费)
- 项目地址:http://atlassian.botwave.com/products/clover/default.html
- 安装说明:http://atlassian.botwave.com/products/clover/download.html
Java程序分析工具
- 洞悉 Java 应用性能瓶颈的利器:Visual Performance Analyzer: https://www.oschina.net/question/12_12665
- VisualVM: http://visualvm.java.net/
- arthas: https://github.com/alibaba/arthas
反编译
- jadx(Dex to Java decompiler): https://github.com/skylot/jadx
- Apktool: https://github.com/iBotPeaches/Apktool
- GDA-android-reversing-Tool: https://github.com/charles2gan/GDA-android-reversing-Tool
- DJ Java Decompiler(收费软件): http://www.neshkov.com/dj.html
- AndroChef Java Decompiler(收费软件): http://www.neshkov.com/ac_decompiler.html
- JEB by PNF Software: https://www.pnfsoftware.com/
JD(不支持命令行使用,无法批量编译,支持的class版本过低):https://java-decompiler.github.io/jad(支持命令行方式使用,支持的class版本过低): http://www.kpdus.com/jad.htmluuDaJava(基于jad): https://www.uuware.com/st_l.en/st_p2.uw_dejava.html?st_m=24-6jadclipse(基于jad): https://sourceforge.net/projects/jadclipse/jdec(支持命令行方式使用,支持的class版本过低): https://sourceforge.net/projects/jdec/JODE(Java Optimize and Decompile Environment, ,支持的class版本过低): https://sourceforge.net/projects/jode/Jode Eclipse Plugin(基于JODE): https://sourceforge.net/projects/jodeeclipse/- Fernflower(IDEA内置反编译工具): https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine
- Vineflower(Quiltflower Fork自Fernflower,后改名叫做Vineflower): https://github.com/Vineflower/vineflower
- CFR(Another Java Decompiler): https://github.com/leibnitz27/cfr
- Procyon: https://github.com/mstrobel/procyon
- Luyten(Java Decompiler Gui for Procyon): https://github.com/deathmarine/Luyten
- Krakatau: https://github.com/Storyyeller/Krakatau
- enjarify: https://github.com/Storyyeller/enjarify
- bytecode-viewer: https://github.com/konloch/bytecode-viewer
- jd-gui-duo: https://github.com/nbauma109/jd-gui-duo
Eclipse Class Decompiler——Java反编译插件: https://github.com/cnfree/Eclipse-Class-Decompiler- Enhanced Class Decompiler(fork from Eclipse Class Decompiler): https://github.com/ecd-plugin/ecd
ProGuard
ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining classes, fields, and methods using short meaningless names. Finally, it preverifies the processed code for Java 6 or higher, or for Java Micro Edition.
Metric
- Metrics-Java版的指标度量工具之一:http://www.cnblogs.com/nexiyi/p/metrics_sample_1.html
- Metrics-Java版的指标度量工具之二:http://www.cnblogs.com/nexiyi/p/metrics_sample_2.html
Structure101
Structure101 is an agile architecture development environment (ADE) that lets the software development team organize a codebase.
EJ-Technologies一家(收费)
- 公司网址:http://www.ej-technologies.com/index.html
- perfino:http://www.ej-technologies.com/products/perfino/overview.html
- jprofiler:http://www.ej-technologies.com/products/jprofiler/overview.html
FORTIFY SCA(收费)
- 项目地址:http://www8.hp.com/us/en/software-solutions/static-code-analysis-sast/index.html
- 用Fortify SCA分析代码漏洞:http://www.cnblogs.com/hyddd/archive/2009/02/23/1396790.html
- SEI CERT Coding Standards: https://www.securecoding.cert.org/confluence/display/seccode/SEI+CERT+Coding+Standards
- HP Fortify Taxonomy: Software Security Errors:http://www.hpenterprisesecurity.com/vulncat/en/vulncat/index.html
- Sebug漏洞库:http://old.sebug.net/
- The Open Web Application Security Project:https://www.owasp.org
- ESAPI(OWASP Enterprise Security API): https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API
- OWASP Guide Project: https://www.owasp.org/index.php/OWASP_Guide_Project
- WebScarab: https://www.owasp.org/index.php/Category:OWASP_WebScarab_Project
- WooYun知识库:http://drops.wooyun.org/
- HP Security Research:http://hpsr1.libsyn.com/
- CVE: http://cve.mitre.org/
- National Vulnerability Database: https://nvd.nist.gov/home
- SCAP安全内容自动化协议中文社区: http://www.scap.org.cn/index.html
- acunetix: http://www.acunetix.com/
- xfocus: http://www.xfocus.net/index.html
klocwork(收费)
Dot and Graphviz
Graphviz (Graph Visualization Software) 是一个由AT&T实验室启动的开源工具包。DOT是一种图形描述语言,非常简单的,Graphviz就是用来处理这种语言的工具。
- Graphviz项目地址:http://www.graphviz.org/
- 程序员的绘图利器 — Graphviz:http://blog.csdn.net/zhangskd/article/details/8250470
Selenium
- Selenium: https://www.selenium.dev/
- IE Driver Server: https://www.selenium.dev/documentation/ie_driver_server/
JBoss
The JBoss AS community project has been renamed to the WildFly community project, which has a new home at wildfly.org. The JBoss name now only applies to the commercially supported product, called JBoss EAP, which is derived from the WildFly community project and is available at <http://www.jboss.org/products/eap/overview/>.
GlassFish
GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。
Virgo
Virgo from EclipseRT is a completely module-based Java application server that is designed to run enterprise Java applications and Spring-powered applications with a high degree of flexibility and reliability. It offers a simple yet comprehensive platform to develop, deploy, and service enterprise Java applications.
Jetty
Jetty provides a Web server and javax.servlet container, plus support for SPDY, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. These components are open source and available for commercial use and distribution.
字符编码
- What is the most accurate encoding detector? https://stackoverflow.com/questions/3759356/what-is-the-most-accurate-encoding-detector
- cpdetector: https://sourceforge.net/projects/cpdetector/
-
juniversalchardet: https://github.com/takscape/juniversalchardet
- 字符乱码一锅炖: https://www.cnblogs.com/jiangxinnju/p/6014111.html
EZMorph
EZMorph is simple java library for transforming an Object to another Object.
Apache Shiro
- Apache Shiro:http://shiro.apache.org/
iBATIS/MyBatis
- iBATIS官网:http://ibatis.apache.org/
- MyBatis官网:http://mybatis.github.io/
appfuse
TopLink
json
- 官网:http://www.json.org/
- json中文网:http://www.json.org.cn/index.htm
- JSON in Java [package org.json]: https://github.com/stleary/JSON-java
- Json-lib: https://sourceforge.net/projects/json-lib/
- fastjson: https://github.com/alibaba/fastjson
- Jackson: http://fasterxml.com/
- Jackson: http://wiki.fasterxml.com/JacksonDownload
- Jackson: http://wiki.fasterxml.com/JacksonJavaDocs
- Jackson 框架,轻易转换JSON: http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html
- bson4json: https://github.com/michel-kraemer/bson4jackson
- Binary JSON with bson4jackson: http://www.michel-kraemer.com/binary-json-with-bson4jackson
neethi
XML
- Java Web开发详解[XML XSLT Servlet JSP深入剖析实例应用]
- What is difference between XML Schema and DTD? https://stackoverflow.com/questions/1544200/what-is-difference-between-xml-schema-and-dtd
- JDOM: https://github.com/hunterhacker/jdom/
- Dom4j: https://github.com/dom4j/dom4j
- xml-commons: https://xerces.apache.org/xml-commons/
- XML Pull Parsing: https://www.xmlpull.org/index.html
- Apache Santuario(xmlsec): https://santuario.apache.org/
- 使用 StAX 解析 XML,第 1 部分: Streaming API for XML (StAX) 简介: http://blog.csdn.net/achellies/article/details/7048333
- 使用 StAX 解析 XML,第 2 部分: 拉式解析和事件: http://blog.csdn.net/achellies/article/details/7048334
- 使用 StAX 解析 XML,第 3 部分: 使用定制事件和编写 XML: http://blog.csdn.net/achellies/article/details/7048335
SAXON
The XSLT and XQuery Processor
jsoup
HTML Parser
Java port of Mozilla charset detector(jchardet)
JMX
- JMX Technology Home Page: http://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html
- JMX的Hello World: http://www.blogjava.net/hengheng123456789/articles/65690.html
- JMX(TM) Remote API RI, Optional Packages: http://mvnrepository.com/artifact/org.jvnet.opendmk/jmxremote_optional
- JMX学习笔记(一)-MBean: http://tuhaitao.iteye.com/blog/786391
- JMX之模型MBean: http://guojuanjun.blog.51cto.com/277646/599229/
jsch
yFiles
The yFiles diagramming software components are extensive class libraries that enable you to add high-quality diagramming functionality to your own software applications
OpenLDAP
OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol.
Protobuf
- https://github.com/google/protobuf/
- Protobuf协议的Java应用例子: http://blog.csdn.net/antgan/article/details/52103966
Archiver/Compressor
- junrar/junrar(Recommend): https://github.com/junrar/junrar
JFlex
JavaCC
sablecc
Xtext
antlr
- http://www.antlr.org/
- 常用IDE的Antlr插件:http://www.antlr.org/tools.html
- ANTLR 4进阶: https://liangshuang.name/2017/08/20/antlr/
- Enkel-JVM-language: https://github.com/JakubDziworski/Enkel-JVM-language
- JC-Compiler: https://github.com/cjwcommuny/JC-Compiler
JavaParser
- JavaParser: https://javaparser.org/
Markdown转换
- flexmark-java: https://github.com/vsch/flexmark-java
cglib
- https://github.com/cglib/cglib
- cglib动态代理介绍(一): http://blog.csdn.net/xiaohai0504/article/details/6832990
- Java动态代理机制详解(JDK和CGLIB,Javassist,ASM): http://blog.csdn.net/luanlouis/article/details/24589193
Javassist
jclasslib
iCal4j
分词
- 中文分词器分词效果评估对比: https://github.com/ysc/cws_evaluation
- 分词工具比较(转):https://www.cnblogs.com/jiangxinnju/p/5205363.html
- ik-analyze(java开源中文分词器): https://code.google.com/p/ik-analyzer/
- ICTCLAS: https://github.com/NLPIR-team/NLPIR/tree/master/NLPIR%20SDK/NLPIR-ICTCLAS
拼音
- TinyPinyin: https://github.com/promeG/TinyPinyin
- pinyin4j: https://github.com/belerweb/pinyin4j
jpinyin: https://github.com/stuxuhai/jpinyin
规则引擎
- Java规则引擎与其API(JSR-94):http://www.ibm.com/developerworks/cn/java/j-java-rules/
- 规则,推理机和规则引擎: http://holbrook.github.io/2012/03/20/rule_engine_1.html
- 规则引擎中常用的模式匹配算法: http://holbrook.github.io/2012/12/05/algorithm_of_pattern_match.html
- Java规则引擎规范:JSR94: http://holbrook.github.io/2012/12/07/jsr94.html
- jsr223-Java中的script引擎接口: http://www.ticmy.com/?p=267
- 开源规则流引擎实践: http://www.ibm.com/developerworks/cn/opensource/os-drools/
- Ilog JRules: http://www-01.ibm.com/software/websphere/products/business-rule-management/
- Jess: http://www.jessrules.com/
- Java bytecode instruction listings: https://en.wikipedia.org/wiki/Java_bytecode_instruction_listings
- ZeroCrawler V0.1:多线程爬虫: http://www.cnblogs.com/FengYan/archive/2012/11/27/2788369.html
Drools
- http://drools.org/
- http://drools.org/download/download.html
- http://docs.jboss.org/drools/release/6.0.1.Final/drools-docs/html_single/index.html
droolsjbpm-tools: https://github.com/kiegroup/droolsjbpm-tools- Drools规则描述语言快速手册: http://holbrook.github.io/2012/12/06/rule_language.html
- Why isn’t Drools working with Java 8? https://stackoverflow.com/questions/22493865/why-isnt-drools-working-with-java-8
jBPM
OpenAS2
OpenAS2 is a java-based implementation of the EDIINT AS2 standard. It is intended to be used as a server. It is extremely configurable and supports a wide variety of signing and encryption algorithms.
Java Native Access (JNA)
mpiJava
eBus
Java操作Word/Excel/PowerPoint/PDF
- Apache POI - the Java API for Microsoft Documents: http://poi.apache.org/
- aspose: http://www.aspose.com/
- iText: https://github.com/itext/itext7
- Apache PDFBox - A Java PDF Library: https://pdfbox.apache.org/index.html
-
JExcelApi(长时间不更新): https://sourceforge.net/projects/jexcelapi/
- jacob(Java/COM Bridge):https://github.com/freemansoft/jacob-project
- Java操作Microsoft Word之jacob: http://xiaoduan.blog.51cto.com/502137/136692/
- 浅析JACOB: http://www.blogjava.net/lusm/archive/2008/11/22/jacob.html
- JACOB的语法: https://www.cnblogs.com/x_wukong/p/4273588.html
Aurora
文件类型检测
- Apache Tika - a content analysis toolkit: http://tika.apache.org/
- Mime Type Detection Utility: https://sourceforge.net/projects/mime-util/
- jmimemagic: https://github.com/arimus/jmimemagic
Mina
- http://mina.apache.org
- Mina2.0快速入门: http://www.cnblogs.com/phinecos/archive/2008/11/27/1342655.html
- Mina2.0框架源码剖析(一): https://www.cnblogs.com/phinecos/archive/2008/12/03/1347052.html
- Mina2.0框架源码剖析(二): http://www.cnblogs.com/phinecos/archive/2008/12/04/1347394.html
- Mina2.0框架源码剖析(三): http://www.cnblogs.com/phinecos/archive/2008/12/04/1347626.html
- Mina2.0框架源码剖析(四): http://www.cnblogs.com/phinecos/archive/2008/12/04/1347663.html
- Mina2.0框架源码剖析(五): http://www.cnblogs.com/phinecos/archive/2008/12/04/1347752.html
- Mina2.0框架源码剖析(六): http://www.cnblogs.com/phinecos/archive/2008/12/07/1349723.html
- Mina2.0框架源码剖析(七): http://www.cnblogs.com/phinecos/archive/2008/12/08/1350315.html
-
Mina2.0框架源码剖析(八): http://www.cnblogs.com/phinecos/archive/2008/12/08/1350391.html
- MINA2官方教程翻译: http://picasso-di.iteye.com/category/75577
数据库连接池
- c3p0: https://sourceforge.net/projects/c3p0/
- DBCP: http://commons.apache.org/proper/commons-dbcp/index.html
- Proxool: http://proxool.sourceforge.net/index.html
- The Tomcat JDBC Connection Pool: http://tomcat.apache.org/tomcat-8.0-doc/jdbc-pool.html
- Apache Commons Pool: http://commons.apache.org/proper/commons-pool/index.html
Commons DbUtils: JDBC Utility Component
ZooKeeper
- ZooKeeper: http://zookeeper.apache.org/
Lucene
Solr
- http://lucene.apache.org/solr/
- solr教程,值得刚接触搜索开发人员一看: http://blog.csdn.net/awj3584/article/details/16963525
- nutch1.8+solr 4 配置过程: http://blog.csdn.net/hmbig2/article/details/22572473
爬虫库
- nutch: http://nutch.apache.org/
- Heritrix: https://github.com/internetarchive/heritrix3
- crawler4j: https://github.com/yasserg/crawler4j
Apache Flume
Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.
- Apache Flume: http://flume.apache.org/
- 开源日志系统比较:http://dongxicheng.org/search-engine/log-systems/
curator
Sqoop
Avro
Chukwa
Thirft
CAS/SSO
- [原创] SSO(Single Sign-on) in Action(上篇): http://www.blogjava.net/security/archive/2006/10/02/sso_in_action.html
- 单点登陆(Single Sign-On,SSO)介绍(翻译): http://blog.csdn.net/rosen/article/details/445112
- https://www.apereo.org/projects/cas
- https://github.com/apereo/cas
- CAS protocol: https://apereo.github.io/cas/5.0.x/protocol/CAS-Protocol.html
- CAS Client集群环境的问题及解决方案: https://yq.aliyun.com/articles/49871
- cas系列文章: http://www.cnblogs.com/vhua/tag/cas/
- cas单点登录配置速成: http://www.blogjava.net/goodlyts/archive/2009/10/20/299091.html
Prometheus
- https://prometheus.io/
- EXPOSITION FORMATS: https://prometheus.io/docs/instrumenting/exposition_formats/
- Prometheus 系统监控方案: http://www.cnblogs.com/vovlie/p/Prometheus_CONCEPTS.html
grafanagrafana
collectd
influxdata
opengrok
Flex
- Versions in the Flash Platform: https://www.senocular.com/flash/tutorials/versions/
JarScan
- JarScan: https://jarscan.com/
Comments