跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaAIjava算法

Java 在 AI 时代的演进:从机器学习到 AIGC 实战

综述由AI生成Java 在人工智能领域并非边缘角色,尤其在企业级应用集成方面具有显著优势。梳理了 Java 在 AI 生态中的技术选型,涵盖 DJL、DL4J 等深度学习框架及 Spring AI 等 AIGC 新工具。文章详细解析了 Java 构建高并发 AI 服务、微服务架构设计及监控运维的最佳实践,探讨了 Java 在企业级 AI 平台、现有系统改造等场景的适用性,并展望了云原生与边缘 AI 的发展趋势。

Kubernet发布于 2026/4/10更新于 2026/5/2320 浏览
Java 在 AI 时代的演进:从机器学习到 AIGC 实战

在人工智能浪潮席卷全球的今天,Python 凭借其丰富的生态成为了机器学习和深度学习的首选语言。然而,作为企业级应用开发的王者,Java 在 AI 领域的表现同样不容小觑。本文将深入探讨 Java 在 AI 生态中的定位、技术栈以及在 AIGC 时代的机遇与挑战。

一、Java AI 生态概览:多样化的技术选择

Java 在 AI 领域的技术栈可以用'百花齐放'来形容,从传统机器学习到现代深度学习,从自然语言处理到计算机视觉,Java 都有相应的解决方案。

1.1 深度学习框架:接轨主流 AI 技术
Deep Java Library (DJL) - 统一的深度学习接口

DJL 是 Amazon 开源的 Java 深度学习库,其最大的优势在于提供了统一的 API 来操作不同的深度学习后端,比如 PyTorch 或 TensorFlow。

// DJL 示例:使用预训练模型进行图像分类
import ai.djl.Application;
import ai.djl.Model;
import ai.djl.inference.Predictor;
import ai.djl.modality.Classifications;
import ai.djl.modality.cv.Image;
import ai.djl.modality.cv.ImageFactory;
import ai.djl.repository.zoo.Criteria;
import ai.djl.repository.zoo.ModelZoo;
import ai.djl.repository.zoo.ZooModel;

public class ImageClassificationExample {
    public static void main(String[] args) throws Exception {
        // 加载预训练的 ResNet 模型
        Criteria<Image, Classifications> criteria = Criteria.builder()
            .optApplication(Application.CV.IMAGE_CLASSIFICATION)
            .setTypes(Image.class, Classifications.class)
            .optFilter("layer", "50")
            .optEngine("PyTorch")
            .build();
        try (ZooModel<Image, Classifications> model = ModelZoo.loadModel(criteria)) {
            try (Predictor<Image, Classifications> predictor = model.newPredictor()) {
                Image image = ImageFactory.getInstance().fromUrl("https://example.com/cat.jpg");
                Classifications classifications = predictor.predict(image);
                System.out.println("预测结果:");
                classifications.items().forEach(classification -> 
                    System.out.printf("%s: %.2f%%\n", classification.getClassName(), classification.getProbability() * 100));
            }
        }
    }
}
Deeplearning4j - 企业级深度学习解决方案

DL4J 专为 Java 生态系统设计,特别适合需要与现有 Java 应用集成的场景,支持分布式训练。

// DL4J 示例:构建简单的神经网络
import org.deeplearning4j.nn.conf.MultiLayerConfiguration;
import org.deeplearning4j.nn.conf.NeuralNetConfiguration;
import org.deeplearning4j.nn.conf.layers.DenseLayer;
import org.deeplearning4j.nn.conf.layers.OutputLayer;
import org.deeplearning4j.nn.multilayer.MultiLayerNetwork;
import org.deeplearning4j.nn.weights.WeightInit;
import org.nd4j.linalg.activations.Activation;
import org.nd4j.linalg.lossfunctions.LossFunctions;

public class SimpleNeuralNetwork {
    public static void main(String[] args) {
        // 构建神经网络配置
        MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
            .seed(123)
            .weightInit(WeightInit.XAVIER)
            .updater(new org.nd4j.linalg.learning.config.Adam(0.001))
            .list()
            .layer(0, new DenseLayer.Builder()
                .nIn(784) // 输入层大小
                .nOut(128) // 隐藏层大小
                .activation(Activation.RELU)
                .build())
            .layer(1, new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD)
                .nIn(128)
                .nOut(10) // 输出类别数
                .activation(Activation.SOFTMAX)
                .build())
            .build();
        
