本文作者:qiaoqingyi

socket非阻塞编程(socket阻塞与非阻塞的区别)

qiaoqingyi 09-09 118

  续上篇

  目录

杂项

应用监控工具

原生开发库

自然语言处理

网络

ORM

PDF

性能分析

响应式开发库

REST框架

科学计算与分析

搜索引擎

安全

序列化

应用服务器

模板引擎

测试

通用工具库

网络爬虫

Web框架

社区

有影响力的书

播客

Twitter

技术网站

更多资源

  杂项

  未分类其它资源。

Design Patterns:实现并解释了最常见的设计模式。

  官网:https://github.com/iluwatar/java-design-patterns

Jimfs:内存文件系统。

  官网:https://github.com/google/jimfs

Lanterna:类似curses的简单console文本GUI函数库。

  官网:https://code.google.com/p/lanterna/

LightAdmin:可插入式CRUD UI函数库,可用来快速应用开发。

  官网:https://lightadmin.org/

OpenRefine:用来处理混乱数据的工具,包括清理、转换、使用Web Service进行扩展并将其关联到数据库。

  官网:https://openrefine.org/

RoboVM:Java编写原生iOS应用。

  官网:https://robovm.com/

Quartz:强大的任务调度库.

  官网:https://www.quartz-scheduler.org/

  应用监控工具

  监控生产环境中应用程序的工具。

AppDynamics:性能监测商业工具。

  官网:https://www.appdynamics.com/

JavaMelody:性能监测和分析工具。

  官网:https://github.com/javamelody/javamelody

Kamon:Kamon用来监测在JVM上运行的应用程序。

  官网:https://www.kamon.io/

New Relic:性能监测商业工具。

  官网:https://newrelic.com/

SPM:支持对JVM应用程序进行分布式事务追踪的性能监测商业工具。

  官网:https://sematext.com/spm/

Takipi:产品运行时错误监测及调试商业工具。

  官网:https://www.takipi.com/

  原生开发库

  用来进行特定平台开发的原生开发库。

JNA:不使用JNI就可以使用原生开发库。此外,还为常见系统函数提供了接口。

  官网:https://github.com/java-native-access/jna

  自然语言处理

  用来专门处理文本的函数库。

Apache OpenNLP:处理类似分词等常见任务的工具。

  官网:https://opennlp.apache.org/

CoreNLP:斯坦佛CoreNLP提供了一组基础工具,可以处理类似标签、实体名识别和情感分析这样的任务。

  官网:https://nlp.stanford.edu/software/coenlp.shtml

LingPipe:一组可以处理各种任务的工具集,支持POS标签、情感分析等。

  官网:https://alias-i.com/lingpipe/

Mallet:统计学自然语言处理、文档分类、聚类、主题建模等。

  官网:https://mallet.cs.umass.edu/

  网络

  网络编程函数库。

Async Http Client:异步HTTP和WebSocket客户端函数库。

  官网:https://github.com/AsyncHttpClient/async-http-client

Grizzly:NIO框架,在Glassfish中作为网络层使用。

  官网:https://grizzly.java.net/

Netty:构建高性能网络应用程序开发框架。

  官网:https://netty.io/

OkHttp:一个Android和Java应用的HTTP+SPDY客户端。

  官网:https://square.github.io/okhttp/

Undertow:基于NIO实现了阻塞和非阻塞API的Web服务器,在WildFly中作为网络层使用。

  官网:https://undertow.io/

  ORM

  处理对象持久化的API。

Ebean:支持快速数据访问和编码的ORM框架。

  官网:https://ebean-orm.github.io/

EclipseLink:支持许多持久化标准,JPA、JAXB、JCA和SDO。

  官网:https://www.eclipse.org/eclipselink/

Hibernate:广泛使用、强健的持久化框架。Hibernate的技术社区非常活跃。

  官网:https://hibernate.org/orm/

MyBatis:带有存储过程或者SQL语句的耦合对象(Couples object)。

  官网:https://mybatis.github.io/mybatis-3/

OrmLite:轻量级开发包,免除了其它ORM产品中的复杂性和开销。

  官网:https://ormlite.com/

  PDF

  用来帮助创建PDF文件的资源。

Apache FOP:从XSL-FO创建PDF。

  官网:https://xmlgraphics.apache.org/fop/

