Sıfır temel girişle java öğrenmek için kariyerinizi değiştirirseniz nasıl Java yazılım mühendisi olunur!

Java işte ne için kullanılır? Java nasıl öğrenilir? Java öğrenmek karmaşık mı? İngilizce iyi değilse Java'yı iyi öğrenebilir miyim? Her şeyden önce, ben sadece sıradan bir yazılım mühendisiyim, işe gittiğimde kod yazmam gerekiyor ve işten sonra bir bebek getirmem gerekiyor. Özel mesajlara tek tek cevap veremiyorum, lütfen beni affet, ancak sorularınızı reddetmek istemiyorum, bu yüzden Java yazılımı nasıl olunur hakkında konuşmak için bu makaleyi açıyorum mühendis?

İlk olarak, Java öğrenmek ne için kullanılabilir? Java için mevcut istihdam talimatları nelerdir? Aşağıdaki resme bir göz atalım

Yukarıdaki şekil en önemli iki yönü gösteriyor: Java Web ve Ardroid Aslında sık sık bahsettiğimiz Java yazılım mühendisleri, Java Web yazılım mühendislerini veya Java arka uç (sunucu) mühendislerini aramak daha uygun diye düşünüyorum. Java Web'in yapabileceği pek çok şey var.Ürünleri bulmak için Taobao kullandığımızda, URL'yi girmek için tarayıcıyı açıyoruz, ürün adını giriyoruz ve ara düğmesine tıklıyoruz. Şu anda, ön sayfa (tarayıcı) ürün adını HTTP protokolü aracılığıyla Java sunucusuna iletir. Java sunucusu, veri tabanından veri almak ve geri döndürmek için JDBC teknolojisini kullanır, ardından bunları web içeriğinde birleştirip tarayıcıya geri döndürür ve ardından kullanıcıya gösterir. Java Web hakkında ağ istek protokolü (HTTP, vb.), Web ön uç teknolojisi, Java sunucu teknolojisi, JDBC, veritabanı vb. Gibi öğrenilmesi gereken birçok şey vardır.

Android'in öğrenmesi gereken biraz daha az şey var. Android genellikle bir istemci yazılımıdır ve temelde sunucuyu içermez. Teorik olarak, sunucu teknolojisini (gri kutudaki içerik) ve arka uç veritabanını görmezden gelebilirsiniz, ancak bence bir tane yapmamız gerekiyor Kalifiye Android mühendisleri, bunları anlamak için hala zaman harcamaya ihtiyaç duyar. Benzer şekilde, Android mühendislerinin de ağ istek protokollerini (HTTP, vb.) Öğrenmeleri gerekir Sonuçta, veritabanından veri almak ve APP'de görüntülemek için Web sunucusunu da kullanmaları gerekir. Şu anda, karma geliştirmeye (yerel + HTML5) sahip giderek daha fazla uygulama var, bu nedenle yine de bazı ön uç bilgileri öğrenmeniz gerekiyor.

Android yön haritasındaki web sunucusunun Java veya C # gibi diğer dillerde yazılabileceğini, ancak Android programcılarının dikkat etmesine gerek olmadığını unutmayın.

Java Web veya Ardroid öğrenmek ne olursa olsun, Java Basics (J2SE) bir zorunluluktur.Bu iki yolun içeriğini ayrıntılı olarak açıklayacağım. Temelde ortadan kaldırılmış bazı masaüstü programları (Swing / awt), gömülü geliştirme (J2ME) ve JavaFX geliştirme de vardır.Bir iş bulmak kolay değildir, herkesin öğrenmesi tavsiye edilmez. Aşağıda, referansınız için Pekin'deki büyük bir işe alım web sitesi tarafından aranan çeşitli pozisyonların işe alım verileri yer almaktadır.

Ayrıca Java'nın büyük bir veri (Hadoop) yönü vardır, ancak yeni gelenlerin bu yönü seçmeleri ve dahil olmadan önce belirli bir miktar iş deneyimi beklemeleri tavsiye edilmez.