        MultiLayerNetwork model = new MultiLayerNetwork(conf);
        model.init();
        System.out.println("神经网络构建完成,参数数量:" + model.numParams());
    }
}
1.2 传统机器学习框架:成熟稳定的选择
Weka - 学术界的宠儿

Weka 提供了丰富的机器学习算法和可视化工具,既可以通过 GUI 操作,也可以编程调用,非常适合快速验证算法。

// Weka 示例:使用决策树进行分类
import weka.classifiers.trees.J48;
import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;
import weka.filters.Filter;
import weka.filters.unsupervised.attribute.Remove;

public class WekaClassificationExample {
    public static void main(String[] args) throws Exception {
        // 加载数据集
        DataSource source = new DataSource("path/to/dataset.arff");
        Instances dataset = source.getDataSet();
        // 设置类别属性(最后一列)
        if (dataset.classIndex() == -1) {
            dataset.setClassIndex(dataset.numAttributes() - 1);
        }
        // 创建决策树分类器
        J48 tree = new J48();
        tree.setUnpruned(true); // 不剪枝
        // 训练模型
        tree.buildClassifier(dataset);
        // 输出决策树
        System.out.println("决策树模型:");
        System.out.println(tree);
        // 10 折交叉验证
        weka.classifiers.Evaluation eval = new weka.classifiers.Evaluation(dataset);
        eval.crossValidateModel(tree, dataset, 10, new java.util.Random(1));
        System.out.println("交叉验证结果:");
        System.out.println("准确率:" + eval.pctCorrect() + "%");
        System.out.println("召回率:" + eval.weightedRecall());
        System.out.println("F1-Score: " + eval.weightedFMeasure());
    }
}
Smile - 现代化的机器学习库

Smile 提供了高性能的机器学习算法实现,API 设计简洁现代,性能优于许多传统 Java 库。

// Smile 示例:随机森林分类
import smile.classification.RandomForest;
import smile.data.DataFrame;
import smile.data.formula.Formula;
import smile.io.Read;
import smile.validation.CrossValidation;

public class SmileRandomForestExample {
    public static void main(String[] args) throws Exception {
        // 读取数据
        DataFrame data = Read.csv("path/to/data.csv");
        // 定义公式(目标变量 ~ 特征变量)
        Formula formula = Formula.lhs("target");
        // 训练随机森林
        RandomForest model = RandomForest.fit(formula, data, 100); // 100 棵树
        // 交叉验证
        double[] accuracy = CrossValidation.classification(10, formula, data, (f, x) -> RandomForest.fit(f, x, 100));
        System.out.printf("随机森林交叉验证准确率:%.2f%% (+/- %.2f%%)\n",
            smile.math.MathEx.mean(accuracy) * 100,
            smile.math.MathEx.sd(accuracy) * 100);
        // 特征重要性
        double[] importance = model.importance();
        String[] features = data.names();
        System.out.println("特征重要性排序:");
        java.util.stream.IntStream.range(0, importance.length).boxed()
            .sorted((i, j) -> Double.compare(importance[j], importance[i]))
            .limit(10)
            .forEach(i -> System.out.printf("%s: %.4f\n", features[i], importance[i]));
    }
}
1.3 自然语言处理框架:文本智能处理
Stanford CoreNLP - 功能全面的 NLP 工具包

CoreNLP 是一个强大的 NLP 工具包,支持分词、词性标注、命名实体识别等任务。

// Stanford CoreNLP 示例:文本分析管道
import edu.stanford.nlp.pipeline.StanfordCoreNLP;
import edu.stanford.nlp.pipeline.CoreDocument;
import edu.stanford.nlp.ling.CoreAnnotations;
import edu.stanford.nlp.sentiment.SentimentCoreAnnotations;
import java.util.Properties;

