バイトコードとは コンピュータの人気・最新記事を集めました - はてな (original) (raw)

バイトコード

(

コンピュータ

)

ばいとこーど

プログラムのデータ形式・実行形式のひとつ。プログラムを実行するランタイム(インタープリタ)での実行速度を向上するために、数値や命令のバイナリ化を行ったもの。バイトコードにすることで、1つのバイナリ(ファイル)でアーキテクチャの異なるコンピュータでも実行できる、個人がスクリプト言語を作る際に、インタープリタと比べ高速な実行が可能で、機械語コンパイラほどの手間をかけずに済むという利点がある。

このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。

関連ブログ

たけぞう瀕死ブログ4日前

Trino 461リリースノート日本語訳ここのところTrinoのリリースが週次ペースなのですが、その分一回の分量は控えめなのでどちらが楽なのか…。UIの改善はわかりやすくて良いですね。 原文はこちら: https://trino.io/docs/current/release/release-461.html General 実装にあわせてコンフィギュレーションプロパティmax-tasks-waiting-for-execution-per-stageをmax-tasks-waiting-for-execution-per-queryに、セッションプロパティmax_tasks_waiting_for_node_per_stageをm…

ネットで話題

もっと見る

440ブックマークJavaバイトコードの読み方 - プログラマーの脳みそnagise.hatenablog.jp

288ブックマークJavaバイトコード入門www.slideshare.net

148ブックマークなぜSQLiteはバイトコードを使うのかzenn.dev

141ブックマーク実行時におけるJVMバイトコード最適化手法speakerdeck.com

95ブックマーク知らなくても困らない Javaクラスのバイトコードの読み方 - A Memorandumblog1.mammb.com

87ブックマーク「ソースないけどバグ直して」をランタイムで可能にするJavaバイトコードプログラミング - Qiitaqiita.com

67ブックマークAdobe高速JavaScript実装、バイトコードにForthを採用 | エンタープライズ | マイコミジャーナルA Quick Introduction to Tamarin Tracing - by Chris Double氏 Webシステム開発用の言語としてJavaScriptが日に日に重要な位置を獲得しつつある。複雑なシステムを開発するとなるとその実行速度が問題視されるJavaScriptだが、コンパイル技術の導入やJITの導入で状況は改善されようとしている。特にFirefox 4で導入が予...journal.mycom.co.jp

65ブックマーク解剖Kotlin ~バイトコードを読み解く~speakerdeck.com

64ブックマークjsエンジンはソースコードをどう実行しているのか〜バイトコード、JITコンパイル〜zenn.dev

関連ブログ

土日の勉強ノート6日前

picoCTF 2024:Reverse Engineeringの全7問をやってみた(Windowsプログラムの3問は後日やります)前回 は、picoCTF の picoCTF 2024 のうち、Binary Exploitation をやってみました。全10問のうち、Hard の 1問目は解けず、2問目は後回しになりました。Hard 問題は、いきなりレベルが上がった気がします。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、Reverse Engineering というカテゴリの全7問をやっていきたいと思います。Medium が 7問です。 それでは、やっていきます。

土日の勉強ノート17日前

セキュリティコンテストチャレンジブックの「付録」を読んでx86とx64のシェルコードを作った前回 は、「セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方」の「Part2 pwn」を読んで、実際に動かしてみました。だいぶ時間がかかりましたが、とても勉強になりました。 今回は、「セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方」の付録を読んでいきます。付録は 2つあって、1つは、Part 1(1章)の「バイナリ解析」の付録で、もう 1つは、Part 2(2章)の「pwn」の付録です。今回は、この 2つの付録について見ていきます。 それでは、やっていきます。

Develop with pleasure!18日前

マイニングプールのプロトコルBitaxeを入手したのをきっかけに↓、プールマイニングにも興味出てきたので、最近のマイニングプールの仕組みについて調べてみた。※ Bitaxe単体でマイニングに成功することは基本的にない。 プールマイニングは、多数のマイナーが協力して新しいブロックを見つけ、見つけたブロックの報酬を分配する仕組み。 シェア プールマイニングでは実際に有効なブロックが発見できなくても、そのターゲットに近い値のハッシュを持つブロック*1を見つけた場合に、それが有効なシェアとして認められる。マイナーはプールにシェアを提出し、オペレーターはそれを元に各マイナーがどれだけの作業を行っているのかを追跡することができる。 …