Birçok kişi bana özel mesajlarda soruyor, Java istihdam ortamı nasıl? Java'yı öğrenmek zor mu? Matematikte iyi değilseniz Java'yı iyi öğrenebilir misiniz?

Bu resmi gösterme zamanı:

Aynı zamanda java öğreniyorsanız, java öğrenmeye başlama sürecinde karşılaşmışsınızdır: öğrenme, endüstri sorunları, başlık numarama dikkat edebilirsiniz, arka planda özel mesaj bana: java, benimle iletişim kurabilirsiniz.

Yukarıdaki resim, Ağustos 2017'deki programlama dili sıralamasıdır. 2016 yılına göre düşmesine rağmen ilk birkaçının genel olarak düştüğü görülmektedir. Düşüşün nedeni yeni çıkan birçok dilin yükselişidir. Düşüşe rağmen, Java hala sıralamaların en üstünde yer alıyor, bu nedenle Java'nın iş piyasası beklentileri diğer dillere kıyasla hala nispeten avantajlı.

Ek olarak, Java basit ve öğrenmesi kolay.Java C benzeri bir dildir. Sözdizimi C / C ++ 'dan pek farklı değildir.Herkesin okuldayken biraz C veya C ++ öğrendiğine inanıyorum, bu yüzden çoğu öğrenmesi kolay.Java da C ++ dilini terk etti. Operatör aşırı yükleme, çoklu kalıtım, otomatik tür dönüştürme gibi nadiren kullanılan, anlaşılması zor ve kafa karıştırıcı birkaç özellik. C / C ++ 'dan farklı olarak Java, JVM (Java Sanal Makinesi) üzerinde çalışır. Aşağıda gösterildiği gibi

JVM, temeldeki işletim sisteminin ayrıntılarını korur ve geliştiriciler için bellek ayırma ve geri dönüşüm gibi pek çok şey yapar. Bu nedenle, Java geliştiricilerinin programları yazarken bellek ayırma ve geri dönüşümü dikkate almaları veya bellek parçalanmasını dikkate almaları gerekmez. Soru, işin bu kısmı JVM tarafından tamamlandı. Java dilinin çapraz platform olabilmesinin nedeni budur (bir kez derleyin, her yerde çalıştırın). Diğer bir deyişle, makine JVM'yi kurabildiği sürece, teorik olarak Java ile yazılmış tüm programlar çalıştırılabilir. Bazı insanlar C # 'ın da çok basit olduğunu, bellek ayırmaya ve geri almaya gerek olmadığını ve dil tasarımının Java'dan daha iyi olduğunu söyler, neden C # seçilmesin? Evet, bu soruyu inkar etmiyorum. Büyük bir web sitesinin işe alım verilerine bir göz atalım:

Konum: Pekin, Java anahtar kelimesini arayın, 24564 konum sağlayın, C # arayın, 6177 konum sağlayın. Java hala sıralamalara uygun olarak çok daha fazla istihdam fırsatı sunuyor.

Özetle, yeni başlayanlar ve iş arama için Java'yı öneririm. Aslında, başlamak için hangi dili seçeceğiniz konusunda endişelenmenize gerek yok. Örneğin, Java ve C # temelde düşüncede aynıdır. Evet, Java bunu yapacak, C # sözdizimi ve çevreye aşina olduktan hemen sonra el yazısını yazabilecek ve bunun tersi de geçerli olacak.