public class CoreNLPExample {
    public static void main(String[] args) {
        // 配置处理管道
        Properties props = new Properties();
        props.setProperty("annotators", "tokenize,ssplit,pos,lemma,ner,sentiment");
        props.setProperty("coref.algorithm", "neural");
        StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
        
        // 待分析文本
        String text = "Java 在人工智能领域展现出强大的潜力。企业级应用中,Java 的稳定性和可维护性是重要优势。";
        
        // 创建文档并进行注释
        CoreDocument document = pipeline.processToCoreDocument(text);
        
        // 输出分析结果
        System.out.println("=== 句子分析 ===");
        document.sentences().forEach(sentence -> {
            System.out.println("句子:" + sentence.text());
            System.out.println("情感:" + sentence.sentiment());
            System.out.println("词汇分析:");
            sentence.tokens().forEach(token -> {
                System.out.printf(" %s [词性:%s, 词元:%s]\n", 
                    token.word(), 
                    token.get(CoreAnnotations.PartOfSpeechAnnotation.class), 
                    token.lemma());
            });
            System.out.println("命名实体:");
            sentence.entityMentions().forEach(entityMention -> {
                System.out.printf(" %s: %s\n", entityMention.text(), entityMention.entityType());
            });
            System.out.println();
        });
    }
}
1.4 大数据 AI 框架:处理海量数据的利器
Apache Spark MLlib - 分布式机器学习

当数据量达到 TB 级别时,Spark MLlib 是首选,它利用集群资源进行分布式计算。

// Spark MLlib 示例:大规模文本分类
import org.apache.spark.sql.SparkSession;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.ml.Pipeline;
import org.apache.spark.ml.PipelineStage;
import org.apache.spark.ml.classification.LogisticRegression;
import org.apache.spark.ml.feature.HashingTF;
import org.apache.spark.ml.feature.Tokenizer;
import org.apache.spark.ml.feature.StopWordsRemover;
import java.util.Arrays;

public class SparkMLTextClassification {
    public static void main(String[] args) {
        SparkSession spark = SparkSession.builder()
            .appName("TextClassification")
            .master("local[*]")
            .getOrCreate();
        
        // 创建示例数据
        Dataset<Row> training = spark.createDataFrame(Arrays.asList(
            new JavaBean("Java 是一门优秀的编程语言", 1.0),
            new JavaBean("Python 在 AI 领域很流行", 1.0),
            new JavaBean("这个产品质量很差", 0.0),
            new JavaBean("服务态度需要改进", 0.0)
        ), JavaBean.class);
        
        // 构建机器学习管道
        Tokenizer tokenizer = new Tokenizer().setInputCol("text").setOutputCol("words");
        StopWordsRemover remover = new StopWordsRemover().setInputCol("words").setOutputCol("filtered");
        HashingTF hashingTF = new HashingTF().setNumFeatures(1000).setInputCol("filtered").setOutputCol("features");
        LogisticRegression lr = new LogisticRegression().setMaxIter(10).setRegParam(0.001);
        Pipeline pipeline = new Pipeline().setStages(new PipelineStage[]{tokenizer, remover, hashingTF, lr});
        
        // 训练模型
        org.apache.spark.ml.PipelineModel model = pipeline.fit(training);
        
        // 创建测试数据并预测
        Dataset<Row> test = spark.createDataFrame(Arrays.asList(
            new JavaBean("Java 开发效率很高", 0.0),
            new JavaBean("这个软件有严重问题", 0.0)
        ), JavaBean.class);
        Dataset<Row> predictions = model.transform(test);
        predictions.select("text", "label", "prediction", "probability").show(false);
        
        spark.stop();
    }
    
    public static class JavaBean {
        private String text;
        private Double label;
        public JavaBean(String text, Double label) { this.text = text; this.label = label; }
        public String getText() { return text; }
        public void setText(String text) { this.text = text; }
        public Double getLabel() { return label; }
        public void setLabel(Double label) { this.label = label; }
    }
}

二、Java 在 AIGC 时代的机遇与挑战

随着 ChatGPT、GPT-4 等大语言模型的爆火,AIGC(AI Generated Content)成为了 AI 领域的新热点。Java 在这一波浪潮中面临着机遇与挑战并存的局面。

2.1 Spring AI:Java 拥抱 AIGC 的新起点

Spring AI 是 Spring 生态系统在 AI 领域的重要布局,它为 Java 开发者提供了友好的 AIGC 应用开发框架,屏蔽了底层大模型的复杂性。

// Spring AI 示例:构建聊天机器人
import org.springframework.ai.chat.ChatClient;
import org.springframework.ai.chat.ChatResponse;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.openai.OpenAiChatClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.*;

@SpringBootApplication
@RestController
public class SpringAiChatApplication {
    private final ChatClient chatClient;

    public SpringAiChatApplication(ChatClient chatClient) {
        this.chatClient = chatClient;
    }

