La chiocciola: anatomia, abitudini e curiosità di un mollusco straordinario
- /
- 07 aprile 2026
- /
- Views 52
Dalla conchiglia prodotta dall'animale stesso al letargo estivo e invernale, dalla riproduzione ermafrodita alla lentezza proverbiale: tutto quello che c'è da sapere su uno degli abitanti più affascinanti dei nostri giardini. A cura di Walter Ferrari.
Chiocciola o lumaca: una distinzione importante
Chiocciola è un termine di uso comune che può riferirsi a varie specie di molluschi gasteropodi, tutte caratterizzate dalla presenza di una conchiglia. Il termine viene talora impropriamente considerato come sinonimo di lumaca, termine che andrebbe utilizzato solo per i gasteropodi privi di conchiglia.
La conchiglia e l'anatomia del corpo
La conchiglia delle chiocciole oltre a proteggere le stesse, riduce anche la perdita di acqua che avviene attraverso l'evaporazione. La conchiglia si forma con una sostanza detta conchiolina che l'animale stesso produce. La parte del corpo che striscia sul terreno e permette i movimenti e le ritirate grazie a un forte muscolo si chiama piede. Sul capo ha quattro appendici retrattili, dette comunemente "antenne" o "corna": due di esse portano gli occhi e due sono organi di senso tattili. L'apparato boccale contiene un organo detto radula munito di tanti denti microscopici con cui l'animale grattugia il cibo prima di ingoiarlo. La chiocciola è un animale assai cauto e timido in quanto si ritira appena molestato. Quando vengono anche solo sfiorate le antenne, queste si ritraggono istantaneamente. Si trascina sul piede e usa una bava argentea come lubrificante per evitare di ferirsi.
Il letargo: estivazione e svernamento
Le secrezioni della chiocciola servono anche a formare l'epifragma — struttura protettiva e calcarea che funge da tappo — quando l'animale va in letargo. Questo avviene due volte all'anno: durante il periodo estivo per proteggersi dal caldo eccessivo e dalla mancanza di umidità, in questo caso si parla di estivazione, che si verifica di solito durante i mesi di luglio e agosto; in inverno, per sopravvivere al freddo, soprattutto quando le temperature notturne scendono molto, la chiocciola si prepara al lungo sonno invernale chiamato letargo o svernamento. Durante questi periodi il cuore rallenta il suo battito e l'attività generale si riduce drasticamente per risparmiare energie.
La riproduzione: ermafroditi ma non autofecondanti
Le chiocciole sono organismi ermafroditi, ovvero possiedono sia l'apparato riproduttore maschile che quello femminile, ma non sono in grado di autofecondarsi: per la riproduzione necessitano dell'intervento di un consimile. Durante l'accoppiamento quindi fecondano e rimangono fecondate contemporaneamente. Alcune chiocciole, per deporre le uova, scavano nella terra. Le uova deposte, bianche e numerose, sono molto più grandi dell'orifizio da cui escono, e sono grosse come il mais o i piselli. Inoltre, tra una deposizione e l'altra può trascorrere anche più di mezz'ora, motivo per cui la chiocciola rimane nello stesso luogo a deporre anche giornate intere. Tali uova, avvolte da un guscio bianco membranoso impregnato di sali calcarei, sono poi abbandonate e producono, dopo 20-30 giorni dalla deposizione, chioccioline già munite di rudimentale conchiglia spirale.
Habitat, alimentazione e longevità
Le chiocciole hanno un habitat variabile secondo la specie, ma per lo più amano i luoghi freschi e ombreggiati, rimanendo al riparo dei raggi solari. Sul loro percorso lasciano una striscia argentea iridescente, continua o tratteggiata, dovuta alla condensazione del muco o bava, che ha una funzione protettiva contro gli insetti e altri nemici. Sono prevalentemente erbivore e onnivore, nutrendosi di una vasta gamma di vegetali freschi o in decomposizione, tra cui lattuga, cavolo, bietole, cetrioli, carote e frutta. Consumano anche funghi e muschi e necessitano di calcio per il guscio, spesso ottenuto da uova e terra. In media una chiocciola di terra vive tra i 2 e i 5 anni, quelle comuni da giardino 2 o 3 anni. È molto nota per la sua lentezza nei movimenti, con un record di velocità di appena 15 cm al minuto. L'area di diffusione delle chiocciole si estende a tutti i continenti, dai paesi tropicali ai limiti polari.
La chiocciola e il simbolo @
Il simbolo chiocciola (@) è un carattere utilizzato negli indirizzi e-mail per indicare la localizzazione di un utente. La sua forma grafica, una stilizzata "a" inscritta in un cerchio, ricorda il guscio di un mollusco, da cui deriva il nome chiocciola in italiano.
Testo e foto Walter Ferrari
Visita il Blog di Ecocultura fondato da Walter Ferrari
Category passione-natura not found
----
FTL stack trace ("~" means nesting-related):
- Failed at: @get_category name=cat_name var="cate... [in template "dev.sevendaysweb.com/layouts/macro/utils.ftl" in macro "set_primary_category_color" at line 600, column 7]
- Reached through: @set_primary_category_color c [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "hs_contents" at line 970, column 25]
- Reached through: @hs_contents ca, contents_preview, co... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "suggested_category_content" at line 461, column 17]
- Reached through: @suggested_category_content ca, last_... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "suggested_contents" at line 223, column 25]
- Reached through: @query name=name cache=false start=st... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "suggested_contents" at line 221, column 9]
- Reached through: @suggested_contents name=(mpName + "i... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "content_suggested" at line 81, column 41]
- Reached through: @query name="categories_area_sect" ca... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "content_suggested" at line 8, column 9]
- Reached through: @content_suggested bundle.OCDetail, "... [in template "dev.sevendaysweb.com/layouts/macro/content_details.ftl" in macro "content_details" at line 358, column 25]
- Reached through: @content var="c" show_last_content=ca... [in template "dev.sevendaysweb.com/layouts/macro/content_details.ftl" in macro "content_details" at line 118, column 9]
- Reached through: @content_details img_full_width=img_f... [in template "dev.sevendaysweb.com/layouts/default.ftl" in macro "contents_column" at line 9, column 13]
- Reached through: @contents_column [in template "dev.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "container" at line 412, column 49]
- Reached through: @query name="count_areas" cache=false... [in template "dev.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "container" at line 254, column 5]
- Reached through: @container context, "[left-mid-", "[c... [in template "dev.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "html" at line 111, column 33]
- Reached through: @cache sv=search_val [in template "dev.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "html" at line 66, column 9]
- Reached through: @html cat_layout="home" cat_title=tru... [in template "dev.sevendaysweb.com/layouts/default.ftl" at line 24, column 1]
----
Java stack trace (for programmers):
----
freemarker.template.TemplateException: [... Exception message was already printed; see it above ...]
at it.treis.utils.freemarker.BasicHeadingCategoryDirective.getCategoryByName(BasicHeadingCategoryDirective.java:63)
at it.treis.utils.freemarker.CategoryDirective.execute(CategoryDirective.java:65)
at freemarker.core.Environment.visit(Environment.java:445)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:291)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2900)
at it.treis.utils.freemarker.CategoryCachedQueryResultDirective.execute(CategoryCachedQueryResultDirective.java:202)
at freemarker.core.Environment.visit(Environment.java:445)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:291)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2900)
at it.treis.utils.freemarker.CategoryCachedQueryResultDirective.execute(CategoryCachedQueryResultDirective.java:202)
at freemarker.core.Environment.visit(Environment.java:445)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2900)
at it.treis.utils.freemarker.ContentCachedResultDirective.render(ContentCachedResultDirective.java:201)
at it.treis.utils.freemarker.ContentCachedResultDirective.execute(ContentCachedResultDirective.java:181)
at freemarker.core.Environment.visit(Environment.java:445)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:372)
at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2900)
at it.treis.utils.freemarker.CategoryCachedQueryResultDirective.execute(CategoryCachedQueryResultDirective.java:202)
at freemarker.core.Environment.visit(Environment.java:445)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.visitAndTransform(Environment.java:495)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2900)
at it.treis.utils.freemarker.CacheDirective.execute(CacheDirective.java:102)
at freemarker.core.Environment.visit(Environment.java:445)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.Environment.invoke(Environment.java:775)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:83)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:336)
at freemarker.core.Environment.process(Environment.java:309)
at freemarker.template.Template.process(Template.java:384)
at org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:223)
at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:193)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:372)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:276)
at it.treis.smartmedia.navigation.interceptors.PrepareParametersInterceptor.intercept(PrepareParametersInterceptor.java:183)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at it.treis.smartmedia.navigation.interceptors.SubscriptionTokenMatcherInterceptor.intercept(SubscriptionTokenMatcherInterceptor.java:46)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:125)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:253)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:575)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:209)
at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:643)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:763)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1831)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:829)
Annunci gratuiti
Lavora con noi
Telegram News
Pubblicità
Redazione