Java'nın matematik için düşük gereksinimleri vardır ve yaygın olarak kullanılan veri yapıları ve algoritmalar zaten kapsüllenmiştir. Java esas olarak kurumsal düzeydeki uygulamalar, büyük ölçekli web siteleri vb. İçin kullanılır. Esas olarak bilimsel hesaplamaları değil iş mantığını işlemek içindir, bu nedenle matematikte iyi olmayan arkadaşlar endişelenmemelidir. Java kodu yazmak için İngilizce çok zorlayıcı değildir. Çoğu bir bakışta bilinen düzinelerce anahtar kelime vardır, örneğin if, else, while, for, for, for, public, private vb. Eski kuşları görmez Ekranın tamamı İngilizce ve korkutucu. Aslında, bu İngilizce sadece değişken isimlerdir. Hepsi kendi başlarına yapılmış isimlerdir. Zayıf İngilizce'nin Java programları yazma üzerinde çok az etkisi olmasına rağmen, İngilizce API yardım belgelerini okumak daha zordur. JDK bilgileri yalnızca İngilizce'dir ve JDK kaynak kodu da İngilizce olarak ek açıklamalıdır, ancak çok dikkatli olmanıza gerek yoktur. Çoğu API Çince olarak bulunabilir, ancak her zaman orijinal sürüme bakacağınızdan emin olabilirsiniz. Bu nedenle, lütfen mümkün olduğunca İngilizce öğrenmeye çalışın. Yabancı bir iş zorunlu değildir (yüksek maaş).

Java Web ve Android öğrenmek için hangi becerileri öğrenmemiz gerektiğine bir göz atalım. İlk olarak, iş sitesinde Java Web yazılım mühendislerini arayın ve rastgele birkaç pozisyon açın:

Java'nın temellerinden bahsetmemek gerekirse, JavaScript, JQuery, Ajax, JSP, HTML5, Oracle, DB2, çerçeve, şablon, Servlet, Spring, SpringMVC, Struts, Mybatis / ibatis, veritabanı, MySql vb. Gibi öğrenmeye odaklanmalıyız. Bekle, gerçekten gözüm kamaşmıştı ve bazı arkadaşlarımın geri çekileceğinden o kadar korktum ki, aralarında Spring, SpringMVC, Struts, Mybatis / ibatis, MySQL en çok ortaya çıktı ve bazı kelimeler yeni başlayanlar tarafından duyulmamış olabilir. Korkmayın. Yukarıda bahsedilen terimlerin çoğu çerçevelerdir. Çerçevelerin temel amacı üretkenliği artırmak ve herkesin gelişimini standartlaştırmaktır. Yani, başka biri yazarsa, sadece projede kullanın. Çerçeve nedir? ? Projeyi öğrenmeye ilk başladığınızda çerçeveyi kullanmayın, alt katmanı anlamanıza yardımcı olacaktır.

Yukarıda belirtildiği gibi, ister Android ister Java Web yönü, JavaSE (Java Foundation) kilit noktadır ve iyi bir temel oluşturmalıyız. Bunların arasında Swing / awt ile ilgili bilgiler atlanabilir.Yukarıdaki resimdeki istemci, sunucu ve veritabanı Tüm bilgileri kapsamalısınız ve öğrenmeniz gereken ana şeyler aşağıdaki gibidir ki bu çok ferahlatıcıdır.

Web istemcisi (Web ön ucu): JavaScript, HTML, CSS

Java sunucusu: JDBC, Servlet / JSP, vb.

Veritabanı: MySQL

Yukarıdakiler arasında, Java sunucusu en önemlisidir, MySQL veritabanı da çalışılmalıdır ve web ön ucunun da anlaşılması gerekir.İşteki web ön ucunun kodu genellikle ön uç mühendisler tarafından yazılır, ancak anlamalı ve ekleyebilmeliyiz Bazı komut dosyası etiketlerinde vb. Önerim, Java'nın temellerini öğrendikten hemen sonra MySQL ve JDBC'yi öğrenmek ve öğrenmek için İnternette Öğretmen Wang Yong'un DRP projesini bulmaktır.Bu proje sadece ön uç temellerinden bahsetmekle kalmaz, aynı zamanda Java sunucusunda uzmanlaşmalıdır. İçerik ayrıntılı olarak anlatılmıştır. DRP projesini ciddi bir şekilde inceledikten sonra, zaten yazılım geliştirme yeteneğine sahibim, ancak işletmeye girmek yeterli değil, çünkü gerçek işte işletmeler genellikle çerçeveler kullanıyor ve birçok çerçeve var. Yaygın olarak bilinen SpringMVC, Spring, Mybatis'i öğrenmenizi tavsiye ederim. SSM, bu videoları internetten indirmek kolaydır.İndirdikten sonra tek tek öğrenebilir ve daha sonra bunları DRP projesine tek tek entegre edebilirsiniz.Eğer alıştıktan sonra özgeçmiş hazırlamayı düşünebilirsiniz.Yukarıdaki SSM çerçevesinin öğrenme deneyimine sahipsiniz. Ve yakında diğer çerçeveleri de öğrenin.