    @PostMapping("/chat")
    public ChatResponse chat(@RequestBody ChatRequest request) {
        Prompt prompt = new Prompt(request.getMessage());
        return chatClient.call(prompt);
    }

    @GetMapping("/generate")
    public String generate(@RequestParam String topic) {
        String promptText = String.format("请为我写一篇关于'%s'的技术博客大纲,包含 5 个主要章节", topic);
        Prompt prompt = new Prompt(promptText);
        ChatResponse response = chatClient.call(prompt);
        return response.getResult().getOutput().getContent();
    }

    public static void main(String[] args) {
        SpringApplication.run(SpringAiChatApplication.class, args);
    }

    static class ChatRequest {
        private String message;
        public String getMessage() { return message; }
        public void setMessage(String message) { this.message = message; }
    }
}

配置文件示例:

# application.yml
spring:
  ai:
    openai:
      api-key: ${OPENAI_API_KEY}
    chat:
      options:
        model: gpt-3.5-turbo
        temperature: 0.7
        max-tokens: 1000
server:
  port: 8080
logging:
  level:
    org.springframework.ai: DEBUG
2.2 Java AIGC 应用架构设计

基于 Java 技术栈构建 AIGC 应用的典型架构,关键在于服务抽象层的设计,方便后续切换模型或提供商。

// AIGC 服务抽象层设计
public interface AigcService {
    /**
     * 文本生成
     */
    GeneratedContent generateText(TextGenerationRequest request);
    
    /**
     * 图像生成
     */
    GeneratedContent generateImage(ImageGenerationRequest request);
    
    /**
     * 代码生成
     */
    GeneratedContent generateCode(CodeGenerationRequest request);
    
    /**
     * 流式文本生成
     */
    Flux<String> generateTextStream(TextGenerationRequest request);
}

@Service
@Slf4j
public class AigcServiceImpl implements AigcService {
    private final ChatClient chatClient;
    private final ImageClient imageClient;
    private final RedisTemplate<String, Object> redisTemplate;

    public AigcServiceImpl(ChatClient chatClient, ImageClient imageClient, RedisTemplate<String, Object> redisTemplate) {
        this.chatClient = chatClient;
        this.imageClient = imageClient;
        this.redisTemplate = redisTemplate;
    }

    @Override
    @Cacheable(value = "text-generation", key = "#request.hashCode()")
    public GeneratedContent generateText(TextGenerationRequest request) {
        log.info("生成文本内容,prompt: {}", request.getPrompt());
        try {
            // 构建提示词
            Prompt prompt = buildPrompt(request);
            // 调用大语言模型
            ChatResponse response = chatClient.call(prompt);
            // 构建响应
            return GeneratedContent.builder()
                .content(response.getResult().getOutput().getContent())
                .type(ContentType.TEXT)
                .model(request.getModel())
                .timestamp(System.currentTimeMillis())
                .usage(buildUsage(response))
                .build();
        } catch (Exception e) {
            log.error("文本生成失败", e);
            throw new AigcException("文本生成失败:" + e.getMessage());
        }
    }

    @Override
    public Flux<String> generateTextStream(TextGenerationRequest request) {
        return Flux.create(sink -> {
            try {
                Prompt prompt = buildPrompt(request);
                // 流式调用
                chatClient.stream(prompt).subscribe(
                    response -> {
                        String content = response.getResult().getOutput().getContent();
                        sink.next(content);
                    },
                    error -> {
                        log.error("流式生成失败", error);
                        sink.error(error);
                    },
                    () -> sink.complete()
                );
            } catch (Exception e) {
                sink.error(e);
            }
        });
    }

    private Prompt buildPrompt(TextGenerationRequest request) {
        PromptTemplate template = new PromptTemplate(request.getTemplate());
        return template.create(request.getVariables());
    }

    private Usage buildUsage(ChatResponse response) {
        return Usage.builder()
            .promptTokens(response.getMetadata().getUsage().getPromptTokens())
            .completionTokens(response.getMetadata().getUsage().getGenerationTokens())
            .totalTokens(response.getMetadata().getUsage().getTotalTokens())
            .build();
    }
}
2.3 AIGC 应用的微服务架构

在生产环境中,我们需要考虑限流、路由和服务编排,确保系统的稳定性。

// 网关层:统一入口和负载均衡
@RestController
@RequestMapping("/api/v1/aigc")
@Slf4j
public class AigcGatewayController {
    private final AigcOrchestrationService orchestrationService;
    private final RateLimitService rateLimitService;

