OVH Cloud OVH Cloud

go

353 réponses
Avatar
remy
bonjour

quelqu'un a d=E9j=E0 test=E9 ou essay=E9

http://www.al-aide.com/article/linux-4/go-nouveau-langage-chez-google-548=
540/

c'est une vraie question merci remy

--=20
http://remyaumeunier.chez-alice.fr/

10 réponses

Avatar
remy
JKB a écrit :
Le 26-11-2009, ? propos de
Re: go,
Yliur ?crivait dans fr.comp.os.linux.debats :
Disons que j'ai un soft qui est un serveur en java et qui
tourne 24h/24. Là, tu es _obligé_ de faire le ménage t oi-même si tu
ne veux pas que le truc se mette à bouffer toute la mémoire avec des
connexions TCP (et donc des threads) mortes qui continuent à
polluer la JVM. Les problèmes, ça arrive _très_ vite a vec ce genre de
gag.



Des serveurs d'application java qui tournent 24h/24 ce n'est pas
exceptionnel. Je ne vois pas dans quel cas des connexions TCP
pourraient être conservées comme ça. Tu as un exemple (sur un
serveur d'application ou un serveur que tu écris toi-même, qui est
peut-être le cas dont tu parles) ?



J'ai des exemples avec un progiciel écrit en java effectivement
développé par une équipe maison (qui connaît parfa itement ces
technos). Le truc était utilisé entre la France et des pays à accès
internet aléatoires que je ne citerais pas. Il a fallu bricoler t out
un système pour faire le ménage dans les threads morts sur d es
timeout de sockets et des trucs plus bizarres encore. Au début, à §a se
soldait par un redémarrage du truc tous les jours à 6h00 du matin.
Aujourd'hui, la chose est stabilisée, mais ça n'a pas é té simple.
La solution a été de coller un thread de surveillance qui 'p ingue'
le client. Si le client ne répond pas à trois ping consé cutifs, sa
session sur le serveur est libérée. Tous les mécanismes prévus par
Java fonctionnaient parfaitement avec une socket locale, mais plus
avec une socket réseau dès lors que l'accès était de mauvaise
qualité.



c'est un très vieux bug connu qui doit dater du 1.1 ou 1.2 peut à ªtre
même plus vieux

le time out n'était pas remonté de mémoire
donc pas de désalocation du socket puisqu'il n'était pas fer mé
ce n'est pas un problème de gc

change de jmv

remy



Le problème de cette gestion des ressources, c'est que ça
cache tout et que le programmeur qui n'est pas passé par la case C ne
sait plus exactement ce qui se passe.

JKB



Oui, s'il n'a pas appris à programme il fait vite des bêtise s ;) .



La question est donc : peut-on directement attaquer par un truc
comme java ?

JKB





--
http://remyaumeunier.chez-alice.fr/
Avatar
Nicolas George
batyann811 , dans le message <4b0e9857$0$992$, a
écrit :
En C oui...



Non, fondamentalement. Cherche ce mot dans le dictionnaire si tu as des
doutes sur son sens.
Avatar
Nicolas George
Yliur , dans le message , a écrit :
Mais ça ne marche que pour les tableaux statiques



Non, les VLA sont standards depuis dix ans.

tu passes le tableau en paramètre à une fonction, tu ne peux pas
avoir sa taille, si ?



On ne peut pas passer un tableau en paramètre.
Avatar
batyann811
Nicolas George a écrit :
Non, fondamentalement. Cherche ce mot dans le dictionnaire si tu as des
doutes sur son sens.



Non. Entiers et énumérés (les booléens n'étant qu'un cas particulier
d'énumérés) sont "fondamentalement" et ont des usages "fondamentalement"
différents.
Avatar
batyann811
Nicolas George a écrit :

On ne peut pas passer un tableau en paramètre.



Justement parce que c'est juste un pointeur déguisé.
Avatar
remy
batyann811 a écrit :
Nicolas George a écrit :

On ne peut pas passer un tableau en paramètre.



Justement parce que c'est juste un pointeur déguisé.



parce qu' en plus c'est carnaval


remy

--
http://remyaumeunier.chez-alice.fr/
Avatar
remy
remy a écrit :
JKB a écrit :
Le 26-11-2009, ? propos de
Re: go,
Yliur ?crivait dans fr.comp.os.linux.debats :
Disons que j'ai un soft qui est un serveur en java et qui
tourne 24h/24. Là, tu es _obligé_ de faire le ménage toi-même si tu
ne veux pas que le truc se mette à bouffer toute la mémoir e avec des
connexions TCP (et donc des threads) mortes qui continuent à
polluer la JVM. Les problèmes, ça arrive _très_ vite avec ce genre de
gag.



Des serveurs d'application java qui tournent 24h/24 ce n'est pas
exceptionnel. Je ne vois pas dans quel cas des connexions TCP
pourraient être conservées comme ça. Tu as un exempl e (sur un
serveur d'application ou un serveur que tu écris toi-même , qui est
peut-être le cas dont tu parles) ?



J'ai des exemples avec un progiciel écrit en java effectiveme nt
développé par une équipe maison (qui connaît p arfaitement ces
technos). Le truc était utilisé entre la France et des p ays à accès
internet aléatoires que je ne citerais pas. Il a fallu bricol er tout
un système pour faire le ménage dans les threads morts s ur des
timeout de sockets et des trucs plus bizarres encore. Au débu t, ça se
soldait par un redémarrage du truc tous les jours à 6h00 du matin.
Aujourd'hui, la chose est stabilisée, mais ça n'a pas à ©té simple.
La solution a été de coller un thread de surveillance qu i 'pingue'
le client. Si le client ne répond pas à trois ping consà ©cutifs, sa
session sur le serveur est libérée. Tous les mécani smes prévus par
Java fonctionnaient parfaitement avec une socket locale, mais plus
avec une socket réseau dès lors que l'accès ét ait de mauvaise
qualité.






http://groups.google.fr/group/fr.comp.lang.java/browse_frm/thread/3255ed7 b7810fae0/157eb28830e76d0e?lnk=gst&q=remy+socket#157eb28830e76d0e

msg 4

remy :-) souvenir souvenir


--
http://remyaumeunier.chez-alice.fr/
Avatar
Nicolas George
batyann811 , dans le message <4b0eab9d$0$991$, a
écrit :
Non. Entiers et énumérés (les booléens n'étant qu'un cas particulier
d'énumérés) sont "fondamentalement" et ont des usages "fondamentalement"
différents.



Les usages ne sont pas les mêmes, mais le concept mathématique derrière est
exactement le même.
Avatar
Nicolas George
batyann811 , dans le message <4b0eacf7$0$991$, a
écrit :
Justement parce que c'est juste un pointeur déguisé.



Non.
Avatar
batyann811
Nicolas George a écrit :

Les usages ne sont pas les mêmes, mais le concept mathématique derrière est
exactement le même.



Il se trouve que je parlais d'informatique pas de math.