Adakah nodejs js?

Nov 01, 2021 pm 03:34 PM
javascript js nodejs

Nodejs bukan js, tetapi platform yang membenarkan js dijalankan pada pelayan. js (nama penuh JavaScript) ialah bahasa pengaturcaraan, dan Node ialah persekitaran berjalan JavaScript berdasarkan enjin Chrome V8, platform pembangunan yang membenarkan JavaScript berjalan pada pelayan.

Adakah nodejs js?

Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 12.19.0, komputer DELL G3.

Nodejs bukan js, tetapi platform yang membenarkan js dijalankan pada pelayan.

Node.js telah dikeluarkan pada Mei 2009 dan dibangunkan oleh Ryan Dahl Ia adalah persekitaran berjalan JavaScript berdasarkan enjin Chrome V8 Ia menggunakan model I/O yang dipacu peristiwa untuk membenarkan JavaScript untuk dijalankan dalam Platform pembangunan sebelah pelayan yang menjadikan JavaScript sebagai bahasa skrip setanding dengan bahasa sebelah pelayan seperti PHP, Python, Perl dan Ruby.

JavaScript boleh melaksanakan pengaturcaraan sebelah pelayan berdasarkan teknologi Node.js.

Ciri Node.js

Io tak segerak tidak menyekat

Sebagai contoh, apabila mengakses Apabila pangkalan data memperoleh data, ia mengambil sedikit masa. Dalam mekanisme pemprosesan satu utas tradisional, selepas melaksanakan kod untuk mengakses pangkalan data, keseluruhan utas akan berhenti seketika dan menunggu pangkalan data mengembalikan hasilnya sebelum melaksanakan kod berikutnya. Dalam erti kata lain, I/O menyekat pelaksanaan kod dan sangat mengurangkan kecekapan pelaksanaan program.

Disebabkan mekanisme I/O tidak menyekat yang digunakan dalam Node.js, selepas kod yang mengakses pangkalan data dilaksanakan, kod di belakangnya akan dilaksanakan dan kod pemprosesan untuk pangkalan data mengembalikan hasil akan diletakkan dalam fungsi panggil balik, sekali gus meningkatkan kecekapan pelaksanaan program.

Apabila I/O selesai, utas yang menjalankan operasi I/O akan dimaklumkan dalam bentuk acara dan utas akan melaksanakan fungsi panggil balik acara ini. Untuk mengendalikan I/O tak segerak, utas mesti mempunyai gelung peristiwa, sentiasa menyemak sama ada terdapat peristiwa yang tidak dikendalikan dan memprosesnya secara bergilir.

Dalam mod menyekat, satu utas hanya boleh mengendalikan satu tugasan Untuk meningkatkan daya pemprosesan, pelbagai benang mesti digunakan. Dalam mod tidak menyekat, benang sentiasa menjalankan operasi pengiraan, dan penggunaan teras CPU bagi benang ini sentiasa 100%. Oleh itu, ini adalah penyelesaian falsafah yang khusus: Daripada membuat ramai orang terbiar, adalah lebih baik bagi seseorang untuk mempertaruhkan nyawanya dan bekerja hingga mati.

Berutas tunggal

Dalam bahasa sebelah pelayan seperti Java, PHP atau .net, urutan baharu dibuat untuk setiap sambungan pelanggan. Setiap urutan memerlukan lebih kurang 2MB memori. Dalam erti kata lain, secara teorinya, bilangan maksimum pengguna yang boleh disambungkan ke pelayan dengan memori 8GB pada masa yang sama adalah kira-kira 4,000. Untuk membolehkan aplikasi Web menyokong lebih ramai pengguna, bilangan pelayan perlu ditambah, dan kos perkakasan aplikasi Web sudah tentu akan meningkat.

Node.js tidak mencipta urutan baharu untuk setiap sambungan pelanggan, tetapi hanya menggunakan satu urutan. Apabila pengguna menyambung, peristiwa dalaman dicetuskan Melalui mekanisme I/O yang tidak menyekat dan dipacu peristiwa, program Node.js adalah selari secara makroskopik. Menggunakan Node.js, pelayan dengan memori 8GB boleh mengendalikan lebih daripada 40,000 sambungan pengguna secara serentak.

