Autor de Thinking In Java: Não use simultaneidade!

prefácio

Hoje é puramente para trazer você para ler livros~

Recentemente, além do trabalho, comprei especialmente um novo livro "On Java" do meu autor favorito. O autor é meu velho amigo Bruce Ecker, que é muito famoso na área de Java. Você pode não ter ouvido o nome dele. , mas é muito provável que você já tenha ouvido falar de seu outro livro "Pensando em Java". Acho que muitos engenheiros Java leram este livro, que pode ser considerado a consciência das idéias de programação Java.

Embora Bruce seja meu velho amigo, tenho que reclamar disso. Depois de ler "On Java", geralmente acho que não é tão bom quanto "Thinking In Java". Pode ser o mesmo que escrever romances. Os requisitos dos leitores são maiores e o autor é velho.

Conheço Bruce há muitos anos. Ele é uma pessoa relativamente bem-humorada. Ele frequentemente fala sobre o lixo de uma linguagem de programação em seus livros e, ao mesmo tempo, faz uma pequena perspectiva para o futuro da linguagem. programa masculino hétero pertinente e típico.

Por último, mas não menos importante, eu o conheço, ele não me conhece.


texto

Concentrei-me em programação concorrente, que me interessa mais, e queria saber se esse chefe tem novas visões e opiniões sobre a programação concorrente Java atual. Como esperado, ele não disse nada de importante, mas parecia ter Falando, com um tom crítico, mostrando o que ele gosta e não gosta de programação concorrente Java.

Então, desenhei alguns lugares que achei interessantes e os compartilhei com você para ver o que um chefe sênior de Java entende sobre programação simultânea.

1. A lei da concorrência

111.png

Na verdade, quando vi as quatro leis desenvolvidas pelo autor, fiquei bastante surpreso. A primeira frase é o ponto, não use concorrência.

Se você pensar bem, parece estar certo... Pense de novo e sinta... Finalmente, relembre os projetos que participei ao longo dos anos... Nossa, isso faz sentido!

Os próximos três artigos são basicamente o esboço geral, e os conteúdos a seguir são todos descrições desses artigos.


2. Os perigos ocultos que você enterrou

222.png

Aqui estão as explicações específicas de 2 e 3. Algumas palavras são um pouco verbosas, desenhei uma frase que é mais importante para programadores.

Você pode facilmente escrever um programa concorrente que parece bom, mas na verdade tem problemas.

Quando você viu esta frase, você começou a abrir sua IDEA silenciosamente e então revisou o código que você enviou?

Não olhe para isso, quantas bombas você enterrou? Você pode ver as flores?

Leia com clareza a última frase do autor: Seu problema só se revelará quando atender às mais raras condições.

我可以这么说,在座绝大部分同行去了下一家公司干活,可能上一家公司的新同事才会在你毫不知情的时候默默踩到你埋的地雷然后被炸个粉碎,而你在新公司也正在踩别人的雷,出来混都是要还的。


3、别否认你就是这种人

333.png

看到这里的时候,我忍不住亲了布鲁斯一口,他痛快的描述出了我一直以来在工作中说不清道不明的烦躁,因为你总会遇到这样的人,同时很难发现自己到底是不是这样的人。

我在工作前3年其实如履薄冰,感觉自己什么都学了,但去了公司发现什么都不会,怀揣着自我否定一点点完成别人布置的任务,直到工作5年以后才有一种醍醐灌顶的感觉,理解了自己做的是什么,接下来要学习哪个方向,以前学到那么多东西究竟是怎么串联起来的,这是一种打通任督二脉的满足感。

等到工作8年之后,才真正开始回头看Java语言,对以前烦厌欲呕的Java基础提起莫名的兴趣,同时喜欢看书,写案例,尝试阅读别人的源码等等,此时我才真正有自己一只腿迈进Java领域的意识。

同时,在工作中会对许多能力一般但沟通较为偏执的同事产生抵触情绪,我有时会认为这是一种大人看小孩耍脾气的感觉,这个只有在工作多年之后才会产生,作者很准确的阐述出了我描绘不出的这种解释。

同样的,我认为在这个成长的过程中,我一定也成为过别人心中眼高手低的人。

我在这里能分享给大家的经验就是,在工作中多学习少争论,多和厉害的人走近一点,虚心把对方的东西都学过来,长此以往你会进步神速,这不是你在网上学习能得到的,一定是在工作中。