Apache PDFBox:用来创建和操作PDF的工具集。

  官网:https://pdfbox.apache.org/

DynamicReports:JasperReports的精简版。

  官网:https://dynamicreports.org/

flyingsaucer:XML/XHTML和CSS 2.1渲染器。

  官网:https://github.com/flyingsaucerproject/flyingsaucer

iText:一个易于使用的PDF函数库,用来编程创建PDF文件。注意,用于商业用途时需要许可证。

  官网:https://itextpdf.com/

JasperReports:一个复杂的报表引擎。

  官网:https://community.jaspersoft.com/project/jasperreports-library

  性能分析

  性能分析、性能剖析及基准测试工具。

jHiccup:提供平台中JVM暂停的日志和记录。

  官网:https://github.com/giltene/jHiccup

JMH:JVM基准测试工具。

  官网:https://openjdk.java.net/projects/code-tools/jmh/

JProfiler:商业分析器。

  官网:https://www.ej-technologies.com/products/jprofiler/overview.html

LatencyUtils:测量和报告延迟的工具。

  官网:https://github.com/LatencyUtils/LatencyUtils

VisualVM:对运行中的应用程序信息提供了可视化界面。

  官网:https://visualvm.java.net/

YourKit Java Profiler:商业分析器。

  官网:https://www.yourkit.com/features/

  响应式开发库

  用来开发响应式应用程序的开发库。

Reactive Streams:异步流处理标准,支持非阻塞式反向压力(backpressure)。

  官网:https://github.com/reactive-streams/reactive-streams-jv/

Reactor:构建响应式快速数据(fast-data)应用程序的开发库。

  官网:https://projectreactor.io/

RxJava:通过JVM可观察序列(observable sequence)构建异步和基于事件的程序。

  官网:https://github.com/ReactiveX/RxJava

  REST框架

  用来创建RESTful 服务的框架。

Dropwizard:偏向于自己使用的Web框架。用来构建Web应用程序,使用了Jetty、Jackson、Jersey和Metrics。

  官网:https://dropwizard.github.io/drpwizard/

Feign:受Retrofit、JAXRS-2.0和WebSocket启发的HTTP客户端连接器(binder)。

  官网:https://github.com/Netflix/feign

Jersey:JAX-RS参考实现。

  官网:https://jersey.java.net/

RESTEasy:经过JAX-RS规范完全认证的可移植实现。

  官网:https://resteasy.jboss.org/

RestExpress:一个Java类型安全的REST客户端。

  官网:https://github.com/RestExpress/RestExpress

RestX:基于注解处理和编译时源码生成的框架。

  官网:https://restx.io/

Retrofit:类型安全的REST客户端。

  官网:https://square.github.io/retrofit/

Spark:受到Sinatra启发的Java REST框架。

  官网:https://sparkjava.com/

Swagger:Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful Web Service。

  官网:https://swagger.io/

Blade:国人开发的一个轻量级的MVC框架. 它拥有简洁的代码,优雅的设计。

  官网:https://github.com/biezhi/blade

  科学计算与分析

  用于科学计算和分析的函数库。

DataMelt:用于科学计算、数据分析及数据可视化的开发环境。

  官网:https://jwork.org/dmelt/

JGraphT:支持数学图论对象和算法的图形库。

  官网:https://github.com/jgrapht/jgrapht

JScience:用来进行科学测量和单位的一组类。

  官网:https://jscience.org/

  搜索引擎

  文档索引引擎,用于搜索和分析。

Apache Solr:一个完全的企业搜索引擎。为高吞吐量通信进行了优化。

  官网:https://lucene.apache.org/solr/

Elasticsearch:一个分布式、支持多租户(multitenant)全文本搜索引擎。提供了RESTful Web接口和无schema的JSON文档。

  官网:https://www.elsticsearch.org/

  安全

  用于处理安全、认证、授权或会话管理的函数库。

Apache Shiro:执行认证、授权、加密和会话管理。

  官网:https://shiro.apache.org/

Bouncy Castle,涵盖了从基础的帮助函数到PGP/SMIME操作。 多途加密开发库。支持JCA提供者(JCA provider)

  官网:https://www.bouncycastle.org/java.html

Cryptomator:在云上进行客户端跨平台透明加密。

  官网:https://cryptomator.org/