Selain itu, dengan faedah benang tunggal, sistem pengendalian tidak lagi mempunyai masa overhed untuk penciptaan dan pemusnahan benang. Walau bagaimanapun, threading tunggal juga mempunyai banyak kelemahan, yang akan diterangkan secara terperinci dalam keburukan Node.js, sila teruskan membaca.

Didorong peristiwa

Dalam Node, apabila pelanggan meminta untuk mewujudkan sambungan, menyerahkan data dan gelagat lain, peristiwa yang sepadan akan dicetuskan. Dalam Node, hanya satu fungsi panggil balik acara boleh dilaksanakan pada satu masa, tetapi di tengah-tengah melaksanakan fungsi panggil balik acara, peristiwa lain berlaku dan acara lain boleh diproses sebaliknya (contohnya, pengguna baharu menyambung), dan kemudian Kembali fungsi panggil balik yang terus melaksanakan acara asal mekanisme pemprosesan ini dipanggil mekanisme "gelung peristiwa".

Lapisan bawah Node.js ialah C (V8 juga ditulis dalam C). Hampir separuh daripada kod asas digunakan untuk pembinaan baris gilir acara dan baris gilir fungsi panggil balik. Menggunakan didorong peristiwa untuk melengkapkan penjadualan tugas pelayan adalah sesuatu yang hanya boleh difikirkan oleh seorang genius. Tarian di hujung jarum, dengan satu utas, mengambil misi mengendalikan banyak tugas.

Adakah nodejs js?

Perhatikan gelung acara di sini, yang juga boleh dikatakan sebagai intipati Node.js Berikut ialah petikan daripada tapak web rasmi Node.js >

  ┌───────────────────────────┐
┌─>│           timers          │
│  └─────────────┬─────────────┘
│  ┌─────────────┴─────────────┐
│  │     pending callbacks     │
│  └─────────────┬─────────────┘
│  ┌─────────────┴─────────────┐
│  │       idle, prepare       │
│  └─────────────┬─────────────┘      ┌───────────────┐
│  ┌─────────────┴─────────────┐      │   incoming:   │
│  │           poll            │<─────┤  connections, │
│  └─────────────┬─────────────┘      │   data, etc.  │
│  ┌─────────────┴─────────────┐      └───────────────┘
│  │           check           │
│  └─────────────┬─────────────┘
│  ┌─────────────┴─────────────┐
└──┤      close callbacks      │
   └───────────────────────────┘
Salin selepas log masuk
Memetik petikan daripada tapak web rasmi Node:

Nota: Setiap kotak akan dipanggil "peringkat" gelung acara.

Setiap peringkat mempunyai baris gilir panggilan balik FIFO untuk dilaksanakan. Walaupun setiap peringkat adalah istimewa dengan caranya sendiri, secara amnya apabila gelung acara memasuki peringkat tertentu, ia akan melaksanakan sebarang operasi khusus untuk peringkat itu dan kemudian melaksanakan panggilan balik pada baris gilir peringkat tersebut sehingga baris gilir habis atau bilangan panggilan balik maksimum telah telah dilaksanakan. Apabila baris gilir habis atau had panggil balik dicapai, gelung acara bergerak ke fasa seterusnya, dan seterusnya.
Mengenai gelung acara, yang merupakan titik teras, penemuduga sering bertanya soalan tentang output pelaksanaan tertentu Anda boleh membaca artikel saya

Merentas platform.

Pada mulanya, Node hanya boleh dijalankan pada platform Linux. Kemudian, dengan pembangunan Node, Microsoft menyedari kewujudannya dan melaburkan satu pasukan untuk membantu Node mencapai keserasian dengan platform Windows Apabila versi v0.6.0 dikeluarkan, Node sudah boleh berjalan terus pada platform Window. Nod ialah platform merentas berdasarkan libuv.

Kelemahan Node.js

Kelemahan utas tunggal