shunshock!23日前

CLI with Rustで幸せになる話、タイムゾーンを添えて自己紹介 @shunsock : GitHub・X ファインディ株式会社 データソリューションチーム所属 Rust歴、1年行かないくらい。趣味で書きまくって覚えた。 平和な日本の時間事情 日本はいいぞ、なんてったって、単一のタイムゾーンで夏時間が存在しないからね! 単一のタイムゾーン: 日本全土が同じ標準時(JST)を使用しており、国内に時差はない。 夏時間の不採用: 現在、日本ではサマータイム(夏時間)は採用されていない。そのため、年間を通じて時刻の変更はない。 ※ 日本標準時(JST)は、日本国内で公式に採用されている標準時であり、協定世界時(UTC)に9時間を加えた時間。 UTCの魔の手…

ぱたへね24日前

Rustで作るプログラミング言語だいたいやりたいところまでやったので感想を。 めっちゃ良い本なので、自作プログラミング言語興味ある人にお勧めです。 gihyo.jp どんな本 Rustを使ってスタックマシーン、パーサー、ASTインタープリター、バイトコードコンパイラ、実行環境を作っていきます。型チェックのシステムやコルーチン等のトピックもあり、実際に動く所までやります。 Rustの説明は少なめで結構いろんなテクは使われているので、別途Rustの本は必要です。途中からはパーサー(+トーカナイザー)として、ライブラリのnomを使います。yaccのように別途設定ファイルがなく、ソースコードにrustの文法で直接ルールを書いていくス…

ts0818のブログ25日前

LinuxにおけるRubyのgemが何かとややこしい。Bundler、Gemfile、gemspec、Rakefileとは?gigazine.net Linuxの生みの親であるリーナス・トーバルズ氏が、2024年9月20日にReal Time Linuxとして知られる「PREEMPT_RT」を正式にLinuxカーネルへと組み込みました。 一定時間以内の応答を保証する「Real Time Linux」が正式にカーネルに組み込まれる - GIGAZINE Real Time Linuxは産業用制御システム、医療機器、航空宇宙機器など「時刻」に敏感なシステムにLinuxを使用する際に、一定時間以内にイベントに応答することを保証する仕組み。PREEMPT_RTはカーネルを変更してリアルタイム性をLinuxに組み込むパッチセ…

ファーイーストTYPE25日前

「Java 23」発表2024年9月17日⁠、Oracle CorporationがJava最新版「Java 23」をリリースしました。 Java 9からは、6ヵ月に1回のリリースサイクルでアップデートが行われていて、今回14回目となるJava 23となり、これまで開発が進められてきたProject PanamaやProject Amber、Project Loomなどの各プロジェクト、また、コアライブラリやツールに関して、計12のJEPs(JDK Enhancement Proposal)のアップデートが行われました。 Java 23 IDCのソフトウェア開発担当リサーチ・バイスプレジデントであるArnal Da…

masamoriの日誌1ヶ月前

Python リストの作成方法で占有するメモリサイズが異なる その3(終)はじめに masamoriです。 このシリーズ最後です。 masamori0083.hatenablog.com 今回は、[0 for _ in range(3)]です。コードを追いましょう。 改めて確認 import sys list = [0 for _ in range(3)] print("sizeof list: ", sys.getsizeof(list)) #88 [0 for _ in range(3)]の場合、メモリの使用量は上記のようになります。 disモジュールを使って計算ロジックを確認しましょう。 import dis print("disassemble [0 for…

動かざることバグの如し1ヶ月前