Keycloak:为浏览器应用和RESTful Web Service集成SSO和IDM。目前还处于beta版本,但是看起来非常有前途。

  官网:https://keycloak.jboss.org/

PicketLink:PicketLink是一个针对Java应用进行安全和身份认证管理的大型项目(Umbrella Project)。

  官网:https://picketlink.org/

  序列化

  用来高效处理序列化的函数库。

FlatBuffers:高效利用内存的序列化函数库,无需解包和解析即可高效访问序列化数据。

  官网:https://github.com/google/flatbuffers

Kryo:快速、高效的对象图形序列化框架。

  官网:https://github.com/EsotericSoftware/kryo

FST:提供兼容JDK的高性能对象图形序列化。

  官网:https://github.com/RuedigerMoeller/fast-serialization

MessagePack:一种高效的二进制序列化格式。

  官网:https://github.com/msgpack/msgpack-java

  应用服务器

  用来部署应用程序的服务器。

Apache Tomcat:针对Servlet和JSP的应用服务器,健壮性好且适用性强。

  官网:https://tomcat.apache.org/

Apache TomEE:Tomcat加Java EE。

  官网:https://tomee.apache.org/

Jetty:轻量级、小巧的应用服务器,通常会嵌入到项目中。

  官网:https://www.eclipse.org/jetty/

WebSphere Liberty:轻量级、模块化应用服务器,由IBM开发。

  官网:https://developer.ibm.com/wasdev/

WildFly:之前被称作JBoss,由Red Hat开发。支持很多Java EE功能。

  官网:https://www.wildfly.org/

  模板引擎

  在模板中替换表达式的工具。

Apache Velocity:提供HTML页面模板、email模板和通用开源代码生成器模板。

  官网:https://velocity.apache.org/

FreeMarker:通用模板引擎,不需要任何重量级或自己使用的依赖关系。

  官网:https://freemarker.org/

Handlebars.java:使用Java编写的模板引擎,逻辑简单,支持语义扩展(semantic Mustache)。

  官网:https://jknack.github.io/handlebars.java/

Thymeleaf:旨在替换JSP,支持XML文件的工具。

  官网:https://www.thymeleaf.org/

  测试

  测试内容从对象到接口,涵盖性能测试和基准测试工具。

Apache JMeter:功能性测试和性能评测。

  官网:https://jmeter.apache.org/

Arquillian:集成测试和功能行测试平台,集成Java EE容器。

  官网:https://arquillian.org/

AssertJ:支持流式断言提高测试的可读性。

  官网:https://joel-costigliola.github.io/assertj/

Awaitility:用来同步异步操作的DSL。

  官网:https://github.com/jayway/awaitility

Cucumber:BDD测试框架。

  官网:https://github.com/cucumber/cucumber-jvm

Gatling:设计为易于使用、可维护的和高性能负载测试工具。

  官网:https://gatling.io/

Hamcrest:可用来灵活创建意图(intent)表达式的匹配器。

  官网:https://hamcrest.org/JavaHamcrest/

JMockit:用来模拟静态、final方法等。

  官网:https://jmockit.org/

JUnit:通用测试框架。

  官网:https://junit.org/

Mockito:在自动化单元测试中创建测试对象,为TDD或BDD提供支持。

  官网:https://github.com/mockito/mockito

PowerMock: 支持模拟静态方法、构造函数、final类和方法、私有方法以及移除静态初始化器的模拟工具。

  官网:https://github.com/jayway/powermock

REST Assured:为REST/HTTP服务提供方便测试的Java DSL。

  官网:https://github.com/jayway/rest-assured

Selenide:为Selenium提供精准的周边API,用来编写稳定且可读的UI测试。

  官网:https://selenide.org/

Selenium:为Web应用程序提供可移植软件测试框架。

  官网:https://selenide.org/

Spock:JUnit-compatible framework featuring an expressive Groovy-derived specification language.兼容JUnit框架,支持衍生的Groovy范的语言。

  官网:https://docs.spockframework.org/

TestNG:测试框架。

  官网:https://testng.org/

Truth:Google的断言和命题(proposition)框架。

  官网:https://github.com/google/truth

Unitils:模块化测试函数库,支持单元测试和集成测试。

  官网:https://www.unitils.org/

WireMock:Web Service测试桩(Stub)和模拟函数。

  官网:https://wiremock.org/

  通用工具库

  通用工具类函数库。