Node.js Salah satu ciri-ciri adalah single-threading, yang membawa banyak faedah, tetapi ia juga mempunyai kelemahan Kelemahan single-threading adalah seperti berikut.

  • Tidak dapat menggunakan CPU berbilang teras

  • Ralat akan menyebabkan keseluruhan aplikasi keluar dan tidak boleh terus memanggil I/O tak segerak

  • Sejumlah besar pengiraan menduduki CPU, menjadikannya mustahil untuk terus memanggil I/O tak segerak

Senario aplikasi daripada Node.js

Memperkenalkan ciri dan keburukan Node.js, dan kemudian bercakap tentang senario aplikasi Node.js.

Apakah jenis aplikasi Node.js sesuai untuk dibangunkan?

Pandai I/O, tak pandai kira. Kerana Node.js adalah yang terbaik dalam penjadualan tugas, jika perniagaan anda mempunyai banyak pengiraan CPU, ini sebenarnya bermakna pengiraan ini menyekat urutan tunggal ini, yang tidak sesuai untuk pembangunan Node, tetapi ia bukan tanpa penyelesaian, hanya dengan mengatakan Tidak cukup sesuai.

Node.js sangat sesuai apabila aplikasi perlu mengendalikan sejumlah besar I/O serentak dan tidak memerlukan pemprosesan yang sangat kompleks dalam aplikasi sebelum menghantar respons kepada pelanggan. Node.js juga sangat sesuai untuk bekerja dengan soket web untuk membangunkan aplikasi interaktif masa nyata dengan sambungan yang panjang.

Senario khusus boleh dinyatakan seperti berikut:

  • Kategori pertama: sistem pengumpulan borang pengguna, sistem pengurusan latar belakang, sistem interaksi masa nyata, sistem peperiksaan, rangkaian perisian, aplikasi web Concurrency mewah;

  • Kategori kedua: permainan dalam talian berbilang pemain berdasarkan web, kanvas dan lain-lain

  • Yang ketiga kategori : Pelanggan sembang masa nyata berbilang orang berasaskan web, ruang sembang, siaran langsung grafik; 🎜 >

    Kategori kelima: mengendalikan pangkalan data, menyediakan API berasaskan json untuk terminal hadapan dan mudah alih;
  • Kategori keenam,…
  • Syarikat besar manakah yang menggunakannya?
Yahoo: Yahoo telah membuka rangka kerja Cooktail, memperluaskan keupayaan rangka kerja bahagian hadapan YUI3 kepada bahagian pelayan dengan bantuan Node.