apkをデコンパイルしてjavaソースコードを解析するやりたいこと 拾ってきた野良apkをデコンパイルしてJavaのソースコードを解析したい apkの仕組み Androidアプリのパッケージ形式 APK(Android Package)ファイルは、Androidアプリを配布・インストールするためのパッケージ形式だ。アーカイブファイルであり、ZIP形式で複数のファイルやディレクトリを含んでいる。 Javaからapkができるまで Androidアプリ開発では、Java(もしくはKotlin)でソースコードを記述する。このソースコードは、コンパイルされてDEX(Dalvik Executable)バイトコードに変換される。DEXバイトコードは、Andr…

nikkie-ftnextの日記1ヶ月前

uv init --appで環境構築して開発中の自作Pythonアプリケーションを含んだDockerイメージをビルドするはじめに はぁ〜♪ nikkieです。 uvで環境構築したPythonプロジェクトのDockerイメージの作り方を考えていきます。 今回はアプリケーション編です 目次 はじめに 目次 前提:uvのアプリケーション 結論 Dockerイメージへの私のこだわり uvで管理するアプリケーションをuvのない環境にインストール ghcr.io/astral-sh/uv イメージ python イメージ 思考ログ 終わりに 関連記事 変更履歴 前提:uvのアプリケーション uv 0.4.0からuv init --appやuv init --libがサポートされています。 uvにおけるアプリケーションとは、…

@mizumotokのブログ1ヶ月前

プログラミング言語の歴史プログラミング言語の世界は、1950年代から現代までにわたり驚くべき進化を遂げてきました。科学技術計算からビジネスアプリケーション、そしてウェブやモバイル開発まで、各時代に登場した言語は、それぞれの時代のニーズに応じて進化してきました。本記事では、主要なプログラミング言語について、その開発者、特徴、そして簡単なコード例を交えながらその歴史を振り返ります。これから学び始める方にも、経験豊富なエンジニアにも、新たな発見があるかもしれません。 プログラミング言語概覧 1950〜1960年代 FORTRAN(1957) LISP (1960) COBOL (1960) ALGOL (1960) BAS…

skydum1ヶ月前

ryeからuvに移行したのでDockerfileを作り直したuv 最近pythonで開発するときにはryeを使っていたがuvが便利になっていたのでuvに移行した。 docker containerでもuvを使いたいのでベースとなるDockerfileを作った。 仕事だとGitHub Actionsでpipenvを使って、個人的にとても使いづらいのでuvに置き換えたい。 あと、GitHub Actionsのビルド時間が長いので、そちらどうにかしたいが、ちょっとずつ進めようかと思う。 [翻訳] uv による本番環境向け Docker コンテナ を参考にさせていただいた。 Dockerfileの構成 マルチステージビルドを使う。 パッケージの管理とインストー…

佐賀人のIT技術者のブログ1ヶ月前

Dockerの仕組みをJVMと比較して理解するこんにちは、佐賀人のIT技術者です。 今回は、Dockerの仕組みを移植性や環境の抽象化の観点からJVMと比較して理解してみます。 個人的な所感ですが、DockerとJVMの仕組みが似ていると感じています。 その理由は、両者が「抽象化」や「コンテナ化」を使ってソフトウェアを管理する点にあります。ただし、具体的な実装や目的は異なります。以下でそれぞれの仕組みとその共通点について詳しく説明します。 Dockerの仕組み Dockerはコンテナ化技術を用いて、アプリケーションとその依存関係を一つのパッケージとして提供します。 さわって理解するDocker入門 第1回 | オブジェクトの広場 これによ…

Panda Noir2ヶ月前

javaだとかgradleだとか最近チームを異動して、仕事内容がサーバーサイドとなってjavaとかkotlinを書いてるので、その備忘録的なものを書いておこうかなと。マジで右も左もわからん… (※現段階の理解を雑に書きなぐってるので、多分間違えてるところがままある) java/kotlin kotlinはJava仮想マシンで動作するプログラミング言語で、コンパイルするとJavaのバイトコードに変換される javaは null安全じゃない。これがとてもつらい。 kotlinはnull安全。とても快適。 kotlinもjavaも型システムがnominal typescriptはstructuralでそっちに慣れてしまっているので…