4、高级Javaer都有过的想法

444.png

这里我为什么专门画出来,因为很多高级javaer一定有过类似的想法,就是发现了Java并不擅长做并发编程,是否可以用其他语言来完成,而Java只做他自己擅长的事。

至少我以前就想过,可现实层面我认为是异想天开的,尤其是工作中,基本都是团队开发,这种想法就已经几乎被pass掉了,同时为了某一个领域的实现专门引入一门编程语言甚至体系,得不偿失,毕竟Java不擅长但却成熟,光是网上卖课郎告诉你的就有N种诸如《Java千亿级高并发解决方案》、《Java万亿级电商实战》等等这样的受用终生的鬼东西。

而你辛辛苦苦跟着学完后,发现玛德用不上,就像你学了《九阴真经》后以为可以当武林盟主最终却进了铁匠铺,而铁匠铺老板还不想听你鬼扯只想让你每天加班多打几把武器。

图片中我还画了个圈,我想不少人应该知道这门语言,还蛮有名的,就是国内不太火,这有编程历史因素在里面,其实还有一门语言也蛮适合的,而且这几年也挺火,我想你也猜到了,我觉得5年+的Java工程师都应该关注甚至学习一下。


5、我和大佬不谋而合

555.png

这是接近尾声的部分了,也是这位作者熟悉的笔法,发泄完自己的情绪后又开始对Java的某新版本极尽赞美,典型的被PUA了。

但不得不说,Java8我也认为是革命性的版本,在这个版本发布以前,作为Java工程师你甚至不会想到它敢做到这个地步,就像布鲁斯书中讲的,这是史诗般的魔法。

你可以在Java8的版本里发现一些其他语言的影子,这没什么,天下语言一大抄,发展到一定程度,已经是避免不了的趋势了。

重要的是,这个版本给Java上油了,为后续的版本提供了活力,而Java17作为官方长久支持版本的其中一个非常重要的版本,你可以发现有其他框架给它背书,比如SpringBoot3只支持Java17,而Jenkins也宣布在新版本放弃Java8并且该团队更推荐Java17,IDEA后续新版本可能也会放弃Java8,这明显就是小圈子,有利益的勾连,但对Java本身发展不是坏事。

Portanto, os principais pontos de tecnologia do Java8 devem ser aprendidos. tecnologias principais da versão Java8, CompletableFuture Como a maior melhoria na programação simultânea Java8, leva tempo para aprender, o que também é mencionado pelo autor deste livro, e um grande capítulo é dedicado ao CompletableFuture posteriormente.

Embora o autor sempre tenha enfatizado para não usar concorrência, ele passou muito tempo nas ferramentas de programação concorrente do Java 8. Eu pessoalmente acho que ele é mais agradável de ver, mas muitas vezes perguntamos sobre coisas relacionadas a essa ferramenta em nossas entrevistas. , ainda é útil ver o entendimento do grandalhão sobre a ferramenta.


Resumir

Para ser sincero, o livro "On Java", não acho que o "Thinking In Java" do autor esteja bem escrito, pode ter muitos motivos.

Deixe-me dizer qual é o principal sentimento de que me sinto mal. Primeiro, a tradução em alguns lugares não é boa, o que vai causar confusão. Segundo, alguns casos dados pelo autor têm um estilo próprio, e eu não acho os exemplos são tão simples e fáceis.

Mas ainda vale a pena assistir no geral, principalmente ele intercalava muitas comparações com outras linguagens como C/C++, GO, etc., e também incluía seu próprio entendimento de Java, principalmente algumas ideias de programação são bem diretas, e finalmente deu um monte de sempre Com quase 70 guias de programação, acho que é útil para iniciantes configurar ideias de programação em trabalhos futuros.

As palavras do autor são carregadas de um gosto forte de não recomendar o uso de programação concorrente, acho que é a experiência dele de trabalhar por muitos anos, para que todos possam aprender com o pensamento do irmão mais velho em trabalhos futuros.

Bem, eu só te levei para ler o livro hoje. Você está feliz com isso?



Meu artigo original é puramente escrito à mão. Se você sentir que há um pouco de ajuda, por favor, curta e colete ~

Há muito tempo compartilhei meus insights, experiências e casos práticos no meu trabalho. Se você gostar, também pode acessar minha página pessoal e segui-la~

Supongo que te gusta

Origin juejin.im/post/7147523943321042980
Recomendado
Clasificación