Android'e geri dönüp, bir göz atmak için işe alım web sitesindeki Andriod mühendisi konumuna tıklayın:

Android olan Java dışında Android gereksinimleri benzerdir. Öğrenmek için İnternette video arayabilirsiniz.

Java Web'i veya Android'i seçmeye gelince, herkes seviyor, enerjiniz varsa çalışabilirsiniz.

Öğrenme zorluğu: Java Web > Android

İş arıyor: Java Web > Android

Uzun vadeli geliştirme: Java Web > Android

Java Web'in rotası biraz daha karmaşık görünüyor, ama aslında zor değil.Sadece birçok şeyi içeriyor.Birçok insan yarısını öğrendikten sonra ona bağlı kalamıyor. Zorluk değil kalıcılık kaybediyorlar.

Biri bana özel olarak sordu, okurken kodu hatırlayamazsam ne yapmalıyım? Her şeyden önce, öğrenme sürecinde net olmalıyız. Java'yı sınavlarla uğraşmayı değil, iş bulmayı öğreniyoruz. Okuldaki tüm stilleri unutun, kodu ezberlemeyin, kilit noktaları vurgulayın, anahtar bunu yapmaktır, yazılım Mühendislik pratik bir konudur.Öğrenme sürecinde sadece izlemek ve dinlemek yeterli değildir.Öğrendiğiniz her bilgi noktasını anlamalı, kodu elle yazmalı ve sonra bir sonraki bilgi noktasına devam etmelisiniz. Lei Jun'un bir makalesi var: Programcılar için beş öneri, bunlardan biri 100.000 satıra kadar kod yazmanız gerektiğidir. Bu görüşe katılıyorum. Bunu yapmazsanız ilerleme kaydedemezsiniz. Kod yazmak mükemmel yapan teknik bir iştir. Yeterli kodunuz varsa, usta olamazsınız, bu nedenle, daha fazla kod yazmanız, daha fazla kod yazmanız ve daha fazla kod yazmanız gerekir.

Öğrenirken, en azından bağımsız olarak küçük bir Web projesi yapmak için öğrenmenin ana çizgisini kavramalı ve ardından başka şeyler öğrenmeyi daha da düşünmeliyiz. Bazı insanlar Java'nın temellerini öğrenme sürecinde çoklu iş parçacığını öğrenirler ve çoklu okuma konusunda uzmanlaşmış bazı kitapları bulmaya gitmeden önce teoriyi anlamaları gerekir.Bazı insanlar Java'nın yeni bir nesne olduğunu söyleyen bazı makaleler görür. Yığın hafızasında bir alan açıldığında, yığın hafızasını incelemek ve ardından JVM'yi incelemek gerekir.Böyle bir öğrenme yöntemi tavsiye edilmez.Başlangıç aşamasında, anlamak, pratik yapmak ve bir iş bulmak için önce kilit noktaları kavramayı öğrenmelisiniz. Tanrım, önce bir şeyden vazgeçmeyi öğrenmeli ve bilmek istediğin şeyleri çalışmak için fazladan zamanın olana kadar beklemelisin. Bir şey daha, öğrenme sürecinde yanlış köşelere girmeyin. Saç tokam var. Çok parçacıklı kilitlenmeyi öğrendim. Yaşamı ve ölümü anlayamadığım için pes ettim. Daha acınası bir tane var. Eğitim sınıfında anonim dahili dersler öğrendim. Bunun ne için olduğunu düşünüyordum, neden anonim bir iç sınıf var, öğretmen sınıfın arkasına gitti ve ben devam etmeye istekli olmadan önce her kelime iyice anlaşılsa bile, Java'nın temelleri henüz öğrenilmedi. Ondan sonra geride kaldım ve okulu bırakmak istedim, ancak eğitim organizasyonu geri çekilmedi. Çalışmanın ilk aşamasında şimdilik anlayamadığınız bir şeyle karşılaşırsanız, bir ara verin, dışarı çıkın ve egzersiz yapın, beyninizi düzgün bir şekilde gevşetin, sakinleşin ve düşünün ve belki onu tekrar görürsünüz. Hala anlayamıyorum, sadece atlayın ve sonra öğrenin, belki arkayı görürsünüz ve aniden cephenin neden yaptığını anlarsınız.

