采用CloudFlare进行飞牛NAS的远程访问【安全免费】无需公网IP、端口号,NAS外网访问新方法_网络存储_什么值得买sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<
探索Apache NetBeans Maven Archetypes —— 构建强大的NetBeans套件
滕娴殉
探索ApacheNetBeansMavenArchetypes——构建强大的NetBeans套件netbeans-mavenutils-archetype-nbm-suite-rootApacheIncubatorPagespeedWebsite是ApachePagespeed项目的一个孵化网站,提供了关于ApachePagespeed项目的介绍、文档和示例代码。这个项目适用于Web开发者和性能优
探秘Apache NetBeans Maven插件:nbm-maven-plugin深度剖析
穆璋垒Estelle
探秘ApacheNetBeansMaven插件:nbm-maven-plugin深度剖析netbeans-mavenutils-nbm-sharedApacheNetBeansMavenUtilsNBM-Shared是一个用于共享ApacheNetBeansMaven插件的通用代码的库。它包含了许多用于处理Maven插件的通用代码,如解析POM文件、处理依赖关系、生成NBM文件等。这个库适用于任何
探索Apache NetBeans Parent Pom:加速你的Maven项目开发之旅
萧崧锟
探索ApacheNetBeansParentPom:加速你的Maven项目开发之旅netbeans-parentNetBeansParent:这是一个用于管理NetBeans项目的父pom文件。它为NetBeans项目提供了一个通用的Maven配置,包括依赖管理、插件配置等。适合NetBeans开发者和希望使用Maven进行项目管理的开发者。特点包括支持NetBeans平台的特性、自动生成项目模板
探索Apache NetBeans的魔力:Maven Archetypes带你走进高效开发的世界
柳旖岭
探索ApacheNetBeans的魔力:MavenArchetypes带你走进高效开发的世界netbeans-mavenutils-archetype-nbm-suite-rootApacheNetBeansMavenArchetypesforApacheNetBeansModulesSuite项目地址:https://gitcode.com/gh_mirrors/ne/netbeans-mave
探秘高效开发利器——Apache NetBeans Maven 插件工具包
孟振优Harvester
探秘高效开发利器——ApacheNetBeansMaven插件工具包netbeans-mavenutils-nbm-maven-harnessThisrepositoryhavebeenmergedtohttps://github.com/apache/netbeans-mavenutils-nbm-maven-plugin/项目地址:https://gitcode.com/gh_mirrors/
推荐开源项目:Apache NetBeans Maven Skin for Website
黎杉娜Torrent
推荐开源项目:ApacheNetBeansMavenSkinforWebsitenetbeans-webskinApacheNetBeansmavensiteskinformavenbuild项目地址:https://gitcode.com/gh_mirrors/ne/netbeans-webskin1、项目介绍ApacheNetBeansMavenSkinforWebsite是一个专为基于Mav
推荐文章:探索Apache NetBeans —— 开源社区的全能网页构建伙伴
任澄翊
推荐文章:探索ApacheNetBeans——开源社区的全能网页构建伙伴netbeans-websiteApacheNetBeansWebsite项目地址:https://gitcode.com/gh_mirrors/ne/netbeans-website项目介绍在这个快速发展的数字化时代,开发高效、互动性强的网站是每个技术团队的核心任务。ApacheNetBeans作为一款久负盛名的集成开发环境
推荐文章:探索Apache NetBeans的魔法——Maven插件架构助您高效开发
余印榕
推荐文章:探索ApacheNetBeans的魔法——Maven插件架构助您高效开发netbeans-mavenutils-archetype-nbm-archetypeApacheNetBeansMavenUtilsArchetypeNBMSuiteRoot是一个用于创建ApacheNetBeans模块套件的Maven插件。它可以帮助开发者快速生成一个基于NetBeans的模块套件项目,包括基本的
1秒 vs. 60秒:Nginx如何让VR/AR内容分发快如闪电?
墨瑾轩
Nginx乐园nginxvrar
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣虚拟现实(VR)和增强现实(AR)技术正以前所未有的速度改变着我们与数字世界互动的方式。然而,随着这些应用变得越来越复杂,对于快速加载和流畅交互的需求也日益增长。如何在不影响性能的前提下提供丰富的多媒体体验?答案或许就藏在Web服务器的技术革新之中。今天,我们
Nginx前端后端共用一个域名如何配置
Misnice
Nginxnginx前端运维
在Nginx中配置前端和后端共用一个域名的情况,通常是通过路径或子路径将请求转发到不同的服务。以下是一个示例配置,假设:前端静态文件在/var/www/frontend/。后端API服务运行在http://127.0.0.1:5000。域名是example.com,其中:静态前端通过example.com访问。后端API通过example.com/api/访问。server{listen80;se
nginx日志收集、拆分、分析
. . . . .
Nginxnginx运维
Nginx的核心价值:高性能的静态服务反向代理负载均衡nginx的access_log与error_logaccess_log:指的是访问日志,我们通过访问日志可以获取用户的IP、请求处理的时间、浏览器信息等设置access_log语法:access_logpath[format[buffer=size][gzip[=level]][flush=time][if=condition]];设置访问日
Linux内核漏洞CVE-2024-1086的风险评估与修复方法
博览文库
linux运维
CVE-2024-1086是一个Linux内核的权限提升漏洞,该漏洞源于netfilter组件中的nf_tables部分。具体来说,这个漏洞允许本地攻击者利用特定的操作来触发双重释放,从而将普通用户权限提升至root权限。因此,该漏洞的风险等级被评定为中等,CVSS3.1评分为7.0。**漏洞发现时间**:该漏洞于**2024年3月28日**被公开披露,并在互联网上出现了相关的概念验证(PoC)和
struts2
工布之者
strutsstruts
s2的工作原理(图解)详解Struts2的工作原理上图来源于Struts2官方站点,是Struts2的整体结构。一个请求在Struts2框架中的处理大概分为以下几个步骤1客户端初始化一个指向Servlet容器(例如Tomcat)的请求2这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成
struts2详解
dyy_gusi
webMVCstruts
1.搭建struts2运行环境:1.1找到所需要的jar包struts2-core-xwork-core-ognl-freemarker-commons-logging-commons-fileupload-1.2编写struts2的配置文件*.jsp1.3在web.xml中加入struts2的启动配置struts2org.apache.struts2.dispatcher.ng.filter.S
【TVM教程】为 Mobile GPU 自动调优卷积网络
ApacheTVM是一个深度的深度学习编译框架,适用于CPU、GPU和各种机器学习加速芯片。更多TVM中文文档可访问→https://tvm.hyper.ai/作者:LianminZheng,EddieYan针对特定设备的自动调优对于获得最佳性能至关重要。本文介绍如何调优整个卷积网络。TVM中MobileGPU的算子实现是以template形式编写的。该template有许多可调参数(tile因子
1 vs. 0:Nginx如何为WebAssembly模块商店构建坚不可摧的安全防线?
墨瑾轩
Nginx乐园nginxwasm安全
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣在当今数字化的世界里,安全问题总是让人夜不能寐。尤其是当涉及到像WebAssembly(Wasm)这样的新兴技术时,确保其模块商店的安全性就显得尤为重要。那么,我们能否依靠Nginx来打造一个既开放又安全的WebAssembly模块分发平台呢?答案是肯定的!今
【开发日记】Docker修改国内镜像源
二饭
开发日记docker容器运维
1、问题:dockerpull镜像时提示以下内容:Errorresponsefromdaemon:Get"https://registry-1.docker.io/v2/":net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)2、解决①进入/etc/docker目录
虚拟服务器的外部跟内部端口,虚拟服务器设置 外部端口
验行客
虚拟服务器的外部跟内部端口
虚拟服务器设置外部端口内容精选换一换您可以使用镜像快速创建一个可公网访问的单实例工作负载。本章节将指导您基于云容器引擎CCE快速部署Nginx容器应用,并管理该容器应用的全生命周期,以期让您具备将云容器引擎应用到实际项目中的能力。您需要创建一个至少包含一个节点的集群,且该节点已绑定弹性IP。集群是运行工作负载的逻辑分组,包含一组云服务器资源,每台云服务器即集群中的一个节点。使用外部镜像文件创建私有
PySpark数据处理过程简析
AI天才研究院
Python实战自然语言处理人工智能语言模型编程实践开发语言架构设计
作者:禅与计算机程序设计艺术1.简介PySpark是ApacheSpark的PythonAPI,可以用Python进行分布式数据处理,它在内存中利用了ApacheHadoopYARN资源调度框架对数据进行并行处理。PySpark可以直接使用Hadoop文件系统、HDFS来存储数据,也可以通过S3、GCS、ADLS等云存储平台保存数据。因此,在不同的数据源之间移动数据时,只需要复制一次数据就可以完成
性能测试丨分布式性能监控系统 SkyWalking
霍格沃兹测试开发学社测试人社区
分布式skywalking软件测试测试开发
软件测试领域,分布式系统的复杂性不断增加,如何保证应用程序的高可用性与高性能,这是每一个软件测试工程师所面临的重大挑战。幸运的是,现在有了一些强大的工具来帮助我们应对这些挑战,其中之一便是ApacheSkyWalking。作为一款开源的分布式性能监控工具,SkyWalking不仅具备性能监控的基本功能,还支持服务依赖关系分析和故障排查等高级特性。SkyWalking的有效性体现在其能够实时监控多种
开源:小狐狸GPT付费AI-v1.9.3 小程序端增加【绘画】模块
百创科技
源码下载源码与教程gpt人工智能小程序
小狐狸GPT付费AI体验系统、系统版本更新至1.9.3,源码为小程序、H5、WEB版本,购买含更新,独立版;开源、开源、开源、可二开!!200包含H5、web的vue全开源,最新版更新了:小程序端增加【绘画】模块测试环境:系统环境:CentOSLinux7.6.1810(Core)、运行环境:宝塔Linuxv7.0.3(专业版)、网站环境:Nginx1.15.10+MySQL5.6.46+PHP-
【TVM 教程】线性和递归核
ApacheTVM是一个端到端的深度学习编译框架,适用于CPU、GPU和各种机器学习加速芯片。更多TVM中文文档可访问→https://tvm.hyper.ai/作者:TianqiChen下面介绍如何在TVM中进行递归计算(神经网络中的典型模式)。from__future__importabsolute_import,print_functionimporttvmimporttvm.testing
Maven的下载安装配置
Galaxy@
Springmybatis项目中的一些配置mavenjava
maven的下载安装配置maven是什么Maven是一个用于Java平台的自动化构建工具,由Apache组织提供。它不仅可以用作包管理,还支持项目的开发、打包、测试及部署等一系列行为Maven的核心功能项目构建生命周期管理:Maven定义了项目构建的标准流程,包括清理、编译、测试、报告、打包、安装和发布1.依赖管理:Maven自动管理项目所需的第三方库(jar包),通过在pom.xml文件中添加依
JODConverter + LibreOffice 实现在线预览 word、excel、ppt
打不死的小闫
wordexcelpowerpointjavapdfhtmllinux
JODConverter+LibreOffice实现在线预览word、excel、ppt前言文件在线预览功能需要先对文件进行转换,目前有多种实现方案,相比较之下现成的服务需要付费,免费的apachepoi实现起来比较麻烦。这里我用到一种比较简单的实现方案,基于开源的JODConverter工具+LibreOffice实现文件的转换,从而实现附件预览功能。优点:实现简单。缺点:对Linux不太熟悉的
大数据StarRocks(六) :Catalog_starroccks支持oracle外部表了吗(1)
2401_84181975
程序员大数据oracle数据库
StarRocks自2.3版本起支持Catalog(数据目录)功能,实现在一套系统内同时维护内、外部数据,方便您轻松访问并查询存储在各类外部源的数据。1.基本概念内部数据:指保存在StarRocks中的数据。外部数据:指保存在外部数据源(如ApacheHive™、ApacheIceberg、ApacheHudi、DeltaLake、JDBC)中的数据。2.Catalog当前StarRocks提供两
docker-compose中定义一个桥接网络,并为该网络配置一个IP地址池
TOUCH马术
网络dockertcp/ip容器运维
如果你想在DockerCompose中定义一个桥接网络,并为该网络配置一个IP地址池以便服务自动从中分配IP地址,你可以按照以下步骤操作:定义网络,并指定一个子网范围。设置网关地址。启用自动分配IP地址的功能。这里是一个示例docker-compose.yml文件,展示了如何定义一个包含IP地址池的桥接网络:登录后复制version:'3.9'services:web:image:nginx:la
vue路由history模式下的nginx配置
胡西风_foxww
#vue.jsnginx前端路由history配置
1.如果路由要使用history模式,需要将nigix配置为:前端配置:constrouter=newVueRouter({mode:"history",base:process.env.BASE_URL,routes,});2.nigix配置server{listen9903;server_namelocalhost;location/{root'G:\dist';index/index.htm
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