- Day10--栈与队列--232. 用栈实现队列,225. 用队列实现栈,20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值
Day10–栈与队列–232.用栈实现队列,225.用队列实现栈,20.有效的括号,1047.删除字符串中的所有相邻重复项,150.逆波兰表达式求值232.用栈实现队列思路:用ArrayDeque来实现;有趣的dumpToStackOut();classMyQueue{DequestackIn;DequestackOut;publicMyQueue(){stackIn=newArrayDeque(
- FloEFD 工程师使用灵活,企业如何科学管控许可证资源?
随着制造企业对设计仿真一体化需求的增长,FloEFD作为SiemensDigitalIndustriesSoftware提供的CAD嵌入式计算流体动力学(CFD)工具,凭借与SolidWorks、Creo、NX、CATIA等主流CAD平台深度集成,广泛应用于电子散热、汽车、能源装备、流体机械等行业。FloEFD的优势在于其“工程师友好型”理念,使设计工程师可以直接在CAD环境中完成几何建模、网格生
- 三种接口实现增删改查
灬爱码士灬
javajava
目录ArrayListHashSetHashMapArrayListArrayList实现增删改查packagetest;importjava.util.ArrayList;importjava.util.Iterator;/***@Author:Mo*@Date:2020/12/611:11*/publicclasslist{ArrayListlist1=newArrayList();publi
- BEYOND BINARY REWARDS: TRAINING LMS TOREASON ABOUT THEIR UNCERTAINTY
樱花的浪漫
大模型与智能体对抗生成网络与动作识别强化学习人工智能语言模型自然语言处理机器学习深度学习
https://gist.github.com/josherich/8a30dbf3d6ae0cae1048c3331f38fe80https://gist.github.com/josherich/8a30dbf3d6ae0cae1048c3331f38fe801引言与此担忧一致,研究表明,即使最初校准良好的大型语言模型(LLMs)在RL训练后也会变得过度自信(Lengetal.,2
- Gradient-Adaptive Policy Optimization:Towards Multi-Objective Alignment of Large Language Models
樱花的浪漫
大模型与智能体对抗生成网络与动作识别强化学习语言模型人工智能自然语言处理深度学习机器学习
2025.acl-long.549.pdfhttps://aclanthology.org/2025.acl-long.549.pdf1.概述大型语言模型(LLMs)(Anthropic,2023;OpenAI,2024)已经在广泛的实际应用中展示了显著的能力(Bubecketal.,2023),包括内容创作(Yuanetal.,2022)、编程辅助(Chenetal.,2021;Gaoetal.
- Hive使用必知必会系列
王知无(import_bigdata)
Hive系统性学习专栏hivebigdatahdfs
一、Hive的几种数据模型内部表(Table将数据保存到Hive自己的数据仓库目录中:/usr/hive/warehouse)外部表(ExternalTable相对于内部表,数据不在自己的数据仓库中,只保存数据的元信息)分区表(PartitionTable将数据按照设定的条件分开存储,提高查询效率,分区----->目录)桶表(BucketTable本质上也是一种分区表,类似hash分区桶---->
- 如何把自己的代理公司介绍给客户?(第二句)
Lisa_Wang_China
WeareverypleasedtoalignwithsuchanexperiencedorganizationXXXXasourlocalpartnerinIndonesiaandlookforwardtotheopportunitytoparticipateinanyupcomingcardopportunities.释义:我们非常高兴能与经验丰富的XXXX组织结盟,成为我们在印度尼西亚的本地
- 数据结构之顺序表&链表&栈
tryxr
数据结构顺序表链表栈
顺序表什么是listlist的使用线性表是什么顺序表是什么顺序表和线性表的关系顺序表和数组的区别List和ArrayList的关系如何自己模拟实现myArrayListArrayList的构造ArrayList的常见方法以下两种写法有什么区别ArrayListarrayList=newArrayListlist=newArrayList是什么意思返回值是List>是什么意思ArrayList实现杨
- python中的装包与解包
Python之简
Python
python中的装包与解包*args和**kwargs是常用的两个参数*args:用于接受多余的未命名的参数,元组类型。**kwargs:用于接受形参的命名参数,字典类型的数据。可变参数args:deffun(n,*args):print(n)print(args)#未拆包print(*args)#进行拆包fun(1,2,3,4)结果:1(2,3,4)234形参中的*args是接受数据的args,
- Git 分支合并规范
蓝天白云_Sam
合并规范为了得到清晰的分支历史,在进行分支合并的时候有两点规范需要注意:所有分支的合并都采用非快进模式,具体操作加下方;feature分支只能定时同步mater的变更,而不能直接合并release分支等其他分支来实现代码同步;附件为快进模式可能会导致的分支历史混乱问题,有兴趣可以看看。非快进合并命令行--no-ff表示此次合并不使用快进模式(fastforward):gitmergeyour_br
- SAP BW数据仓库总览
weixin_42559081
[分享]SAPBW数据仓库简介本文从一个简单的业务场景-销售分析入手,介绍SAPBW(BusinessInfomationWarehouse)实现多维分析的基本方案与实现技术;结合销售分析的实际需求,给出了销售分析管理数据仓库在SAPBW(业务信息仓库)模块中的实现过程描述。1、数据仓库的基本理论1.1数据仓库数据仓库是对数据进行提炼、加工和集成含有一定量商务信息和意义的信息。数据仓库不是为了存储
- 强化学习入门三(SARSA)
第六五签
算法模型算法人工智能
SARSA算法详解SARSA是强化学习中另一种经典的时序差分(TD)学习算法,与Q-Learning同属无模型(model-free)算法,但在更新策略上有显著差异。SARSA的名称来源于其更新公式中涉及的五个元素:状态(State)、动作(Action)、奖励(Reward)、下一状态(NextState)、下一动作(NextAction),即(S,A,R,S’,A’)。SARSA与Q-Lear
- java List<Map> 去重
Perfect珈蓝
java
publicstaticList>removeRepeatMapByKey(List>list,StringmapKey){if(CollectionUtils.isNullOrEmpty(list))returnnull;List>listMap=newArrayListmsp=newHashMap=0;i--){Mapmap=list.get(i);Stringid=map.get(mapKe
- spring boot入门
开往1982
springboot后端java
SpringBoot简介(脚手架)简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;优点:快速创建独立运行的spring项目以及与主流框架集成使用嵌入式的Servlet容器,应用无需打成war包,内嵌TomcatStarters自动依赖和版本控制大量的自动装配,简化开发,也可以修改默认值无需配置XML无代码生成开箱即用准生产环境的运行时应用监控与
- list<String>去重BUG
复盘一下:最近项目上出现了这样一个问题,前端传的参数是List类型的,里面的内容是数字,我用String接收,貌似没啥问题。但是。。。。Listlist=newArrayListlist2=list.stream().distinct().collect(Collectors.toList());System.out.println(list2);输出:[1,1,2][1,2]没啥问题,但是我给第
- Java中给List<String>去重的4种方式
Java&Develop
Java开发javalistwindows
Java中给List去重的4种方式Listlist=newArrayListlist1=list.stream().distinct().collect(Collectors.toList());System.out.println("方式1:"+list1);//方式2:使用Set去重Setset=newHashSetlist2=newArrayListlinkedHashSet=newLink
- 探索消息传递的新境界:RabbitMQ到Amazon的无缝桥梁
毕瑜旭Edwin
探索消息传递的新境界:RabbitMQ到Amazon的无缝桥梁在当今高度互联的技术世界中,确保不同服务之间的高效且可靠的通信至关重要。为此,我们带来了由AirHelp开发并维护的开源神器——RabbitMQ->Amazonforwarder。本文旨在揭开它的神秘面纱,探讨其背后的强大技术支撑,并展示如何利用这一工具优化您的微服务架构和工作流。项目介绍RabbitMQ->Amazonforwarde
- Qt调试详细日志文件输出
王宪笙
Qt学习总结qt开发语言
Qt调试详细日志文件输出qSetMessagePattern函数通过qSetMessagePattern函数,实现定制化输出。占位符描述如下:%{appname}:应用名字%{file}:源文件路径%{function}:函数%{line}:源文件所在行%{message}:实际的消息%{pid}:应用进程号%{threadid}:线程ID%{type}:日志类型(如Debug、Warning、C
- 删除我的电脑中“C盘瘦身专家”图标(流氓软件)
用联想电脑管家强制先卸载掉该软件,然后以管理员身份打开注册表(regedit)跳转到注册路径:计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer找到包含“C盘瘦身专家”得注册表项,然后直接删除,刷新桌面浏览器,就可以看到图标被删除了,国内做好软件不行,搞流氓软件倒是有一绝,正常从市场
- Crome:因果鲁棒奖励建模框架——破解LLM对齐中的奖励黑客难题
大千AI助手
人工智能#OTHERPython人工智能深度学习神经网络大模型因果推断奖励黑客RewardHacking
Crome(CausalRobustRewardModeling)是由GoogleDeepMind联合麦吉尔大学和魁北克人工智能研究所(MILA)于2025年提出的创新框架,旨在解决大语言模型(LLM)对齐中奖励模型(RM)的奖励黑客(RewardHacking)问题。该框架通过因果数据增强与反事实训练机制,显著提升RM对真实质量属性(如事实性、安全性)的敏感性,同时抑制对虚假属性(如文本长度、格
- Place
JillionZ
PLACE是美国的JayMcSwain提出的开发子女才能的工具。PLACE是指在五个领域发现子女的才能。P(Personalitydiscovery)性格类型L(Learningspiritualgifts)天生的才能A(AbilitiesAwareness)能力C(Connectingpassionwithministry)热情E(Experiencesoflife)人生经历作为父母,要充分了解
- vmware 安装win11(Mac电脑)
2501_92809465
macosmacwin11
原文地址:Win11系统VMware虚拟机安装教程Win11提供了许多创新功能,增加了新版开始菜单和输入逻辑等,支持与时代相符的混合工作环境,侧重于在灵活多变的体验中提高最终用户的工作效率。
- 机器视觉Halcon
介绍Halcon是由德国MVTecSoftwareGmbH公司开发的一款机器视觉软件,广泛应用于工业检测、医学成像、机器人引导、三维视觉等领域。它提供强大的图像处理和分析功能,支持快速开发高效的机器视觉应用。_____________________________________________________________________________Halcon主要特点1.强大的图像处理
- Android系统编译源码目录详解
giaoho
安卓开发学习学习
源码目录详解文章目录源码目录详解一、核心框架与系统层相关二、编译、构建与开发工具链相关三、系统应用与包管理相关四、测试、调试与辅助工具相关五、其他关键文件/文件夹/frameworks及其子目录讲解1.`base`2.`av`3.`hardware`4.`native`5.`libs`6.`minikin`7.`layoutlib`总结:高频使用优先级/build目录详解1.核心构建工具相关baz
- Java泛型初始化ArrayList<String>()和ArrayList<>()的区别
文章目录前言Java泛型初始化:`ArrayList()`vs`ArrayList()`)1.2钻石操作符初始化(`ArrayListlist=newArrayList()钻石操作符初始化:Listlist=newArrayList()vsArrayList())Listlist=newArrayList();在newArrayList()中,显式指定了泛型类型String。适用于Java5及以上
- Groupdocs.Viewer for .NET 25.6
sdk大全
AsposeTotalfor.NETGroupdocs
Groupdocs.Viewerfor.NETisaverybasicyetpotenttoolthatallowsdeveloperstorenderdocumentsandenabletheirapplicationstoviewitintheirapplicationswithoutusinganyotherthird-partysoftware,suchasMicrosoftOfficeo
- 虚拟机VMware 安装centos、常规配置、共享文件等
一乐乐
安装centos7【通过vm来安装运行centos7】一、准备工作1、centos7的安装镜像下载链接:http://isoredirect.centos.org/centos/7/isos/x86_64/2、vmware-workstation的安装包下载链接:https://softwareupdate.vmware.com/cds/vmw-desktop/ws/本文选择的centos7版本是
- win配置gradle
彦楠
windowsjavajavagradlewindows
1,下载gradle-7.5.1下载链接:gradle-7.5.12,解压gradle-7.5.1,配置环境变量,新建GRADLE_HOME环境变量指向你的Gradle解压路径例如G:\Software\gradle-7.5.13,将%GRADLE_HOME%\bin添加到Path环境变量中4,验证gradle是否安装成功,打开cmd命令行输入gradle-vC:\Users\Administra
- h5st 5.1.8纯算分析
自学不成才
前端javascript数据库
分析过程通过商详pc_detailpage_wareBusiness定位h5st生成的位置这里我们能看到逻辑,varl=JSON.stringify(r),f=(newDate).getTime()||"1",u={appid:"pc-item-soa",functionId:"pc_detailpage_wareBusiness",client:"pc",clientVersion:"1.0.0
- 【一看就会】autoware universe中有关control部分的参数设置
不断学习加努力
自动驾驶算法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、车辆模型1.mirror.param2.simulator_model.param3.vehicle_info.param二、跟踪控制相关参数1.pid.param.yaml2.mpc.param.yaml2.pure_pursuit.param.yaml三、其余控制参数1.`autoware_autonomous_e
- 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