Kodda hata ayıklama sürecinde ufak bir hata olduğu müddetçe sorun çıkaran bazı arkadaşlar da var. Hataya yakından bakmıyorlar. Doğrudan İstisna yığının birkaç fotoğrafını alıyorlar ve bana özel bir mesaj gönderiyorlar, yardım için koda bakayım. Genellikle boş gösterici istisnasıdır ve dizi alt simgesi sınırların dışındadır, sanırım kendi başlarına okumadılar, bu yüzden doğrudan bana gönderdiler. Çalışırken sorunlardan korkmayın. Ben de dahil herkes böyledir. Hangi kod satırının bir hata bildirdiğini görmek için hata günlüğüne dikkatlice bakmanız, sorunun nedenini analiz etmeniz ve ardından sorunu giderip çözmeniz gerekir. Süreç, bilinçsiz bir ilerleme sürecidir. Projeyi kendiniz yazarken, web frontend, Java server ve veritabanının her linkinde problemler olabilir.Adım adım kontrol etmek gerekir.Önce web frontend değerinin Java sunucusuna geçip geçmediğine ve Java sunucusunun orada olup olmadığına bakın. Veritabanına aktarım, eğer veri tabanında herhangi bir veri varsa vs., daha dikkatli olursan sorunu bulacaksın ama yine de çözülemez. Sadece Baidu. Baidu çıkmayacak. Yaşlılara ve çevrenizdeki uzmanlara sorun. Hala çözemiyor musunuz? O zaman değer için git ya da pirinç topuma katıl ve bana sor, hehe.

Birisi bana kendi başıma okumanın mı yoksa sistematik eğitim için bir eğitim kurumuna gitmenin mi daha iyi olduğunu sordu?

Hâlâ ikinci ve üçüncü sınıf öğrencisiyseniz ve hala çok zamanınız varsa, bunu kendi kendinize öğrenmenizi öneririm.Eğitim kurumları genellikle 10.000 ila 20.000 eğitim ücretine mal olur ki bu sıradan insanların karşılayabileceği bir şey değildir.Şimdi ağ kaynakları çok gelişmiş, ne istiyorsun? Temelde, bu tür bilgileri bulabilirsiniz, ancak kendi kendine çalışma süresi biraz daha uzundur ve yoldan sapmak kolaydır. Üniversitelerde verilen kurslar, C dili, C ++, Java, C # gibi diller, veri yapıları ve algoritmaları, montaj, yazılım mühendisliği vb. Yazılımla ilgili tüm şeyler, zaman harcamaya ve çok çalışmaya çalışın, olabildiğince çok öğrenin, hepsi faydalıdır .

Halihazırda çalışıyorsanız ve kariyerinizi Java öğrenmek için değiştirmek istiyorsanız, eğitim kurumlarına sistematik bir şekilde eğitim vermenizi tavsiye ederim. Zhihu'daki eğitim kurumlarının değerlendirilmesi pek iyi görünmüyor. Aslında, eğitimde hala başarılı olan birkaç tane var. Evet, insanları işe almak için bir eğitim organizasyonuna gittim, temelde hala kullanılabilir. Yeni öğrendiğimde çok fazla maaş istemeye cesaret edemedim. Ucuz ve iyi. Eğitim organizasyonlarının bir diğer avantajı da genellikle dört ila beş ay gibi zamandan tasarruf etmesidir. Eğer dışarı çıkıp iyi öğrenebilirsen bir iş bulman sorun değil.

