- Python编程:使用Opencv进行图像处理
【参考】https://github.com/opencv/opencv/tree/4.x/samples/pythonPython使用OpenCV进行图像处理OpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉和机器学习软件库。下面将从基础到高阶介绍如何使用Python中的OpenCV进行图像处理。一、安装首先需要安装OpenCV库:pipinst
- 学习昇腾开发的六天--ACL应用开发之运行第一个实例
派晟电子工作室
学习昇腾
1、下载一个实例,运行一个图像分类实例(环境:Ubuntu22.04,硬件:昇腾310B1,加速模块:atlas200ia2)samples:CANNSamples-Gitee.com目录结构如下:├──data│├──dog1_1024_683.jpg//测试数据,需要按指导获取测试图片,放到data目录下│├──dog2_1024_683.jpg//测试数据,需要按指导获取测试图片,放到dat
- Microsoft Visual Studio Code 扩展示例项目指南
甄英贵Lauren
MicrosoftVisualStudioCode扩展示例项目指南vscode-extension-samplesSamplecodeillustratingtheVSCodeextensionAPI.项目地址:https://gitcode.com/gh_mirrors/vs/vscode-extension-samples目录结构及介绍在克隆或下载了microsoft/vscode-exten
- python打卡第47天
zdy1263574688
python打卡python开发语言
昨天代码中注意力热图的部分顺移至今天知识点回顾:热力图作业:对比不同卷积层热图可视化的结果defvisualize_attention_map(model,test_loader,device,class_names,num_samples=3):"""可视化模型的注意力热力图,展示模型关注的图像区域参数:model:训练好的PyTorch模型test_loader:测试数据加载器device:计
- 【大模型】大模型微调(中)
油泼辣子多加
大模型实战深度学习机器学习人工智能
一、P-Tuning(PromptTuning)1.原理软提示(SoftPrompt):在输入前添加可训练的连续向量(softprompt),而非修改模型参数。冻结模型主体:仅更新提示向量,保持预训练权重不变。优势:显存开销小,易于存储和切换任务;支持多任务场景。2.所需数据示例{"prompt_template":"Question:{question}Answer:","samples":[{
- python打卡训练营打卡记录day47
yorushika_
python打卡训练营python深度学习开发语言
知识点回顾:热力图作业:对比不同卷积层热图可视化的结果承接昨天模型重新定义部分的代码#可视化空间注意力热力图(显示模型关注的图像区域)defvisualize_attention_map(model,test_loader,device,class_names,num_samples=3):"""可视化模型的注意力热力图,展示模型关注的图像区域"""model.eval()#设置为评估模式with
- 微调embedding模型_jhgan-ko-sroberta-multitask
激进小猪1002
embeddingbert自然语言处理
模型地址:https://huggingface.co/jhgan/ko-sroberta-multitask目录数据准备阶段特殊韩语处理技巧模型加载与配置损失函数选择指南进阶训练配置评估与优化策略数据准备阶段推荐数据格式:#句子对格式(语义相似度任务)samples=[("문장1","문장2",0.8),#相似度得分("한국어문장","다른한국어문장",0.3)]#三元组格式(信息检索任务)tr
- #copulas包python实现。利用极大似然法估计ABCD四个序列的建立D-Vine copula函数,并利用A和D的联合分布,计算A+D的估计区间。
wintercoming111
pythonnumpy开发语言
importnumpyasnpfromcopulas.univariateimportKernelDensityfromcopulas.bivariateimportClaytonfromcopulas.multivariateimportDVine#生成随机样本数据np.random.seed(42)n_samples=1000A=np.random.uniform(0,1,n_samples)
- ISO 22839 ——解读(与ACC、FSRA协同)
一点.点
#自动驾驶相关标准法规自动驾驶人工智能机器学习
Intelligenttransportsystems—Forwardvehiclecollisionmitigationsystems—Operation,performance,andverificationrequirements(Firstedition:2013-06-01)原文链接:https://cdn.standards.iteh.ai/samples/45339/1a6b2e5b
- 【A2A】管中窥豹,google源码python-demo介绍
一起喝芬达2010
python开发语言agent语言模型
前言A2A(Agent2Agent)是Google推出的一项新协议,旨在解决多智能体(Multi-Agent)系统中跨平台、跨组织协作的难题。它为AI代理之间的通信、协作和任务分工提供了一个统一的标准,可以类比为网页世界的HTTP协议——即AI代理之间的“通用语言”项目地址:https://github.com/google/A2A/tree/main/samples/python一、项目架构介绍
- Python 打卡训练营 Day17
宸汐Fish_Heart
python开发语言
DAY17知识点聚类的指标聚类常见算法:kmeans聚类、dbscan聚类、层次聚类三种算法对应的流程实际在论文中聚类的策略不一定是针对所有特征,可以针对其中几个可以解释的特征进行聚类,得到聚类后的类别,这样后续进行解释也更加符合逻辑。聚类的流程标准化数据选择合适的算法,根据评估指标调参()KMeans和层次聚类的参数是K值,选完k指标就确定DBSCAN的参数是eps和min_samples,选完
- 探索WPF开发新境界:WPF Prism实例教程
柯玄策Angelica
探索WPF开发新境界:WPFPrism实例教程Prism-Samples.7z项目地址:https://gitcode.com/open-source-toolkit/b159c项目介绍在现代桌面应用程序开发中,WPF(WindowsPresentationFoundation)凭借其强大的UI定制能力和灵活的数据绑定机制,成为了众多开发者的首选。然而,随着应用复杂度的增加,如何高效地管理代码结构
- java spring mvc与struts 效率_对于Struts和Spring两种MVC框架的比较
定乎内外之分
javaspringmvc与struts效率
1引言基于Web的MVCframework在J2EE的世界内已是空前繁荣。TTS网站上几乎每隔一两个星期就会有新的MVC框架发布。目前比较好的MVC,老牌的有Struts,Webwork。新兴的MVC框架有SpringMVC,Tapestry,JSF等。这些大多是著名团队的作品,另外还有一些边缘团队的作品,也相当出色,如Dinamica,VRaptor等。这些框架都提供了较好的层次分隔能力。在实现
- JMeter压测报告分析
黑米粥✎
jmeterjava开发语言
添加聚合压测报告聚合报告:压测结果报告展示请求与响应的性能参数累计值压测数据值的展示注意:建议连续压测,若中间有间断需要数据清零在线程组下添加聚合报告-AggregateReport(监听器)指标解读:Samples:总线程数,值=线程数*循环次数Average:单个请求的平均响应时间Median:中位数,50%用户的响应时间90%Line:90%用户的响应时间95%Line:95%用户的响应时间
- cocos2d x 入门学习(一)实例制作简单的射击小游戏Star Fighter
小李00
小游戏实例cocos2d-x(2.x)cocos2d-x源代码实例游戏
我们将使用cocos2d-x制作一个简单的射击游戏。本文所用的制作环境是cocos2dx2.0.4,VS2010。参考资料:1、本文的原型其实是来自cocos2d-2.0-x-2.0.4官方下载的安装软件,解压缩后可以看到该例子,即在根目录下的Samples示例文件夹里面的SimpleGame。2、博客无幻的SimpleGame制作的文章,这里是传送门:http://blog.csdn.net/a
- Datawhale Al春训营 --RNA结构预测(AI+创新药)代码记录
2 0 1 2
人工智能深度学习机器学习
#模型训练与验证classRNADataset(torch.utils.data.Dataset):def__init__(self,coords_dir,seqs_dir):self.samples=[]#读取所有数据并转换为图forfnameinos.listdir(coords_dir):#加载坐标数据coord=np.load(os.path.join(coords_dir,fname))
- Unity麦克风采样audio44100HZ 转16000HZ
虾米神探
语音识别人工智能
1、手机在麦克风有部分手机识别16000HZ音频时会导致失真。unity默认是44100HZ但是发到阿里的语音sdk只识别8K和16K的所以需要转换采样一下AudioClipResampleAudio44100(AudioClipsourceClip){//1.提取原始数据float[]sourceData=newfloat[sourceClip.samples*sourceClip.channe
- Hyperledger Fabric(JAVA)快速工程化部署
大吱佬
fabricjava运维
前置nano~/.bashrcexportPATH=$PATH:/mydata/hyfa/fabric-samples/binexportFABRIC_CFG_PATH=/mydata/hyfa/fabric-samples/configexportCORE_PEER_TLS_ENABLED=trueexportCORE_PEER_LOCALMSPID="Org1MSP"exportCORE_PE
- 基于autokeras的简单天气预报例子和运行输出
piaopiaolanghua
ML与AIauto-keras
importnumpyasnpfromautokerasimportStructuredDataClassifierfromsklearn.model_selectionimporttrain_test_splitfromsklearn.preprocessingimportStandardScaler#模拟数据np.random.seed(0)n_samples=1000X=np.random.
- 学习记录5
桃子榛子杏子
学习
这周的任务就是修改代码!-->000000false${update_rate}${samples}1-${0.5*fov}${0.5*fov}${range_min}${range_max}0.01gaussian0.0${range_stddev}${topic}sonar${suffix}_link${namespace}${topic}-->${fov}${width}${height}R
- Android输入示例项目指南
萧崧锟
Android输入示例项目指南input-samplesMultiplesamplesshowingthebestpracticesininputonAndroid.项目地址:https://gitcode.com/gh_mirrors/in/input-samples项目介绍Android输入示例项目是一个专注于演示Android平台上最佳输入实践的开源集合。它由Google维护,提供了多个示例
- XxlJob+钉钉机器人实现天气提醒
知之为知
JavaJava
(1).分布式任务调度平台XXL-JOBhttps://gitee.com/xuxueli0323/xxl-job源码结构:xxl-job-admin:调度中心xxl-job-core:公共依赖xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器):xxl-job-executor-sample-sprin
- 几种常见的 A/D 转换算法示例代码,涵盖简单的加权平均法和中值滤波法
max500600
算法算法python机器学习
以下为你提供几种常见的A/D转换算法示例代码,涵盖简单的加权平均法和中值滤波法。1.加权平均法加权平均法会依据不同权重对多次采样值进行加权平均,从而得到最终的A/D转换结果。该方法能有效减少随机噪声的影响。#模拟A/D转换的加权平均法defweighted_average_adc(samples,weights):iflen(samples)!=len(weights):raiseValueErr
- Amazon Textract 代码示例教程
孔祯拓Belinda
AmazonTextract代码示例教程amazon-textract-code-samplesAmazonTextractCodeSamples项目地址:https://gitcode.com/gh_mirrors/am/amazon-textract-code-samples项目介绍AmazonTextract是一个从扫描文档中自动提取文本和数据的服务。amazon-textract-code
- Eagle_Wood-滤波方式学习笔记
OverflowSummer
嵌入式泛用知识学习笔记人工智能算法嵌入式硬件笔记学习
//1.移动平均滤波器(信号处理)#defineWINDOW_SIZE5floatmoving_average(float*buffer,floatnew_sample){ staticfloatsum=0; staticintindex=0; staticfloatsamples[WINDOW_SIZE]={0}; sum-=samples[index]; samples[ind
- 训练数据重复采样,让正负样本比例1:1
kimi-222
机器学习人工智能深度学习
详细解释resample函数:resample函数来自sklearn.utils,用于从数据集中重新抽样。replace=True表示允许重复抽样,即同一个样本可以被多次选中。n_samples指定抽样的数量。确保训练集数量相同:通过resample函数,你可以确保正训练集和负训练集的数量相同,即使其中一个集的数量小于另一个集的数量。如果n_train_num小于max_train_num,res
- max_samples,batch_size,gradient_accumulation_steps这三个分别的联系和区别
背太阳的牧羊人
模型微调batch机器学习人工智能
这三个参数都是控制训练数据如何被处理的,它们的作用和区别如下:1.max_samples(最大样本数)定义:限制每个数据集最多使用多少条数据。作用:控制总共参与训练的数据量,减少max_samples可以加快训练速度。你的代码示例:max_samples=300#每个数据集最多用300条样本解释:假设你的dataset里包含:identity数据集有10,000条数据alpaca_en_demo数
- Fabric合约(Java)打包及发布
qsqya
区块链javafabricmybatis
文档合约打包将打包好的合约(jar)上传到服务器/root/fabric/fabric-samples-2.2.0/chaincode/fabric-contract-demo1打包peerlifecyclechaincodepackagefabric-contract-demo1.tar.gz--path../chaincode/fabric-contract-demo1/--langjava-
- RTSP 公开地址
_老码
项目实战物联网音视频html
http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4亲测可用,需等待一段时间,有点卡。苹果提供的测试链接,等待时间更长,也能用。苹果提供的测试源(点播):http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8http://devimages.apple.com/iphone/sam
- 使用AWS CloudFormation部署ECS微服务参考架构
宁烈廷
使用AWSCloudFormation部署ECS微服务参考架构ecs-refarch-cloudformationaws-samples/ecs-refarch-cloudformation:是一个用于在AWS上部署和扩展容器化应用程序的参考架构。适合在AWS上部署和管理容器化应用程序,以及学习和了解使用AWSECS进行容器化部署的最佳实践。特点是提供了一个完整的解决方案,包括基础设施部署、容器编
- html页面js获取参数值
0624chenhong
html
1.js获取参数值js
function GetQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = windo
- MongoDB 在多线程高并发下的问题
BigCat2013
mongodbDB高并发重复数据
最近项目用到 MongoDB , 主要是一些读取数据及改状态位的操作. 因为是结合了最近流行的 Storm进行大数据的分析处理,并将分析结果插入Vertica数据库,所以在多线程高并发的情境下, 会发现 Vertica 数据库中有部分重复的数据. 这到底是什么原因导致的呢?笔者开始也是一筹莫 展,重复去看 MongoDB 的 API , 终于有了新发现 :
com.mongodb.DB 这个类有
- c++ 用类模版实现链表(c++语言程序设计第四版示例代码)
CrazyMizzz
数据结构C++
#include<iostream>
#include<cassert>
using namespace std;
template<class T>
class Node
{
private:
Node<T> * next;
public:
T data;
- 最近情况
麦田的设计者
感慨考试生活
在五月黄梅天的岁月里,一年两次的软考又要开始了。到目前为止,我已经考了多达三次的软考,最后的结果就是通过了初级考试(程序员)。人啊,就是不满足,考了初级就希望考中级,于是,这学期我就报考了中级,明天就要考试。感觉机会不大,期待奇迹发生吧。这个学期忙于练车,写项目,反正最后是一团糟。后天还要考试科目二。这个星期真的是很艰难的一周,希望能快点度过。
- linux系统中用pkill踢出在线登录用户
被触发
linux
由于linux服务器允许多用户登录,公司很多人知道密码,工作造成一定的障碍所以需要有时踢出指定的用户
1/#who 查出当前有那些终端登录(用 w 命令更详细)
# who
root pts/0 2010-10-28 09:36 (192
- 仿QQ聊天第二版
肆无忌惮_
qq
在第一版之上的改进内容:
第一版链接:
http://479001499.iteye.com/admin/blogs/2100893
用map存起来号码对应的聊天窗口对象,解决私聊的时候所有消息发到一个窗口的问题.
增加ViewInfo类,这个是信息预览的窗口,如果是自己的信息,则可以进行编辑.
信息修改后上传至服务器再告诉所有用户,自己的窗口
- java读取配置文件
知了ing
1,java读取.properties配置文件
InputStream in;
try {
in = test.class.getClassLoader().getResourceAsStream("config/ipnetOracle.properties");//配置文件的路径
Properties p = new Properties()
- __attribute__ 你知多少?
矮蛋蛋
C++gcc
原文地址:
http://www.cnblogs.com/astwish/p/3460618.html
GNU C 的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。
__attribute__ 书写特征是:
- jsoup使用笔记
alleni123
java爬虫JSoup
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.7.3</version>
</dependency>
2014/08/28
今天遇到这种形式,
- JAVA中的集合 Collectio 和Map的简单使用及方法
百合不是茶
listmapset
List ,set ,map的使用方法和区别
java容器类类库的用途是保存对象,并将其分为两个概念:
Collection集合:一个独立的序列,这些序列都服从一条或多条规则;List必须按顺序保存元素 ,set不能重复元素;Queue按照排队规则来确定对象产生的顺序(通常与他们被插入的
- 杀LINUX的JOB进程
bijian1013
linuxunix
今天发现数据库一个JOB一直在执行,都执行了好几个小时还在执行,所以想办法给删除掉
系统环境:
ORACLE 10G
Linux操作系统
操作步骤如下:
第一步.查询出来那个job在运行,找个对应的SID字段
select * from dba_jobs_running--找到job对应的sid
&n
- Spring AOP详解
bijian1013
javaspringAOP
最近项目中遇到了以下几点需求,仔细思考之后,觉得采用AOP来解决。一方面是为了以更加灵活的方式来解决问题,另一方面是借此机会深入学习Spring AOP相关的内容。例如,以下需求不用AOP肯定也能解决,至于是否牵强附会,仁者见仁智者见智。
1.对部分函数的调用进行日志记录,用于观察特定问题在运行过程中的函数调用
- [Gson六]Gson类型适配器(TypeAdapter)
bit1129
Adapter
TypeAdapter的使用动机
Gson在序列化和反序列化时,默认情况下,是按照POJO类的字段属性名和JSON串键进行一一映射匹配,然后把JSON串的键对应的值转换成POJO相同字段对应的值,反之亦然,在这个过程中有一个JSON串Key对应的Value和对象之间如何转换(序列化/反序列化)的问题。
以Date为例,在序列化和反序列化时,Gson默认使用java.
- 【spark八十七】给定Driver Program, 如何判断哪些代码在Driver运行,哪些代码在Worker上执行
bit1129
driver
Driver Program是用户编写的提交给Spark集群执行的application,它包含两部分
作为驱动: Driver与Master、Worker协作完成application进程的启动、DAG划分、计算任务封装、计算任务分发到各个计算节点(Worker)、计算资源的分配等。
计算逻辑本身,当计算任务在Worker执行时,执行计算逻辑完成application的计算任务
- nginx 经验总结
ronin47
nginx 总结
深感nginx的强大,只学了皮毛,把学下的记录。
获取Header 信息,一般是以$http_XX(XX是小写)
获取body,通过接口,再展开,根据K取V
获取uri,以$arg_XX
&n
- 轩辕互动-1.求三个整数中第二大的数2.整型数组的平衡点
bylijinnan
数组
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ExoWeb {
public static void main(String[] args) {
ExoWeb ew=new ExoWeb();
System.out.pri
- Netty源码学习-Java-NIO-Reactor
bylijinnan
java多线程netty
Netty里面采用了NIO-based Reactor Pattern
了解这个模式对学习Netty非常有帮助
参考以下两篇文章:
http://jeewanthad.blogspot.com/2013/02/reactor-pattern-explained-part-1.html
http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf
- AOP通俗理解
cngolon
springAOP
1.我所知道的aop 初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等。一下子让你不知所措,心想着:怪不得很多人都和 我说aop多难多难。当我看进去以后,我才发现:它就是一些java基础上的朴实无华的应用,包括ioc,包括许许多多这样的名词,都是万变不离其宗而 已。 2.为什么用aop&nb
- cursor variable 实例
ctrain
variable
create or replace procedure proc_test01
as
type emp_row is record(
empno emp.empno%type,
ename emp.ename%type,
job emp.job%type,
mgr emp.mgr%type,
hiberdate emp.hiredate%type,
sal emp.sal%t
- shell报bash: service: command not found解决方法
daizj
linuxshellservicejps
今天在执行一个脚本时,本来是想在脚本中启动hdfs和hive等程序,可以在执行到service hive-server start等启动服务的命令时会报错,最终解决方法记录一下:
脚本报错如下:
./olap_quick_intall.sh: line 57: service: command not found
./olap_quick_intall.sh: line 59
- 40个迹象表明你还是PHP菜鸟
dcj3sjt126com
设计模式PHP正则表达式oop
你是PHP菜鸟,如果你:1. 不会利用如phpDoc 这样的工具来恰当地注释你的代码2. 对优秀的集成开发环境如Zend Studio 或Eclipse PDT 视而不见3. 从未用过任何形式的版本控制系统,如Subclipse4. 不采用某种编码与命名标准 ,以及通用约定,不能在项目开发周期里贯彻落实5. 不使用统一开发方式6. 不转换(或)也不验证某些输入或SQL查询串(译注:参考PHP相关函
- Android逐帧动画的实现
dcj3sjt126com
android
一、代码实现:
private ImageView iv;
private AnimationDrawable ad;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout
- java远程调用linux的命令或者脚本
eksliang
linuxganymed-ssh2
转载请出自出处:
http://eksliang.iteye.com/blog/2105862
Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar)
使用步骤如下:
1.导包
官网下载:
http://www.ganymed.ethz.ch/ssh2/
ma
- adb端口被占用问题
gqdy365
adb
最近重新安装的电脑,配置了新环境,老是出现:
adb server is out of date. killing...
ADB server didn't ACK
* failed to start daemon *
百度了一下,说是端口被占用,我开个eclipse,然后打开cmd,就提示这个,很烦人。
一个比较彻底的解决办法就是修改
- ASP.NET使用FileUpload上传文件
hvt
.netC#hovertreeasp.netwebform
前台代码:
<asp:FileUpload ID="fuKeleyi" runat="server" />
<asp:Button ID="BtnUp" runat="server" onclick="BtnUp_Click" Text="上 传" />
- 代码之谜(四)- 浮点数(从惊讶到思考)
justjavac
浮点数精度代码之谜IEEE
在『代码之谜』系列的前几篇文章中,很多次出现了浮点数。 浮点数在很多编程语言中被称为简单数据类型,其实,浮点数比起那些复杂数据类型(比如字符串)来说, 一点都不简单。
单单是说明 IEEE浮点数 就可以写一本书了,我将用几篇博文来简单的说说我所理解的浮点数,算是抛砖引玉吧。 一次面试
记得多年前我招聘 Java 程序员时的一次关于浮点数、二分法、编码的面试, 多年以后,他已经称为了一名很出色的
- 数据结构随记_1
lx.asymmetric
数据结构笔记
第一章
1.数据结构包括数据的
逻辑结构、数据的物理/存储结构和数据的逻辑关系这三个方面的内容。 2.数据的存储结构可用四种基本的存储方法表示,它们分别是
顺序存储、链式存储 、索引存储 和 散列存储。 3.数据运算最常用的有五种,分别是
查找/检索、排序、插入、删除、修改。 4.算法主要有以下五个特性:
输入、输出、可行性、确定性和有穷性。 5.算法分析的
- linux的会话和进程组
网络接口
linux
会话: 一个或多个进程组。起于用户登录,终止于用户退出。此期间所有进程都属于这个会话期。会话首进程:调用setsid创建会话的进程1.规定组长进程不能调用setsid,因为调用setsid后,调用进程会成为新的进程组的组长进程.如何保证? 先调用fork,然后终止父进程,此时由于子进程的进程组ID为父进程的进程组ID,而子进程的ID是重新分配的,所以保证子进程不会是进程组长,从而子进程可以调用se
- 二维数组 元素的连续求解
1140566087
二维数组ACM
import java.util.HashMap;
public class Title {
public static void main(String[] args){
f();
}
// 二位数组的应用
//12、二维数组中,哪一行或哪一列的连续存放的0的个数最多,是几个0。注意,是“连续”。
public static void f(){
- 也谈什么时候Java比C++快
windshome
javaC++
刚打开iteye就看到这个标题“Java什么时候比C++快”,觉得很好笑。
你要比,就比同等水平的基础上的相比,笨蛋写得C代码和C++代码,去和高手写的Java代码比效率,有什么意义呢?
我是写密码算法的,深刻知道算法C和C++实现和Java实现之间的效率差,甚至也比对过C代码和汇编代码的效率差,计算机是个死的东西,再怎么优化,Java也就是和C