2 votes

Java NIO, utiliser ou ne pas utiliser un framework ?

Je développe un serveur basé sur Java, avec NIO multiplex et j'ai commencé à voir beaucoup de frameworks... Je ne comprends pas si ces frameworks rendent la vie plus facile seulement ou s'ils ont aussi un incrément de performance ( par exemple netty ).

4voto

EJP Points 113412

Aucun cadre ne peut améliorer les performances de ce qui se trouve en dessous. Dans le cas de NIO, j'en suis venu à penser qu'il s'agit déjà d'un framework en soi. J'ai examiné quelques frameworks NIO tels que Mina, et j'en ai même écrit un moi-même, mais ma propre conclusion est qu'il s'agit en grande partie d'efforts gaspillés, qui finissent par gêner d'une manière ou d'une autre. Tout ce dont vous avez besoin, c'est d'une boucle de sélection bien écrite et des structures de données appropriées.

1voto

Yishai Points 42417

Je pense que l'essentiel est qu'ils facilitent la vie et permettent d'être productif plus rapidement. Ils peuvent être plus ou moins performants les uns par rapport aux autres, ou par rapport à votre propre code (il n'y a aucune raison de penser que si vous le codiez à partir de zéro, vous obtiendriez de meilleures performances dès le premier essai - bien sûr, en fin de compte, vous en êtes le propriétaire et vous pouvez donc l'optimiser à mort si vous le souhaitez et si vous en avez le temps).

En fin de compte, ils utilisent tous le cadre et les classes Java NIO, et le seul moyen de les surpasser est de faire votre propre JNI - en supposant que vous y parveniez - c'est un travail difficile, une spécialité à part entière dans la programmation.

0voto

Tiago Points 773

Cela dépend de ce que vous essayez de faire. Les frameworks NIO sont utiles parce qu'ils fournissent une abstraction de l'action principale de NIO. Cependant, ils vous obligent à utiliser plusieurs modèles de conception avec lesquels vous n'êtes peut-être pas à l'aise.

Si vous pensez pouvoir vous adapter à ces modèles de conception, vous devriez probablement utiliser un cadre de travail. Il y aura moins de bogues, vous aurez moins de travail à faire et, en fin de compte, vous ne verrez pas où se passe toute l'action. Vous devez simplement vous concentrer sur ce que vous essayez de réaliser.

Elle entraîne des frais généraux supplémentaires par rapport à une solution "nationale", mais ils sont négligeables.

-1voto

Cela dépend vraiment de votre niveau de connaissance de l'outil. java.nio API. Si vous n'êtes pas sûr de la manière dont les choses fonctionnent, vous devriez probablement utiliser une API tierce. Si vous savez comment les choses fonctionnent et que vous êtes capable d'écrire du code sans API tierce, vous devez absolument utiliser votre propre code sans aucune condition. Vous pouvez obtenir de meilleures performances sans avoir recours à des éléments supplémentaires (API tierce).

J'aime vivre selon les Principe KISS .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X