Apache Commons:提供各种用途的函数,比如配置、验证、集合、文件上传或XML处理等。

  官网:https://commons.apache.org/

args4j:命令行参数解析器。

  官网:https://args4j.kohsuke.org/

CRaSH:为运行进行提供CLI。

  官网:https://www.crashub.org/

Gephi:可视化跨平台网络图形化操作程序。

  官网:https://github.com/google/guava

Guava:集合、缓存、支持基本类型、并发函数库、通用注解、字符串处理、I/O等。

  官网:https://github.com/google/guava

JADE:构建、调试多租户系统的框架和环境。

  官网:https://jade.tilab.com/

javatuples:正如名字表示的那样,提供tuple支持。尽管目前tuple的概念还有留有争议。

  官网:https://www.javatuples.org/

JCommander:命令行参数解析器。

  官网:https://jcommander.org/

Protégé:提供存在论(ontology)编辑器以及构建知识系统的框架。

  官网:https://protege.stanford.edu/

  网络爬虫

  用于分析网站内容的函数库。

Apache Nutch:可用于生产环境的高度可扩展、可伸缩的网络爬虫。

  官网:https://nutch.apache.org/

Crawler4j:简单的轻量级网络爬虫。

  官网:https://github.com/yasserg/crawler4j

JSoup:刮取、解析、操作和清理HTML。

  官网:https://jsoup.org/

  Web框架

  用于处理Web应用程序不同层次间通讯的框架。

Apache Tapestry:基于组件的框架,使用Java创建动态、强健的、高度可扩展的Web应用程序。

  官网:https://wicket.apache.org/

Apache Wicket:基于组件的Web应用框架,与Tapestry类似带有状态显示GUI。

  官网:https://wicket.apache.org/

Google Web Toolkit:一组Web开发工具集,包含在客户端将Java代码转为Java的编译器、XML解析器、RCP API、JUnit集成、国际化支持和GUI控件。

  官网:https://www.gwtproject.org/

Grails:Groovy框架,旨在提供一个高效开发环境,使用约定而非配置、没有XML并支持混入(mixin)。

  官网:https://grails.org/

Ninja:Java全栈Web开发框架。非常稳固、快速和高效。

  官网:https://www.ninjaframework.org/

Pippo:小型、高度模块化的类Sinatra框架。

  官网:https://www.pippo.ro/

Play:使用约定而非配置,支持代码热加载并在浏览器中显示错误。

  官网:https://www.playframework.com/

PrimeFaces:JSF框架,提供免费和带支持的商业版本。包括若干前端组件。

  官网:https://primefaces.org/

Ratpack:一组Java开发函数库,用于构建快速、高效、可扩展且测试完备的HTTP应用程序。

  官网:https://ratpack.io/

Spring Boot:微框架,简化了Spring新程序的开发过程。

  官网:https://projects.spring.io/spring-boot/

Spring:旨在简化Java EE的开发过程,提供依赖注入相关组件并支持面向切面编程

  官网:https://projects.spring.io/spring-framework/

Vaadin:基于GWT构建的事件驱动框架。使用服务端架构,客户端使用Ajax。

  官网:https://vaadin.com/

Blade:国人开发的一个轻量级的MVC框架. 它拥有简洁的代码,优雅的设计。

  官网:https://github.com/biezhi/blade

  古董级工具

  这些工具伴随着Java一起出现,在各自辉煌之后还在一直使用。

Apache Ant:基于XML的构建管理工具。

  官网:https://ant.apache.org/

cglib:字节码生成库。

  官网:https://github.com/cglib/cglib

GlassFish:应用服务器,由Oracle赞助支持的Java EE参考实现。

  官网:https://glassfish.java.net/

Hudson:持续集成服务器,目前仍在活跃开发。

  官网:https://hudson-ci.org/

JavaServer Faces:Mojarra是JSF标准的一个开源实现,由Oracle开发。

  官网:https://javaserverfaces.java.net/

JavaServer Pages:支持自定义标签库的网站通用模板库。

  官网:https://jsp.java.net/

Liquibase:与具体数据库独立的追踪、管理和应用数据库Scheme变化的工具。

  官网:https://www.liquibase.org/

  社区

r/java:Reddit的Java子社区。

  官网:https://www.reddit.com/r/java

socket非阻塞编程(socket阻塞与非阻塞的区别)