Bu kadar çok şey söyledim, yakında bir eğitim kurumunun güveni olacağımı hissediyorum.Java öğrenmenin yine de çok zor olduğunu vurgulamak istiyorum.İster kendi kendine çalışma ister bir eğitim kurumu olsun, öğrenmeye uygun olup olmadığını görmek için lütfen önce bir öz değerlendirme yap. Java.

Son olarak, Java öğrenmeye karar verirseniz, lütfen Glory of the King, LOL, Fantasy Westward Journey'inizi geçici olarak bir kenara bırakın ve kendinizi önce öğrenmeye adayın. O zaman iyi öğrenmek veya iyi oynamak zorunda kalmazsanız eğitim sınıfının da parası olur. Eğer harcarsan ve hala başlamamış olsaydın, utanç verici olurdu.Eğer oyunu oynarsan, gönül rahatlığıyla oynamak zorundasın, sonuçta, bir zamanlar kralın ihtişamında kraldım.

"Herkesin bir Java geliştirme tanrısı olabileceğine inanıyoruz. Bundan sonra, öğrenmeye giden yolda kafanız karışmasın diye, başlamanız için size rehberlik edecek kıdemli bir arkadaş bulacağız. Burası, yeni başlayanların İnternet endüstrisine geçiş yaptığı java geliştirme eğitim enstitüsünün buluşma yeridir."

"Uzun yıllardır geliştirme ile uğraşan eski bir java programcısıyım. İstifa ettim ve şu anda kendi özelleştirilmiş java kurslarımı yapıyorum. Bu yılın başında, 2019'da öğrenmeye en uygun olan java öğreniminde kuru ürünleri derleyerek bir ay geçirdim. Temel javase'den ilkbahara kadar çeşitli çerçeveler düzenlenir ve her java ortağına gönderilir.Eğer almak isterseniz, başlık numaramı takip edebilir ve arka planda bana özel bir mesaj gönderebilirsiniz: java, ücretsiz olarak alabilirsiniz.

Orijinal adres: https://zhuanlan.zhihu.com/p/29222077

Yazar: İhlal durumunda sığ havuz, lütfen silin, teşekkür ederim.

İstifa düşünmek için harika bir şey, ama gerçekten yapamam
önceki
Mobil yazılımda film izlemek için sahip olunması gereken 5 uygulama
Sonraki
Gizli soslu dana eti! Yılbaşı sofrasında önemli bir yemek
Double 11, en çok satan kulaklık, bunlar en sıcak ve en popüler olanlar
Görüntü kalitesinin son sözü var, Samsung A8s ön kamera siyah gözbebeği tam ekran gerçek mücadele
9:00 Pekin saati ile futbol haberleri: Milan evinde Benevento'ya 0-1 kaybetti
Günlük Okumam 01 Ding Yun: "Su Marjım", "Ütopya" dan daha tanıdık geliyor
"The Valley of Light", yaratıcılık açısından biraz daha cesur olan Pekin Operası'na bir müzik tarzı dahil ediyor
Java'da String, StringBuilder ve StringBuffer'ı keşfedin
Dünya Kupası Günlük Hatırlama: Final 1V3 Sıfır Dünya Dalgası! Ama sonraki nesiller yavaş yavaş unutur
Zhengzhou-Jiangsu Yüksek Hızlı Demiryolu üzerindeki Zhengzhou Sarı Nehir Köprüsü'nün ilk sürekli çelik makas kirişi başarıyla inşa edildi
Shen Libin: Kurumsal Hizmette Yapay Zeka Uygulaması ve Keşfi
"Xaiyouji" Girişi: Akdeniz-Beş Günlük Malta Turunun Kalbi
Bu düşük maliyetli ofis eseri, çalışmanızı daha verimli hale getirir
To Top