    @PostMapping("/generate")
    public ResponseEntity<GeneratedContent> generate(@RequestBody GenerationRequest request, @RequestHeader("User-Id") String userId) {
        // 限流检查
        if (!rateLimitService.isAllowed(userId)) {
            return ResponseEntity.status(429).build();
        }
        // 路由到对应的服务
        GeneratedContent content = orchestrationService.generate(request);
        return ResponseEntity.ok(content);
    }

    @GetMapping("/generate/stream")
    public ResponseEntity<Flux<ServerSentEvent<String>>> generateStream(@RequestParam String prompt, @RequestHeader("User-Id") String userId) {
        Flux<ServerSentEvent<String>> stream = orchestrationService.generateStream(prompt)
            .map(content -> ServerSentEvent.<String>builder().data(content).build());
        return ResponseEntity.ok().header("Content-Type", "text/event-stream").body(stream);
    }
}

// 编排服务:协调多个 AI 服务
@Service
public class AigcOrchestrationService {
    private final Map<String, AigcService> aigcServices;
    private final ModelLoadBalancer loadBalancer;

    public GeneratedContent generate(GenerationRequest request) {
        // 根据请求类型选择合适的服务
        AigcService service = selectService(request.getType());
        // 选择最优模型
        String model = loadBalancer.selectBestModel(request);
        request.setModel(model);
        return service.generate(request);
    }

    private AigcService selectService(ContentType type) {
        return switch (type) {
            case TEXT -> aigcServices.get("textService");
            case IMAGE -> aigcServices.get("imageService");
            case CODE -> aigcServices.get("codeService");
            default -> throw new UnsupportedOperationException("不支持的内容类型:" + type);
        };
    }
}

三、Java AI 技术栈的优势与适用场景

3.1 企业级应用的天然优势

Java 在 AI 领域的最大优势在于其在企业级应用中的成熟度和稳定性。对于需要将 AI 能力集成到现有业务系统中的企业来说,Java 提供了无缝的集成体验。

高并发处理能力

通过异步处理和线程池管理,Java 能够轻松应对大量 AI 推理请求。

// 异步处理大量 AI 请求
@Service
public class AsyncAigcService {
    @Async("aigcThreadPool")
    @CompletableFuture<GeneratedContent>
    public CompletableFuture<GeneratedContent> generateAsync(GenerationRequest request) {
        // 异步执行 AI 生成任务
        return CompletableFuture.supplyAsync(() -> {
            return aigcService.generate(request);
        });
    }

    public List<GeneratedContent> batchGenerate(List<GenerationRequest> requests) {
        List<CompletableFuture<GeneratedContent>> futures = requests.stream()
            .map(this::generateAsync)
            .collect(Collectors.toList());
        return futures.stream()
            .map(CompletableFuture::join)
            .collect(Collectors.toList());
    }
}

完善的监控和运维体系

借助 Micrometer 等工具,可以方便地接入 Prometheus 或 Grafana,实时监控 AI 服务的健康状态。

// AI 服务监控
@Component
public class AigcMetrics {
    private final MeterRegistry meterRegistry;
    private final Counter requestCounter;
    private final Timer responseTimer;

    public AigcMetrics(MeterRegistry meterRegistry) {
        this.meterRegistry = meterRegistry;
        this.requestCounter = Counter.builder("aigc.requests")
            .description("AIGC 请求总数")
            .register(meterRegistry);
        this.responseTimer = Timer.builder("aigc.response.time")
            .description("AIGC 响应时间")
            .register(meterRegistry);
    }

    public void recordRequest(String model, String status) {
        requestCounter.increment(Tags.of("model", model, "status", status));
    }

    public Timer.Sample startTimer() {
        return Timer.start(meterRegistry);
    }
}
3.2 适用场景分析

最适合 Java 的 AI 场景:

  1. 企业级 AI 平台构建 - 需要高可用、高并发的 AI 服务平台
  2. 现有系统 AI 改造 - 为现有 Java 系统添加 AI 能力
  3. AI 服务化部署 - 将 AI 模型包装为微服务
  4. 复杂业务逻辑 AI 应用 - 需要复杂业务规则的 AI 系统

不太适合的场景:

  1. 算法研究和原型开发 - Python 更适合快速实验
  2. 纯深度学习模型训练 - GPU 加速和数值计算优化不如 Python
  3. 计算机视觉核心算法 - OpenCV-Python 生态更完整