stackoverflow:问答平台。

  官网:https://stackoverflow.com/questions/tagged/java

vJUG:虚拟Java用户组。

  官网:https://virtualjug.com/

  有影响力的书

  具有广泛影响且值得阅读的Java经典书籍。

Effective Java (2nd Edition):https://hao.jobbole.com/effective-java/

Java 8 in Action:https://hao.jobbole.com/java-8-in-action/

Java Concurrency in Practice | Java并发编程实战:https://hao.jobbole.com/java-concurrency-in-practice/

Thinking in Java | Java编程思想:https://hao.jobbole.com/thinking-in-java/

Java Puzzlers | Java解惑:https://hao.jobbole.com/java-puzzlers/

  播客

  可以一边编程一边听的东西。

Java Council: 官网 https://virtualjug.com/podcast/

Java Posse:Discontinued as of 02/2015.

  官网:https://www.javaposse.com/

  Twitter

Adam Bien:自由职业者、作家、JavaONE明星演讲者、顾问、Java Champion。

Antonio Goncalves:Java Champion、JUG Leader、Devoxx France、Java EE 6/7、JCP、作家。

Arun Gupta:Java Champion、JavaONE明星演讲者、JUG Leader、Devoxx4Kids成员、Red Hatter。

Bruno Borges:Oracle产品经理、Java Jock。

Ed Burns:Oracle技术团队顾问。

Eugen Paraschiv:Spring安全课程作者。

James Weaver:Java、JavaFX、IoT开发者、作者和演讲者。

Java EE:Java EE Twitter官方账号。

Java Magazine:Java杂志官方账号。

Java.net:Java.net官方账号。

Java:Java Twitter官方账号。

Javin Paul:知名Java博客作者。

Lukas Eder:Data Geekery(jOOQ)创始人兼CEO。

Mario Fusco:RedHatter、JUG协调、活跃讲师和作者。

Mark Reinhold:Oracle首席架构师、Java平台开发组。

Martijn Verburg:London JUG co-leader、演讲者、作家、Java Champion等。

OpenJDK:OpenJDK官方账号。

Reza Rahman:Java EE、GlassFish、WebLogic传道者、作家、演讲者、开源黑客。

Simon Maple:Java Champion、virtualJUG创始人、LJC leader、RebelLabs作者。

Stephen Colebourne: Java Champion、演讲者。

Tim Boudreau:作家、NetBeans大牛。

Trisha Gee:Java Champion、演讲者。

  技术网站

  值得关注的Java技术站点。

Android Arsenal:https://android-arsenal.com/

Google Java Style: https://google-styleguide.googlecode.com/svn/trunk/javaguide.html

InfoQ:https://www.infoq.com/

Java Code Geeks:https://www.javacodegeeks.com/

Java, SQL, and jOOQ:https://blog.jooq.org/

Java.net:https://java.net/

Javalobby:https://java.dzone.com/

JavaWorld:https://www.javaworld.com/

JAXenter:https://jaxenter.com/

RebelLabs:https://zeroturnaround.com/rebellabs/

The Java Specialist' Newsletter: https://www.javaspecialists.eu/archive/archive.jsp

The Takipi Blog:https://blog.takipi.com/

TheServerSide.com:服务器编程交流平台是一个老牌的IT信息网站,关注服务器端编程的,以Java和.Net周边信息为主。 https://www.theserverside.com/

Thoughts On Java:https://www.thoughts-on-java.org/

Vanilla Java:https://vanillajava.blogspot.ch/

Vlad Mihalcea on Hibernate:https://vladmihalcea.com/

Voxxed:https://www.voxxed.com/

OnJava:O'Reilly Java包含最新的Java技术资讯,优质代码,完全的实例和详解。 https://hao.jobbole.com/onjava/

ImportNew(ImportNew 专注 Java 技术):https://www.importnew.com/

  更多资源

  中文版:https://github.com/jobbole/awesome-java-cn

  英文版:https://github.com/akullpp/awesome-java

  原文链接: github akullpp 翻译: ImportNew.com - 唐尤华

  译文链接: https://www.importnew.com/14429.html

  版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。

-END-

架构文摘

ID:ArchDigest

互联网应用架构丨架构技术丨大型网站丨大数据丨机器学习

更多精彩文章,请点击下方:阅读原文

阅读
分享