aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/docs/content/en/features/java.mdx
diff options
context:
space:
mode:
authorNtskwK <natsukawa247@outlook.com>2026-02-28 09:03:19 +0800
committerNtskwK <natsukawa247@outlook.com>2026-02-28 09:03:19 +0800
commitcc53b1cf260e1c67939e50608ef18764da616d55 (patch)
tree119109c62331d4d26612e2df7726cee82d1871f5 /packages/docs/content/en/features/java.mdx
parentee37d044e473217daadd9ce26c7e2e2ad39a0490 (diff)
parent81a62402ef6f8900ff092366121a9b7a4263ba52 (diff)
downloadDropOut-cc53b1cf260e1c67939e50608ef18764da616d55.tar.gz
DropOut-cc53b1cf260e1c67939e50608ef18764da616d55.zip
Merge remote-tracking branch 'upstream/main'
Diffstat (limited to 'packages/docs/content/en/features/java.mdx')
-rw-r--r--packages/docs/content/en/features/java.mdx394
1 files changed, 0 insertions, 394 deletions
diff --git a/packages/docs/content/en/features/java.mdx b/packages/docs/content/en/features/java.mdx
deleted file mode 100644
index 21b95a9..0000000
--- a/packages/docs/content/en/features/java.mdx
+++ /dev/null
@@ -1,394 +0,0 @@
----
-title: Java Management
-description: Automatic Java detection, download, and installation
----
-
-# Java Management
-
-DropOut provides comprehensive Java management, automatically detecting installed versions and downloading new ones as needed.
-
-## Auto-detection
-
-### System Scan
-
-DropOut scans multiple locations for Java installations:
-
-**Linux:**
-- `/usr/lib/jvm/`
-- `/usr/java/`
-- `$JAVA_HOME`
-- `PATH` environment variable
-
-**macOS:**
-- `/Library/Java/JavaVirtualMachines/`
-- `/System/Library/Java/JavaVirtualMachines/`
-- `$JAVA_HOME`
-- `PATH` environment variable
-
-**Windows:**
-- `C:\Program Files\Java\`
-- `C:\Program Files (x86)\Java\`
-- `%JAVA_HOME%`
-- `PATH` environment variable
-- Windows Registry
-
-### Version Detection
-
-For each Java installation found, DropOut:
-1. Runs `java -version` to get version info
-2. Parses major version (8, 11, 17, 21, etc.)
-3. Detects architecture (x64, ARM64)
-4. Identifies vendor (Oracle, Adoptium, etc.)
-
-### Results
-
-All detected Java installations appear in Settings → Java:
-- Version number
-- Installation path
-- Architecture
-- Current selection status
-
-## Java Download
-
-### Adoptium Integration
-
-DropOut integrates with the Eclipse Adoptium API to download high-quality, free JDK/JRE builds.
-
-**Supported Versions:**
-- Java 8 (LTS)
-- Java 11 (LTS)
-- Java 17 (LTS)
-- Java 21 (LTS)
-- Java 23+ (Latest)
-
-**Features:**
-- Automatic platform detection
-- Architecture-specific builds
-- JDK or JRE selection
-- Checksum verification
-
-### Download Process
-
-1. Navigate to Settings → Java
-2. Click "Download Java"
-3. Select version (e.g., Java 17)
-4. Choose JDK or JRE
-5. Click Download
-6. Wait for download and extraction
-
-**Progress Tracking:**
-- Real-time download speed
-- ETA calculation
-- Extraction progress
-- Installation confirmation
-
-### Catalog Management
-
-The Java catalog is cached for 24 hours to improve performance:
-
-```rust
-// Catalog structure
-{
- "versions": [
- {
- "version": "17.0.9+9",
- "major": 17,
- "url": "https://api.adoptium.net/...",
- "sha256": "...",
- "size": 123456789
- }
- ],
- "last_updated": 1234567890
-}
-```
-
-**Refresh:**
-- Automatic after 24 hours
-- Manual refresh in settings
-- Forced refresh on download failure
-
-## Installation
-
-### Download Directory
-
-Downloaded Java runtimes are installed to:
-
-```
-~/.local/share/com.dropout.launcher/java/ (Linux)
-~/Library/Application Support/com.dropout.launcher/java/ (macOS)
-%APPDATA%/com.dropout.launcher/java/ (Windows)
-```
-
-### Directory Structure
-
-```
-java/
-├── jdk-17.0.9+9/
-│ ├── bin/
-│ │ └── java (or java.exe)
-│ └── lib/
-├── jdk-21.0.1+12/
-│ ├── bin/
-│ └── lib/
-└── download_queue.json
-```
-
-### Extraction
-
-1. Download to `.part` file
-2. Verify checksum
-3. Extract archive:
- - `.tar.gz` on Linux/macOS
- - `.zip` on Windows
-4. Move to `java/<version>/` directory
-5. Set executable permissions (Unix)
-
-## Configuration
-
-### Memory Allocation
-
-Configure JVM memory in Settings:
-
-**Minimum Memory:**
-- Default: 1024 MB
-- Recommended: 2048 MB for vanilla
-- Recommended: 4096+ MB for modded
-
-**Maximum Memory:**
-- Default: 4096 MB
-- Adjust based on your system RAM
-- Leave 4GB for OS and other apps
-
-**Format:**
-```bash
--Xms1024M -Xmx4096M
-```
-
-### Custom JVM Arguments
-
-Add custom JVM arguments for advanced configuration:
-
-**Common Arguments:**
-```bash
-# Garbage collection
--XX:+UseG1GC
--XX:+UnlockExperimentalVMOptions
-
-# Performance
--XX:G1NewSizePercent=20
--XX:G1ReservePercent=20
--XX:MaxGCPauseMillis=50
-
-# Memory
--XX:G1HeapRegionSize=32M
-```
-
-### Java Path Selection
-
-**Auto-select:**
-- DropOut recommends the best Java version for each Minecraft version
-- Java 8 for Minecraft 1.12.2 and older
-- Java 17 for Minecraft 1.18-1.20.4
-- Java 21 for Minecraft 1.20.5+
-
-**Manual selection:**
-1. Go to Settings → Java
-2. Choose from detected installations
-3. Or specify custom path
-
-## Version Recommendations
-
-### Minecraft Version → Java Version
-
-| Minecraft Version | Recommended Java | Minimum Java |
-|-------------------|------------------|--------------|
-| 1.7.10 and older | Java 8 | Java 8 |
-| 1.8 - 1.12.2 | Java 8 | Java 8 |
-| 1.13 - 1.16.5 | Java 8 or 11 | Java 8 |
-| 1.17 - 1.17.1 | Java 16 | Java 16 |
-| 1.18 - 1.20.4 | Java 17 | Java 17 |
-| 1.20.5+ | Java 21 | Java 21 |
-
-### Modded Minecraft
-
-**Fabric:**
-- Usually matches vanilla requirements
-- Some mods may require newer Java
-
-**Forge:**
-- May require specific Java versions
-- Check mod loader documentation
-- Often requires exact version match
-
-## Troubleshooting
-
-### Java Not Detected
-
-**Issue:** Installed Java not showing up
-
-**Solutions:**
-1. Verify Java is in standard location
-2. Check `JAVA_HOME` environment variable
-3. Add Java `bin` directory to `PATH`
-4. Restart DropOut
-5. Manual path selection
-
-### Download Fails
-
-**Issue:** Java download doesn't complete
-
-**Solutions:**
-1. Check internet connection
-2. Verify disk space
-3. Try different version
-4. Clear download queue
-5. Manual download from Adoptium
-
-### Wrong Java Version
-
-**Issue:** Game crashes due to Java version
-
-**Solutions:**
-1. Check Minecraft version requirements
-2. Download correct Java version
-3. Select appropriate Java in settings
-4. Verify Java path is correct
-
-### OutOfMemoryError
-
-**Issue:** Game crashes with memory error
-
-**Solutions:**
-1. Increase maximum memory allocation
-2. Close other applications
-3. Upgrade system RAM
-4. Use 64-bit Java
-5. Optimize JVM arguments
-
-### Performance Issues
-
-**Issue:** Low FPS or stuttering
-
-**Solutions:**
-1. Adjust memory allocation (not too high!)
-2. Enable G1GC garbage collector
-3. Add performance JVM arguments
-4. Use newer Java version if compatible
-5. Allocate 4-8GB for modpacks
-
-## API Reference
-
-### Tauri Commands
-
-**Detect Java Installations:**
-```typescript
-const javas = await invoke('detect_java_installations');
-// Returns: Array<{ path: string, version: string, major: number }>
-```
-
-**Get Java Catalog:**
-```typescript
-const catalog = await invoke('get_java_catalog');
-// Returns: { versions: Array<JavaVersion>, last_updated: number }
-```
-
-**Download Java:**
-```typescript
-await invoke('download_java', {
- version: '17.0.9+9',
- variant: 'jdk' // or 'jre'
-});
-```
-
-**Cancel Java Download:**
-```typescript
-await invoke('cancel_java_download');
-```
-
-**Set Java Path:**
-```typescript
-await invoke('set_java_path', { path: '/path/to/java' });
-```
-
-### Events
-
-**Download Progress:**
-```typescript
-listen('java-download-progress', (event) => {
- const { percent, speed, eta } = event.payload;
-});
-```
-
-**Download Complete:**
-```typescript
-listen('java-download-complete', (event) => {
- const { path, version } = event.payload;
-});
-```
-
-## Best Practices
-
-### For Players
-
-1. **Use Adoptium builds** - Free, high-quality, maintained
-2. **Match Java to Minecraft** - Check version requirements
-3. **Don't over-allocate memory** - Leave RAM for OS
-4. **Keep Java updated** - Security and performance
-5. **Use 64-bit Java** - Required for large memory
-
-### For Developers
-
-1. **Test multiple Java versions** - Ensure compatibility
-2. **Document Java requirements** - Help users
-3. **Handle missing Java** - Graceful fallbacks
-4. **Validate Java path** - Before launching
-5. **Provide clear errors** - When Java is wrong
-
-## Advanced Topics
-
-### Custom Java Installation
-
-To use a custom Java installation:
-
-1. Install Java manually
-2. Note the installation path
-3. In DropOut Settings → Java
-4. Click "Custom Path"
-5. Browse to Java executable
-6. Verify version is correct
-
-### Java for Servers
-
-When running a Minecraft server:
-
-```bash
-# Recommended server JVM arguments
--Xms4G -Xmx4G \
--XX:+UseG1GC \
--XX:+ParallelRefProcEnabled \
--XX:MaxGCPauseMillis=200 \
--XX:+UnlockExperimentalVMOptions \
--XX:+DisableExplicitGC \
--XX:G1NewSizePercent=30 \
--XX:G1MaxNewSizePercent=40 \
--XX:G1HeapRegionSize=8M \
--XX:G1ReservePercent=20 \
--XX:G1HeapWastePercent=5 \
--XX:G1MixedGCCountTarget=4 \
--XX:InitiatingHeapOccupancyPercent=15 \
--XX:G1MixedGCLiveThresholdPercent=90 \
--XX:G1RSetUpdatingPauseTimePercent=5 \
--XX:SurvivorRatio=32 \
--XX:+PerfDisableSharedMem \
--XX:MaxTenuringThreshold=1
-```
-
-### GraalVM
-
-GraalVM is supported for advanced users:
-
-1. Download GraalVM from graalvm.org
-2. Install manually
-3. Add to DropOut as custom Java
-4. May improve performance
-5. Test thoroughly before use