Tencent: Gunakan Nod pada sambungan panjang untuk menyediakan kefungsian masa nyata.
  • Huaban.com, Mogujie: Pemberitahuan masa nyata melalui socket.io.
  • Alibaba: Kegunaan utama ialah prestasi I/O selari untuk mencapai pengedaran yang cekap Mereka juga mempunyai banyak rangka kerja Nod
  • LinkedIn: Tapak web mudah alih juga menggunakan Node
  • NetEase: Medan permainan mempunyai keperluan yang tinggi untuk konkurensi dan masa nyata, dan NetEase mempunyai rangka kerja masa nyata Node sumber terbuka pomelo
  • Tunggu...
  • [Pembelajaran yang disyorkan: "
  • tutorial nodejs
  • "]

Atas ialah kandungan terperinci Adakah nodejs js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Adakah nodejs rangka kerja bahagian belakang? Adakah nodejs rangka kerja bahagian belakang? Apr 21, 2024 am 05:09 AM

Node.js boleh digunakan sebagai rangka kerja bahagian belakang kerana ia menawarkan ciri seperti prestasi tinggi, kebolehskalaan, sokongan merentas platform, ekosistem yang kaya dan kemudahan pembangunan.

Bagaimana untuk menyambungkan nodejs ke pangkalan data mysql Bagaimana untuk menyambungkan nodejs ke pangkalan data mysql Apr 21, 2024 am 06:13 AM

Untuk menyambung ke pangkalan data MySQL, anda perlu mengikuti langkah berikut: Pasang pemacu mysql2. Gunakan mysql2.createConnection() untuk mencipta objek sambungan yang mengandungi alamat hos, port, nama pengguna, kata laluan dan nama pangkalan data. Gunakan connection.query() untuk melaksanakan pertanyaan. Akhir sekali gunakan connection.end() untuk menamatkan sambungan.

Apakah pembolehubah global dalam nodejs Apakah pembolehubah global dalam nodejs Apr 21, 2024 am 04:54 AM

Pembolehubah global berikut wujud dalam Node.js: Objek global: modul Teras global: proses, konsol, memerlukan pembolehubah persekitaran Runtime: __dirname, __filename, __line, __column Constants: undefined, null, NaN, Infinity, -Infinity

Adakah terdapat perbezaan besar antara nodejs dan java? Adakah terdapat perbezaan besar antara nodejs dan java? Apr 21, 2024 am 06:12 AM

Perbezaan utama antara Node.js dan Java ialah reka bentuk dan ciri: Didorong peristiwa vs. didorong benang: Node.js dipacu peristiwa dan Java dipacu benang. Satu-benang vs. berbilang benang: Node.js menggunakan gelung acara satu-benang dan Java menggunakan seni bina berbilang benang. Persekitaran masa jalan: Node.js berjalan pada enjin JavaScript V8, manakala Java berjalan pada JVM. Sintaks: Node.js menggunakan sintaks JavaScript, manakala Java menggunakan sintaks Java. Tujuan: Node.js sesuai untuk tugas intensif I/O, manakala Java sesuai untuk aplikasi perusahaan besar.

Apakah perbezaan antara fail npm dan npm.cmd dalam direktori pemasangan nodejs? Apakah perbezaan antara fail npm dan npm.cmd dalam direktori pemasangan nodejs? Apr 21, 2024 am 05:18 AM

Terdapat dua fail berkaitan npm dalam direktori pemasangan Node.js: npm dan npm.cmd Perbezaannya adalah seperti berikut: sambungan berbeza: npm ialah fail boleh laku dan npm.cmd ialah pintasan tetingkap arahan. Pengguna Windows: npm.cmd boleh digunakan daripada command prompt, npm hanya boleh dijalankan dari baris arahan. Keserasian: npm.cmd adalah khusus untuk sistem Windows, npm tersedia merentas platform. Cadangan penggunaan: Pengguna Windows menggunakan npm.cmd, sistem pengendalian lain menggunakan npm.

Adakah nodejs bahasa pembangunan bahagian belakang? Adakah nodejs bahasa pembangunan bahagian belakang? Apr 21, 2024 am 05:09 AM

Ya, Node.js ialah bahasa pembangunan bahagian belakang. Ia digunakan untuk pembangunan bahagian belakang, termasuk mengendalikan logik perniagaan sebelah pelayan, mengurus sambungan pangkalan data dan menyediakan API.

Bagaimana untuk menggunakan projek nodejs ke pelayan Bagaimana untuk menggunakan projek nodejs ke pelayan Apr 21, 2024 am 04:40 AM

Langkah-langkah penggunaan pelayan untuk projek Node.js: Sediakan persekitaran penggunaan: dapatkan akses pelayan, pasang Node.js, sediakan repositori Git. Bina aplikasi: Gunakan npm run build untuk menjana kod dan kebergantungan yang boleh digunakan. Muat naik kod ke pelayan: melalui Git atau Protokol Pemindahan Fail. Pasang kebergantungan: SSH ke dalam pelayan dan gunakan pemasangan npm untuk memasang kebergantungan aplikasi. Mulakan aplikasi: Gunakan arahan seperti node index.js untuk memulakan aplikasi, atau gunakan pengurus proses seperti pm2. Konfigurasikan proksi terbalik (pilihan): Gunakan proksi terbalik seperti Nginx atau Apache untuk menghalakan trafik ke aplikasi anda

Mana satu untuk dipilih antara nodejs dan java? Mana satu untuk dipilih antara nodejs dan java? Apr 21, 2024 am 04:40 AM

Node.js dan Java masing-masing mempunyai kebaikan dan keburukan dalam pembangunan web, dan pilihan bergantung pada keperluan projek. Node.js cemerlang dalam aplikasi masa nyata, pembangunan pesat dan seni bina perkhidmatan mikro, manakala Java cemerlang dalam sokongan, prestasi dan keselamatan gred perusahaan.

See all articles