四、未来展望:Java AI 生态的发展方向

4.1 技术发展趋势
  1. 更深度的云原生集成 - 与 Kubernetes、Istio 等云原生技术深度结合
  2. 边缘 AI 部署 - GraalVM Native Image 支持边缘设备部署
  3. 企业级 AI 中台 - 构建统一的企业 AI 能力平台
  4. 多模态 AI 应用 - 文本、图像、语音的统一处理框架
4.2 生态完善路径

Java AI 生态的完善需要在以下几个方面持续努力:

  1. 降低使用门槛 - 提供更多开箱即用的解决方案
  2. 性能优化 - 在数值计算和 GPU 加速方面追赶 Python
  3. 社区建设 - 培养更多 Java AI 开发者和贡献者
  4. 标准化 - 建立 Java AI 框架的标准规范

结语

Java 在 AI 时代并非被边缘化,而是在寻找自己的独特定位。虽然在算法研究和模型训练方面 Python 依然占据主导地位,但在企业级 AI 应用、AI 服务化部署、以及将 AI 能力集成到现有业务系统方面,Java 展现出了独特的优势。

随着 AIGC 技术的普及和企业数字化转型的深入,Java 在 AI 领域的价值将进一步凸显。对于 Java 开发者来说,现在正是学习和掌握 AI 技术的最佳时机。通过合理利用 Java 的生态优势,结合现代 AI 技术,我们完全可以构建出高质量、高性能的 AI 应用系统。

未来的 AI 应用不仅需要强大的算法能力,更需要稳定可靠的工程实现。而这正是 Java 的强项所在。让我们拥抱 AI 时代,用 Java 构建更智能的未来!

目录

  1. 一、Java AI 生态概览:多样化的技术选择
  2. 1.1 深度学习框架:接轨主流 AI 技术
  3. Deep Java Library (DJL) - 统一的深度学习接口
  4. Deeplearning4j - 企业级深度学习解决方案
  5. 1.2 传统机器学习框架:成熟稳定的选择
  6. Weka - 学术界的宠儿
  7. Smile - 现代化的机器学习库
  8. 1.3 自然语言处理框架:文本智能处理
  9. Stanford CoreNLP - 功能全面的 NLP 工具包
  10. 1.4 大数据 AI 框架:处理海量数据的利器
  11. Apache Spark MLlib - 分布式机器学习
  12. 二、Java 在 AIGC 时代的机遇与挑战
  13. 2.1 Spring AI:Java 拥抱 AIGC 的新起点
  14. application.yml
  15. 2.2 Java AIGC 应用架构设计
  16. 2.3 AIGC 应用的微服务架构
  17. 三、Java AI 技术栈的优势与适用场景
  18. 3.1 企业级应用的天然优势
  19. 3.2 适用场景分析
  20. 四、未来展望:Java AI 生态的发展方向
  21. 4.1 技术发展趋势
  22. 4.2 生态完善路径
  23. 结语
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 网络安全学习路线与技能规划指南
  • uv 虚拟环境管理:venv 创建、激活与 Python 版本指定
  • libwebkit2gtk-4.1-0 安装指南:Linux 桌面 WebView 开发配置
  • OpenClaw 多 Agent 对接多个飞书机器人配置指南
  • 华为 OD 机试:快递站点投递路径分析与解法
  • Android Studio 安装与 SDK、JDK、Gradle 配置详解
  • MiniMax-M2.5 开源:编程与智能体成本效率双突破
  • C++ 进阶:深入理解类与对象的默认成员函数
  • ChatGPT 实用技巧:文本与数据的结构化方法
  • 基于 SSM 与 Vue 的在线投稿系统设计与实现
  • Java 多线程编程:从基础原理到实战应用
  • Python 自动化:wxauto 安装失败解决方案及实战
  • 机器人技术中的李群与李代数基础解析
  • Python 基于 Flask 的博物馆文物报修管理系统设计与实现
  • 龙年 AI 生成封面图片玩法与变现指南
  • Neo4j 图数据库从搭建到项目使用深度详解
  • Python+Flask 宠物成长监管系统设计与实现
  • Rust 异步代码的测试与调试实践
  • Python 在日常生活与职场中的核心应用及发展分析
  • Python 数据可视化实战:Matplotlib、Seaborn 与 Plotly 绘图指南

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online